如何在apply函数中使用cor.test?

时间:2019-04-05 18:29:50

标签: r

我有一个非常大的csv文件(dat2),我正在尝试使用cor.test获得将一列(Age)与其他多列(Age之后的每一列)进行比较的p值。然后我需要打印p值。我使用for循环来使它工作,但是要花很长时间。我想使用Apply函数,因为我认为它将缩短编译时间?

##部分是有效的for循环。

b <- apply(dat2[,-1], 1(,4:ncol(dat2)), cor.test(dat2(Age), method="pearson", use="pairwise"))
sapply(b, "[[", "p.value")

## for (i in 4:ncol(dat2)) {
## a <- cor.test(dat2[,3], dat2[,i], method="pearson", use="pairwise")
## print(paste(colnames(dat2)[i], " p=value:", a$p.value))
## }

1 个答案:

答案 0 :(得分:0)

您步入正轨,但几乎没有犯错。检查以下代码,我相信它会产生您想要的输出

b = apply(df2[, -1], 2, function(x) {
    cor.test(df2[, 1], x, method = "pearson", use = "pairwise")
})

p.vals <- sapply(b, "[[", "p.value")
p.vals

country   value 
      0       0