1 statistics loops r multiple-columns
我正在尝试对包含数百到数千列的数据表进行某些统计数据,例如t检验.数据的格式是我正在比较的两组值在同一列中.
所以,基本上我的第一次尝试是切割和粘贴如下;
NN <-read.delim("E:/output.txt")
View(NN)
attach(NN)
#output p-values of 100 t-tests
sink(file="E:/ttest.txt", append=TRUE, split=FALSE)
t.test(Tree1[1:13],Tree1[14:34])$p.value
t.test(Tree2[1:13],Tree2[14:34])$p.value
t.test(Tree3[1:13],Tree3[14:34])$p.value
Run Code Online (Sandbox Code Playgroud)
...... ......
随着我的数据增长,这变得越来越不切实际.有没有办法按顺序循环每个列的t检验并将输出保存到文件?
提前致谢.
lapply 我会想到一个匿名函数:
> test <- data.frame(a=1:100,b=101:200)
> lapply(test,function(x) t.test(x[1:50],x[51:100])$p.value)
$a
[1] 2.876776e-31
$b
[1] 2.876776e-31
Run Code Online (Sandbox Code Playgroud)
我应该尽力做好准备,并注意到一次运行100次t测试充满了1型错误和其他不良的可能性.孤立地提取p值也可能是一个非常糟糕的举动.