我有一个数字变量和几个二进制变量。我想为每个二进制变量循环一个ttest。
使用中
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]))
}