результаты, возвращаемые альфа-функцией в psych pkg, неверны - PullRequest
0 голосов
/ 13 января 2020

Пожалуйста, обратите внимание на следующий код для получения баллов от функции alpha

library(psych)

vars <- c('mpg', 'cyl', 'disp', 'hp')
df <- mtcars[0:10, vars]

alpha_results <- alpha(df, check.keys=TRUE)
df$scores <- alpha_results$scores

print(head(df))
 mpg cyl disp  hp  scores
21.0   6  160 110 154.750
21.0   6  160 110 154.750
22.8   4  108  93 136.550
21.4   6  258 110 179.150
18.7   8  360 175 222.075
18.1   6  225 105 170.475

 Item statistics 
      n raw.r std.r r.cor r.drop  mean   sd
mpg- 10  0.86  0.94  0.91   0.85 343.6  2.9
cyl  10  0.91  0.96  0.94   0.91   5.8  1.5
disp 10  0.98  0.93  0.90   0.85 208.6 90.4
hp   10  0.94  0.95  0.94   0.85 122.8 51.4

На основе do c функции:

По умолчанию баллы - это просто средний ответ для всех предметов, которые принимал участник. Если кумулятивный = ИСТИНА, то это сумма баллов. Обратите внимание, что это опасно, если пропущено много значений

Однако, например, оценка для первых наблюдателей должна быть

(-21.0 + 6 + 160 + 110)/4 = 63.75

Но вместо этого результат составил 154,750.

1 Ответ

2 голосов
/ 15 января 2020

Функция alpha на самом деле не предназначена для поиска множества данных с радикально различными диапазонами. Основываясь на обычном сценарии использования предметов с одинаковыми диапазонами, он корректирует перевернутые оцененные предметы, вычитая эти предметы из максимального значения + минимального значения. Например, для автомобилей это 360 + 4 или 364. Таким образом, первое значение равно (364 - 21 + 6 + 160 + 110) / 4 = 154,75, как сообщается.

scoreItems функция найдет локальные мин и макс (как и alpha); или вы можете указать их.

Чтобы получить то, что вы хотите, вы должны использовать функцию scoreItems и указать клавиши, а также min=0 и max=0.

Обратите внимание, что я использую функцию cs (от psychTools, адаптировано от Hmisc) для добавления "" в команду keys <- list

keys <- list(cars=cs(-mpg, cyl,disp,hp))
test1 <-scoreItems(keys,df,min=0,max=0)
test1$scores
                     cars
Mazda RX4          63.750
Mazda RX4 Wag      63.750
Datsun 710         45.550
Hornet 4 Drive     88.150
Hornet Sportabout 131.075
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...