r - 将递归向量更改为原子向量以进行 t 检验
问题描述
我是 R 新手,正在尝试对两种方法进行 t 检验。我不断收到错误 is.atomic is not 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
解决方案
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)
这将给出(对于titanic
包中使用的 Kaggle 选择的训练集)
> 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
推荐阅读
- flutter - 我如何纠正 pubspec.yaml 的这个错误?
- blazor-server-side - System.Net.Http.HttpRequestException:响应状态码不表示成功:401(未授权)
- sql - Rails & Postgres 选择 JSONB 列的子键
- microsoft-graph-api - 问题主题:无法使用管理员用户凭据获取其他用户的在线会议 ID
- sql - 在 BigQuery 中的查询时间动态修改列名
- javascript - 尝试导入错误:“makeStyles”未从“@material-ui/core/styles”导出
- python - 泡菜和胶水的工作
- swift - 如何制作自定义 UITabBarController?
- python - 从 QML 到 Python Signal/Slots 的数据
- java - 关于参考对象和原始值