对多列数据执行统计

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检验并将输出保存到文件?

提前致谢.

the*_*ail 6

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值也可能是一个非常糟糕的举动.

  • "请注意,单次运行100次t测试充满了类型1错误的可能性"+1警告. (2认同)