Заменить рекурсивный вектор на атомный вектор для t-теста - PullRequest
0 голосов
/ 19 октября 2019

Я новичок в R и пытаюсь запустить t-тест для двух средств. Я продолжаю получать ошибку is.atomic не TRUE. Я знаю, что мне нужно сделать свои данные атомарными, но я не нашел способа в сети.

Я запустил код для проверки рекурсивности данных и выполнил as.data.frame (mydata).

titanic_summary <- data.frame(Outcome = c("Survived", "Died"), 
             Mean_Age = c(28.34369, 30.62618),
             N = c(342, 549),
             Total_Missing = c(52, 125))
titanic_summary

Выполнить тест статистики (два примера T-теста)

str(titanic_summary)

as.data.frame(titanic_summary)
is.atomic(titanic_summary)
is.recursive(titanic_summary)

titanic_test <- titanic_summary %>%
  t.test(Outcome~Mean_Age)

Ошибка в var (x): is.atomic (x) не TRUE

1 Ответ

0 голосов
/ 19 октября 2019

t.test не работает так, как вы думаете. Чтобы избежать этой конкретной ошибки, вы могли бы вместо этого использовать что-то вроде titanic_test <- t.test(Mean_Age ~ Outcome, data = titanic_summary), но это просто привело бы к другим ошибкам, что сводится к реальному вопросу:

Вы, вероятно, хотите увидеть, может ли быть связь междувозраст и выживаемость, т. е. значительна ли разница в среднем возрасте 2.28249, но для этого

вам потребуются отдельные возрасты или некоторая дополнительная информация о дисперсии. Если вы используете подробный набор данных, то я подозреваю, чтото, что вы действительно хотите, это что-то вроде этого:

library(titanic)
titanic_test <- t.test(Age ~ Survived, data = titanic_train)

, что даст (для выбранного Kaggle обучающего набора, используемого в пакете titanic)

> titanic_test

        Welch Two Sample t-test

data:  Age by Survived
t = 2.046, df = 598.84, p-value = 0.04119
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 0.09158472 4.47339446
sample estimates:
mean in group 0 mean in group 1 
       30.62618        28.34369 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...