Пытаясь вычислить d Коэна для числовых переменных в моем фрейме данных, используя двоичную переменную, что идет не так? - PullRequest
0 голосов
/ 22 января 2019

У меня есть фрейм данных, который включает участников из двух групп, а также несколько числовых значений с их стандартизированными результатами. Я рассчитываю рассчитать коэновское число d и число студентов для каждой переменной. (Я знаю, что проведение нескольких t-тестов не является хорошей практикой, однако в этом контексте все в порядке).

Я использую функцию cohen.d в пакете psych, однако всякий раз, когда я пытаюсь вызвать функцию, я получаю следующую ошибку

Error in psych::cohen.d(cohen_df, cohen_df$LOWvsHigh, alpha = 0.05,  : 
  object 'group.in' not found

Данные:

set.seed(24)
cohen_df <- data.frame(
  LOWvsHigh = sample(0:1, 24, replace = TRUE),
  v1 = rnorm(24),
  v2 = rnorm(24),
  v3 = rnorm(24)
)

Затем я указываю этот набор данных вместе с переменной группировки cohen_df$LOWvsHigh в функции:

cohen.d(cohen_df, cohen_df$LOWvsHigh, alpha = 0.05, std = TRUE, dictionary = NULL)

Однако я получаю указанную выше ошибку вместе со следующими дополнительными предупреждениями:

In addition: Warning messages:
1: In cor(diffs, use = use, method = method) :
  the standard deviation is zero
2: In cov2cor(xvals$rwg) :
  diag(.) had 0 or NA entries; non-finite result is doubtful
3: In cor(new.data[, (nvar + 1):ncol(new.data)], diffs, use = "pairwise",  :
  the standard deviation is zero

При более внимательном рассмотрении кода в функции кажется, что моя группирующая переменная не прошла первый тест, так как она не имеет длины 1 и не найдена в именах моего информационного кадра, однако я не уверен, как изменить его, чтобы он соответствовал этим критериям, оставаясь при этом переменной группировки.

function (x, group, alpha = 0.05, std = TRUE, dictionary = NULL) 
{
    cl <- match.call()
    if ((length(group) == 1) && (group %in% colnames(x))) {
        group <- which(colnames(x) %in% group)
        group.in <- TRUE
    }
...

Любая помощь очень ценится, и если у вас есть другие предложения, они тоже приветствуются.

Я пытался использовать t.test, однако вызывать каждую переменную по отдельности утомительно.

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...