Достаточно очевидная гипотеза: есть ли связь между интеллектом и временем прохождения теста. Я постараюсь сделать пост так, чтобы он был интересен и тем, кто работает в R, и тем, кого просто результаты интересуют. Т.е. я буду показывать как диаграммы, так и код.
Если Вы работаете в R, у вас должны быть установлены два пакета:
"devtools" "HRanalytics"Установить их можно так, как указано по ссылке Пакет R HR analytics для HR аналитиков. В пакете HRanalytics собраны часть результатов нашего исследования факторов эффективности и текучести персонала, и, если кто-то помнит, респонденты могли пройти тесты Лаборатории Гуманитарные Технологии:
- тест способностей КТО
- личностный опросник Big5
0:28:38 0:27:40 0:28:51 0:21:30Т.е. у нас сразу встает задача перевести данный формат в удобоваримый. Давайте по порядку.
Загружаем необходимые пакеты
library(dplyr)э library(HRanalytics) data(survey) str(survey)В файле survey куча ненужных нам переменных, поэтому мы формируем отдельный файл в помощью команды select пакета dplyr
tests1 =select(survey, overall=Ш1...ОБЩИЙ.БАЛЛ., time=ПРОДОЛЖИТЕЛЬНОСТЬ ) tests1 = tests1[complete.cases(tests1$time),]Вторая команда нужна, чтобы убрать много пустых строк: у нас далеко не все респонденты проходили тесты. Итого у нас 1 208 строк, что достаточно для исследования. Теперь самое интересное: давайте переведем наш формат времени в минуты.
obj = strsplit(as.character(tests1$time), ":") # делим текст на объекты по запятой obj[1:5] # посмотрим, что представляет из себя объект tests1$часы = as.integer(lapply(obj, '[', 1)) # превращаем последовательно объект в часы, минуты и секунды tests1$минуты = as.integer(lapply(obj, '[', 2)) tests1$секунды = as.integer(lapply(obj, '[', 3)) tests1$времятеста = tests1$часы*60+tests1$минуты+tests1$секунды/60 # а теперь сведем в одну переменную tests1$времятеста = round(tests1$времятеста, 1) # ограничим одним знаком # ну и для марафета ограничимся одним знаком после запятойИ посмотрим, что из себя время прохождения теста представляет
summary(tests1$времятеста) Min. 1st Qu. Median Mean 3rd Qu. Max. 3.60 22.37 25.45 35.47 28.90 1092.00Диаграмма
hist(tests1$времятеста)
Не очень интересная картина: видите справа свыше 1000 минут кто-то проходил? Это явно либо баг системы, либо просто респонденты оставляли тесты незавершенными, уходили куда-то, не выйдя из системы. Поэтому я с потолка беру идею: все, что больше часа по прохождению, означает, что респондент отвлекался от прохождения теста. Обрезаю по 60 минут и заново строю диаграмму
tests2 = subset(tests1, tests1$времятеста <= 60) hist(tests2$времятеста) summary(tests2$времятеста) Min. 1st Qu. Median Mean 3rd Qu. Max. 3.60 22.20 25.40 25.97 28.60 59.10Эти результаты кажутся более осмысленным, хотя стоило бы еще как-то обрезать слева: ну нереально пройти батарею тестов за 3.6 минуты, согласны?
Распределение кажется нормальным, но давайте все-таки проверим распределение на нормальность с помощью теста Шапиро-Уилка
shapiro.test(tests2$времятеста) Shapiro-Wilk normality test data: tests2$времятеста W = 0.92625, p-value < 2.2e-16 > shapiro.test(tests2$overall) Shapiro-Wilk normality test data: tests2$overall W = 0.99435, p-value = 0.0002018P-value менее 0, 05 говорит нам о том, что распределение обоих переменных распределено ненормально, значит для проверки гипотезы о наличии связи между временем прохождения теста и интеллектом мы должны применять не коэффициент корреляции Пирсона, а непараметрический - Спирмена.
hist(tests2$overall)А на диаграмме распределение ответов по шкале общих способностей теста КТО кажется вполне нормальным
Давайте теперь проверим гипотезу о наличии взаимосвязи между интеллектом и временем прохождения теста с помощью коэффициента корреляции Спирмена
cor.test(tests2$времятеста, tests2$overall, method = c("spearman") ) Spearman's rank correlation rho data: tests2$времятеста and tests2$overall S = 317090000, p-value = 8.552e-09 alternative hypothesis: true rho is not equal to 0 sample estimates: rho -0.166812p-value = 8.552e-09 и означает, что связь есть, -0.166812 связь не очень тесная, но она есть и она отрицательная. Последнее выглядит логичным: чем больше время прохождения теста, тем меньше интеллект.
Визуализируем
По оси X время прохождения теста в минутах, по оси Y - результаты теста КТО, шкала общих способностей. Для очистки совести я убрал тех, кто проходил тесты менее 15 минут (предполагая, что эти респонденты просто бросали тест, не выполняя его до конца)
> tests3 = subset(tests2, tests2$времятеста >= 15) > cor.test(tests3$времятеста, tests3$overall, method = c("spearman") ) Spearman's rank correlation rho data: tests3$времятеста and tests3$overall S = 310710000, p-value = 2.575e-13 alternative hypothesis: true rho is not equal to 0 sample estimates: rho -0.2130846P-value и коэффициент корреляции показывают более высокую связь, чем в предыдущем случае. Таким образом, мы можем говорить о наличии связи между временем прохождения теста и интеллектом (шкалой общих способностей теста КТО).
__________________________________________________________
На этом все, читайте нас в фейсбуке, телеграмме и вконтакте
Комментариев нет:
Отправить комментарий