T.test 对于 R 中的每一行
T.test for each row in R
我正在处理两个数据帧,它们都有 20502 行,我想用一个数据帧的第一行和另一个数据帧的第一行来执行一个 t.test
,直到 20502两个数据框的行。
ps:我的数据框中有缺失值 (NA)
如果我理解您的正确做法,这不是使用 data.frames 的典型方式 - 通常,列 应该独立存在作为变量,而不是行,data.frame 可用工具的主机利用了这个假设。话虽如此,下面的 data.frames A
和 B
...
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
我正在处理两个数据帧,它们都有 20502 行,我想用一个数据帧的第一行和另一个数据帧的第一行来执行一个 t.test
,直到 20502两个数据框的行。
ps:我的数据框中有缺失值 (NA)
如果我理解您的正确做法,这不是使用 data.frames 的典型方式 - 通常,列 应该独立存在作为变量,而不是行,data.frame 可用工具的主机利用了这个假设。话虽如此,下面的 data.frames A
和 B
...
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