【发布时间】:2021-09-07 02:42:42
【问题描述】:
我想通过 F1 ~ F4 重复执行基于年龄组的两样本 t 检验。 这是我的数据(真实数据集有超过 1000 行)。我从两个国家的 4 个年龄段收集数据。
group country F1 F2 F3 F4
1 1 0.2 0.2 1.3 7.1
2 2 1.3 0.1 2.1 1.1
1 2 2.1 4.6 0.2 3.2
4 1 0.4 0.1 2.5 5.1
3 1 0.1 0.8 3.7 4.4
我尝试使用 group_by 函数来划分组 并使用 lapply 函数多次进行 t 检验 但它不起作用。 第一个错误是 '.[-c(1, 2, 3)]' 不是函数、字符或符号。 这里我想排除不需要做t检验的前三列。
df_M %>%
group_by(group) %>%
lapply(.[-c(1,2,3)], function(x) t.test(x ~ .$country))
所以我尝试先执行 group_by 函数,例如:
test <- df_M %>%
group_by(group)
t.test <- lapply(test [-c(1,2,3)], function(x) t.test(x ~ test $country))
但第二个问题来了,我没有得到我想要的,而是国家 1 和 3 之间 F1~F4 的 t 检验,没有进一步基于不同的组。
如果我按组创建不同的数据框可以解决,例如:
G1 <- filter(df_M, df_M$group == 1)
G1_ttest <- lapply(G1[-c(1,2,3)], function(x) t.test(x ~ G1$country))
【问题讨论】:
-
“不起作用”到底是什么意思?你有错误吗?如果是这样,错误是什么?你得到了你不期望的输出吗?如果是这样,您将其与什么进行比较?如果你要手动写出你想用完的命令,那会是什么样子?看起来第2组只有一个国家。在这种情况下,您到底在测试什么?
-
@MrFlick 感谢您的提问。我更新描述。关于我想测试的是,我想知道 2 个国家之间每组 4 个因素的差异。例如,在第 1 组中,F1 的国家 1 和国家 3 之间是否存在显着差异。
-
嗯,由于某些组只有一个国家/地区,因此实际上不可能测试您提供的样本数据的假设。请更改您的样本数据,以便实际上可以测试该特定假设或描述在这种情况下应该发生什么。
标签: r