如何使用跨 r 列的 t 检验循环中的 p 值创建数据框?
How to create dataframe with p-values from a t-test loop across columns in r?
我有两个值矩阵,代表两个队列,横跨 166 列,代表天数(例如 Day1
)。
condition_1
Day1 Day2 Day3 ... Day166
person1 27 38 94 40
person2 69 16 85 47
person3 99 30 90 50
person4 69 88 35 4
和
condition_2
Day1 Day2 Day3 ... Day166
person1 55 34 17 33
person2 39 77 21 86
person3 98 30 13 71
person4 61 15 29 98
我想循环成对的 t.test()
,它比较每个条件下相应日期的均值,并按天创建一个具有 p 值的新向量,如下所示:
p-value
Day1 0.5
Day2 0.7
Day3 0.88
Day4 0.001
你可以试试这个:
data.frame(
"p-value" = sapply(1:166, \(x) t.test(condition_1[,x],condition_2[,x], paired=T)$p.value),
row.names = paste0("Day",1:166)
)
(注意:如果您使用 R<4.1,请使用 function(x)
而不是 \(x)
)
输出:(前六行)
p.value
Day1 0.60042478
Day2 0.05388822
Day3 0.81511287
Day4 0.16105380
Day5 0.89930687
Day6 0.89607922
我有两个值矩阵,代表两个队列,横跨 166 列,代表天数(例如 Day1
)。
condition_1
Day1 Day2 Day3 ... Day166
person1 27 38 94 40
person2 69 16 85 47
person3 99 30 90 50
person4 69 88 35 4
和
condition_2
Day1 Day2 Day3 ... Day166
person1 55 34 17 33
person2 39 77 21 86
person3 98 30 13 71
person4 61 15 29 98
我想循环成对的 t.test()
,它比较每个条件下相应日期的均值,并按天创建一个具有 p 值的新向量,如下所示:
p-value
Day1 0.5
Day2 0.7
Day3 0.88
Day4 0.001
你可以试试这个:
data.frame(
"p-value" = sapply(1:166, \(x) t.test(condition_1[,x],condition_2[,x], paired=T)$p.value),
row.names = paste0("Day",1:166)
)
(注意:如果您使用 R<4.1,请使用 function(x)
而不是 \(x)
)
输出:(前六行)
p.value
Day1 0.60042478
Day2 0.05388822
Day3 0.81511287
Day4 0.16105380
Day5 0.89930687
Day6 0.89607922