R:用于相关性测试的一行代码

时间:2013-10-23 09:25:17

标签: r

我有两个不同的数据框。从我计算的Richness和另一个Environmental Variables开始,我希望在我的代码中跟随彼此关联:

cor.test(Richness, E.4$Temp...C.)
cor.test(Richness, E.4$Cond..µS.cm.1.)
cor.test(Richness, E.4$pH)
cor.test(Richness, E.4$Alkalinity.Gran..mequiv.m.3.)
cor.test(Richness, E.4$HCO3)
cor.test(Richness, E.4$NO3.N..mg.m.3.)
cor.test(Richness, E.4$SO4..mg.l.)

这只是一个简短的例子。 E.4数据帧有30列。你能不能请教我如何为这一切编写一行代码?

谢谢!

1 个答案:

答案 0 :(得分:0)

你去了:

df1 <- data.frame(Richness = 1:100)
df2 <- data.frame(Var1 = df1$Richness + rnorm(100), Var2 = rnorm(100))


lapply(1:ncol(df2), function(x) cor.test(df1$Richness, df2[ ,x]))

更新

对于您可以使用的p值:

sapply(1:ncol(df2), function(x) cor.test(df1$Richness, df2[ ,x])$p.value)