T.test 对于 R 中的每一行

T.test for each row in R

我正在处理两个数据帧,它们都有 20502 行,我想用一个数据帧的第一行和另一个数据帧的第一行来执行一个 t.test,直到 20502两个数据框的行。

ps:我的数据框中有缺失值 (NA)

如果我理解您的正确做法,这不是使用 data.frames 的典型方式 - 通常, 应该独立存在作为变量,而不是行,data.frame 可用工具的主机利用了这个假设。话虽如此,下面的 data.frames AB...

A <- as.data.frame(matrix(1:12,nrow=3,ncol=4))
A
##   V1 V2 V3 V4
## 1  1  4  7 10
## 2  2  5  8 11
## 3  3  6  9 12

B <- as.data.frame(matrix(2:13,nrow=3,ncol=4))
B
##   V1 V2 V3 V4
## 1  2  5  8 11
## 2  3  6  9 12
## 3  4  7 10 13

...您想要做的是 c(1,4,7,10)c(2,5,8,11) 的 2 样本 t 检验,每一行,一直向下。你可以到达那里

pvals <- rep(NA, nrow(A))
for(i in 1:nrow(A)) pvals[i] <- t.test(A[i,],B[i,])$p.value