对数据集中每一行的列进行 t.test [英] doing t.test for columns for each row in data set
本文介绍了对数据集中每一行的列进行 t.test的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一组数据 x
,它由 12 列和 167 行组成.第一列是每行的化合物 Id.我想为 3 列运行 t.test
作为一组,其他 3 组作为第二组,分别为每行运行.我的代码如下,但它不起作用.
I have a set of data x
which consists of 12 columns and 167 rows. The first column is compound Id for each row. I want to run a t.test
for 3 column as one group and the other 3 groups as the second group, separately for each row. My code is as below but it does not work.
for (i in 1:nrow(x)) {
function(i)c(compound=i,
t.test(x[2:4],x[8:10],
x[x$compound==i, ],
alternative='two.sided',conf.level=0.95)
)
}
print(c(compound=i,t.test(x[2:4],x[8:10],x[x$compound==i,],
alternative='two.sided',conf.level=0.95)))
我的目的是对 AC 组和 SC 组之间的每种代谢物(化合物)进行 t.test
,这是两组细胞.
My intention was doing a t.test
for each metabolite (compound) between AC groups and SC groups, these are two group of cells.
compound AC-1 AC-2 AC-3 AM-1 AM-2 AM-3 SC-1 SC-2 SC-3 SM-1 SM-2 SM-3
alanine 27612820 22338050 15359640 19741350 18726880 18510800 10914980 12071660 16036180 16890860 16066960 16364300
arginine 7067206 7172234 5933320 136272600 131596800 134717600 6102838 7186256 6770344 140127100 155341300 151748000
asparagine 3151398 2141378 1240904 11522180 8907711 9842342 1677299 2265826 2942991 11690360 12552660 12102620
推荐答案
x$stat <- sapply(1:nrow(x), function(i) t.test(as.numeric(as.character(unlist(x[i,2:4]))), as.numeric(as.character(unlist(x[i,8:10]))))[c("p.value")])
这篇关于对数据集中每一行的列进行 t.test的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文