HW8 // Описательные статистики. Корреляционный анализ
Сегодня поработаем с данными об успеваемости учеников младших классов. Датасет содержит следующие переменные:
gender
— пол ученикаrace/ethnicity
— этническая принадлежность ученикаparental level of education
— уровень образования родителейlunch
— рацион ученика в школеtest preparation course
— завершил ли ученик курс подготовки к тестированиюmath score
— балл по математикеreading score
— балл по чтениюwriting score
— балл по правописанию
Основные задания
#1
Загрузите данные. Проверьте их структуру. При необходимости скорректируйте типы и названия переменных.
Описание формата инпута.
Подсказки
Как делать задание?
Что надо сделать?
Ответ неверный
#2
Исследуйте данные.
- Проверьте, есть ли в данных пропущенные значения.
- Посмотрите, сбалансирована ли выборка по полу.
- Посмотрите, сбалансирована ли выборка по рациону.
- Посмотрите, сбалансирована ли выборка по прохождению подготовительного теста.
Описание формата инпута.
Подсказки
- Проверить наличие пропущенных значений можно с помощью функций
apply()
,is.na()
иsum()
. - Проверить сбалансированность выборки по категориальным переменным можно построив таблицу частот с помощью функции
table()
.
#3
Постройте разведочные визуализации для переменных math score
, reading score
и writing score
.
- Визуализируйте распределения этих переменных.
- Добавьте на график с распределениям разбиение по прохождению курса подготовки к тестированию (
test preparation course
).
Описание формата инпута.
Подсказки
- Для визуализации распределения в пункте a достаточно построить гистограммы по указанным переменным.
- Чтобы упростить выполнение пункта b, стоит расположить гистограммы на одном графике.
- Чтобы разбить добавить разбиение распределений по переменной, необходимо фасетировать график по этой переменной.
#4
- Рассчитайте описательные статистики по переменным
math score
,reading score
,writing score
. - Добавьте к расчету описательных статистик разбиение по переменной
test preparation course
.
Описание формата инпута.
Подсказки
- Рассчитать описательные статистики можно с помощью функции
summarise()
или использовать функциюdescribe()
из пакетаpsych
. - Добавить к подсчету описательных статистик разбиение по какой-либо переменной можно с помощью функции
group_by()
или с помощью аргумента.by
функцииsummarise()
, однако можно использовать и функциюdescribeBy()
из пакетаpsych
.
#5
Постройте корреляционную матрицу по переменным math score
, reading score
, writing score
.
Описание формата инпута.
Подсказки
Как делать задание?
Что надо сделать?
Ответ неверный
#6
Экспортируйте получившуюся в предыдущем задании матрицу как таблицу, оформленную по стандартам APA.
Описание формата инпута.
Подсказки
Для экcпорта красивых форматированных таблиц написан пакет apaTables
. В ней есть функция apa.cor.table()
, которая позволяет форматировать и экспортировать корреляционную матрицу.
#7
Визуализируйте корреляционную матрицу, получившуюся в задании 5.
Описание формата инпута.
Подсказки
- Корреляционную матрицу легко визуализировать с помощью функции
ggcorrplot()
из пакетаggcorrplot
. - Так как
ggcorrplot
является расширениемggplot2
, то экспортировать графика можно с помощью функцииggsave()
.
#8
В корреляционной матрице мы наблюдаем крайне высокую корреляцию между баллами по чтению и правописанию, что вполне логично. Давайте удостоверимся в том, что корреляция статистически значима.
Протестируйте гипотезу о статистической значимости коэффициента корреляции между баллами по чтению и правописанию.
Описание формата инпута.
Подсказки
Как делать задание?
Что надо сделать?
Ответ неверный
#9
Оформите результаты корреляционного анализа в формате APA.
Описание формата инпута.
Подсказки
Чтобы форматировать результаты корреляционного анализа в APA-формате, написан пакет report
, в котором живет функция report()
. В неё необходимо передать объект с результатам корреляционного анализа.
#10
В данном случае мы столкнулись с очень высокой корреляцией, однако, увы, это не всегда так. Рассчитайте объем выборки, требуемый для достижения достаточной статистической мощности, если мы ожидаем в исследовании корреляцию порядка 0.2.
Описание формата инпута.
Подсказки
Рассчетом объема выборки занимается пакет pwr
, в котором есть функция pwr.r.test()
.
Дополнительные задания
#1
Выше мы проверяли достаточно очевидные гипотезы. Однако данные позволяют протестировать и более веселые.
Проверьте, если ли связь между тем, какой рацион у учащегося, и тем, завершил ли он курс по подготовке к тестированию или нет.
Описание формата инпута.
Подсказки
Для того, чтобы проверить гипотезу о связи между двумя категориальными переменными, необходимо использовать критерий независимости Пирсона \(\chi^2\). Реализовать этот статистический тест можно с помощью функции chisq.test()
.
#2
Рассчитайте корреляцию между переменными из предыдущего задания.
Описание формата инпута.
Подсказки
Привести статистику \(\chi^2\) к значению корреляции можно по формуле \(\varphi = \sqrt{\frac{\chi^2}{N}}\). Полученное значение будет \(\phi\)-коэффициентом, который является коэффициентом корреляции для категориальных переменных.
#3
Визуализируйте результат, получившися в первом дополнительном задании.
Описание формата инпута.
Подсказки
Для визуализации связи между двумя категориальными переменными используется тип графика mosaic plot. Построить его можно с помощью функции geom_mosaic()
. Для этого необходимо установить и полдключить пакет ggmosaic
.
#4
Интересно было бы посмотреть, есть ли связь между завершением подготовительного курса и баллом по математике.
Протестируйте гипотезу об отсутствии связи между переменными math score
и test preparation course
.
Описание формата инпута.
Подсказки
Как делать задание?
Что надо сделать?
Ответ неверный
#5
Визуализируйте результат, получившися в предыдущем задании.
Описание формата инпута.