我有一个命令:
t.test(df$gene1[1:20],df$gene1[21:40],alternative=c("two.sided"))
这会返回我的数据框中“gene1”列中两组之间的双边 t 检验: 第 1 组:第 1-20 行中的值 第 2 组:第 21-40 行中的值。
我想在 99 列上迭代此命令,以返回基因 1-99 中两组的 t 检验的 p 值。
我该怎么做?
是否有更好的命令来返回单列中特定值的双边 t 检验,其中不包括列的特定名称?
我已经尝试过:
lapply(df[-1], function(x) t.test(df$gene1[1:20],df$gene1[21:40],alternative=c("two.sided")))
返回 99 个 t 检验,但显然它们都在测试同一列:gene1。
您的
lapply
正在处理每一列,但您忽略了列数据。你说function(x)
,所以使用x
。
lapply(df[-1], function(x) t.test(x[1:20], x[21:40], alternative="two.sided"))