在 R 中的列上循环 t.test
Loop t.test over columns in R
我有一个数字变量和几个二进制变量。
我想为每个二进制变量循环测试。
正在使用
library(boot)
df <- nuclear
两者
t.test(df$cost, df[6])
和
t.test(df$cost, df$pr)
给我同样的结果。
但是,如果我想循环播放它,我将执行以下操作:
for(i in 6:9) {
t.test(df$cost, df[i])
}
然后没有给出任何输出。
我怎样才能在这里得到结果,为什么这个输出被抑制了?
使用lapply的解决方案:
library(boot)
df <- nuclear
list_of_ttests <- lapply(6:9, function(i){
t.test(df[,1], df[,i])
})
这会生成一个 t 检验列表并将它们保存到一个列表中。
如果只是缺少输出,只需要加上print
.
library(boot)
df <- nuclear
for(i in 6:9) {
print(t.test(df$cost, df[i]))
}
我有一个数字变量和几个二进制变量。 我想为每个二进制变量循环测试。
正在使用
library(boot)
df <- nuclear
两者
t.test(df$cost, df[6])
和
t.test(df$cost, df$pr)
给我同样的结果。 但是,如果我想循环播放它,我将执行以下操作:
for(i in 6:9) {
t.test(df$cost, df[i])
}
然后没有给出任何输出。
我怎样才能在这里得到结果,为什么这个输出被抑制了?
使用lapply的解决方案:
library(boot)
df <- nuclear
list_of_ttests <- lapply(6:9, function(i){
t.test(df[,1], df[,i])
})
这会生成一个 t 检验列表并将它们保存到一个列表中。
如果只是缺少输出,只需要加上print
.
library(boot)
df <- nuclear
for(i in 6:9) {
print(t.test(df$cost, df[i]))
}