Как исправить мое сообщение об ошибке t.test в R, в котором нет пропущенного значения?

Мой фрейм данных следующий:

    Df <- structure(list(SES = c("High", "High", "High", "Low", "High", 
"Low", "High", "High", "High", "Low", "Low", "Low", "High", "High", 
"Low", "High", "High", "Low", "High", "High", "Low", "High", 
"Low", "Low", "Low", "Low", "High", "Low", "High", "Low", "High", 
"High", "Low", "High", "Low", "High", "High", "High", "Low", 
"High", "High", "Low", "Low", "High", "Low", "Low", "Low", "Low", 
"High", "High", "Low", "High"), entry_age = c(12, 2.5, 7, 2.5, 
2.5, 12, 9, 2.5, 3, 8, 12, 2.5, 5.5, 6, 2.5, 2.5, 2.5, 16, 12, 
5, 7, 2.5, 12, 2.5, 2.5, 12, 12, 12, 6, 24, 2.5, 2.5, 2, 3.5, 
2.5, 2.5, 2.5, 4, 7, 12, 7, 9, 12, 6, 18, 15, 8, 12, 2.5, 6, 
10, 5)), row.names = c(NA, -52L), class = c("tbl_df", "tbl", 
"data.frame"))

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

t.test(Df$SES, Df$entry_age)

Так ооочень легко, ничего сложного. Однако я получаю следующий код ошибки, который я не понимаю:

Error in if (stderr < 10 * .Machine$double.eps * max(abs(mx), abs(my))) stop("data are essentially constant") : 
  missing value where TRUE/FALSE needed
In addition: Warning messages:
1: In mean.default(x) :
  l'argument n'est ni numérique, ni logique : renvoi de NA
2: In var(x) : NAs introduced by coercion

Я провел тест NA, и его нет.

Не могли бы вы мне помочь, пожалуйста? Извините за этот очень низкий вопрос, но не нашел смысла этого сообщения об ошибке в Google.

Вы получите мою бесконечную благодарность

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
0
0
16
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Посмотрите на help('t.test'), чтобы понять использование; как вы это называете, он ожидает проверки значений между группами x=Df$SE (что не то, что вам нужно) и y=Df$entry_age. Тогда попробуйте это:

Df <- structure(list(SES = c("High", "High", "High", "Low", "High", 
"Low", "High", "High", "High", "Low", "Low", "Low", "High", "High", 
"Low", "High", "High", "Low", "High", "High", "Low", "High", 
"Low", "Low", "Low", "Low", "High", "Low", "High", "Low", "High", 
"High", "Low", "High", "Low", "High", "High", "High", "Low", 
"High", "High", "Low", "Low", "High", "Low", "Low", "Low", "Low", 
"High", "High", "Low", "High"), entry_age = c(12, 2.5, 7, 2.5, 
2.5, 12, 9, 2.5, 3, 8, 12, 2.5, 5.5, 6, 2.5, 2.5, 2.5, 16, 12, 
5, 7, 2.5, 12, 2.5, 2.5, 12, 12, 12, 6, 24, 2.5, 2.5, 2, 3.5, 
2.5, 2.5, 2.5, 4, 7, 12, 7, 9, 12, 6, 18, 15, 8, 12, 2.5, 6, 
10, 5)), row.names = c(NA, -52L), class = c("tbl_df", "tbl", 
"data.frame"))

t.test(entry_age~SES, data=Df)
#> 
#>  Welch Two Sample t-test
#> 
#> data:  entry_age by SES
#> t = -2.9888, df = 35.479, p-value = 0.005059
#> alternative hypothesis: true difference in means between group High and group Low is not equal to 0
#> 95 percent confidence interval:
#>  -6.695627 -1.280563
#> sample estimates:
#> mean in group High  mean in group Low 
#>           5.303571           9.291667

Created on 2022-05-17 by the reprex package (v2.0.1)

Я и ржавый, и глупый, моему возвращению R нужно много освежиться

Laudine Carbuccia 17.05.2022 12:10

Другие вопросы по теме