Ошибка в t-тесте: недостаточно x-наблюдений

#r #na #t-test

#r #na #t-тест

Вопрос:

У меня возникают проблемы с вычислением t-теста. Сначала некоторая справочная информация: я пытаюсь сравнить значения мужчин и женщин, и для запуска t-теста мне сначала пришлось создать однопеременные только для мужских значений и только для женских значений, что мне понравилось:

 occupation_attr_m <- filter(ds, sex == "male")  %>% pull(occupation_attr)
occupation_attr_m

occupation_attr_f <- filter(ds, sex == "female")  %>% pull(occupation_attr)
occupation_attr_f
  

Однако, теперь, когда я пытаюсь вычислить свой t-тест, я получаю сообщение об ошибке, что недостаточно x-наблюдений. Что я могу сделать? В переменных, которые я создал выше, довольно много NAS, и я попытался избавиться от них, добавив «na.rm = TRUE» в t-тест, но это не помогло.

Вот как я пытался рассчитать свой t-тест:

 H5b <- t.test(as.numeric(ds$occupation_attr_f), as.numeric(ds$occupation_attr_m), na.rm = TRUE)
H5b
  

Заранее большое вам спасибо за любые советы!!

Комментарии:

1. Если вы посмотрите на источник stats:::t.test.default (который вы используете), это сообщение об ошибке появляется дважды ( github.com/wch/r-source/blob/trunk/src/library/stats/R /… и github.com/wch/r-source/blob/trunk/src/library/stats/R /… ), оба полагаются на длину x и y . (1) Проверьте свои occupation_attr_* переменные и найдите ту, которая имеет длину 0 или 1, которая является виновником; (2) посмотрите ds , чтобы убедиться, что регистр / правописание в sex значениях правильные, возможно, это на самом деле верблюжий регистр или что-то еще ( == чувствительно к регистру).

2. Если это не проясняет ситуацию, пожалуйста, предоставьте некоторые репрезентативные выборочные данные, возможно df %>% group_by(sex) %>% head(3) %>% select(sex, occupation_attr) %>% dput(.) (намереваясь получить несколько из обоих, но не больше данных, чем нам действительно нужно). (Использование dput важно, поскольку оно выявляет неоднозначности, которые может скрывать обычный вывод на консоль (например, factor s).