2013-10-23 1 views
0

두 개의 서로 다른 데이터 프레임이 있습니다. 하나에서 나는 Richness을 계산하고 다른 하나에 나는 내 코드에서 다음과 같이 내가 서로 상관 관계가하고자하는 것을 Environmental Variables 있습니다R : 상관 테스트를위한 하나의 회선 코드

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 개의 열이 있습니다. 이 모든 것에 대해 한 줄짜리 코드를 작성하는 방법에 대한 아이디어를 알려주십시오.

감사합니다. 이

+2

물론 ...'lapply (E.4, 고전을 시도합니다. 테스트, y = 리치)'. 이 예에서는 x와 y가 서로 바뀌 었습니다. –

+1

완벽한! @ SimonO101 감사합니다! – umbra

+0

한 가지 더,이 모든 상관 관계 테스트에서 p- 값을 추출하여 테이블에 추가하는 방법이 있습니까? – umbra

답변

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) 
+4

아니면 그냥'lapply (df2, cor.test, x = df1 [, 1])'할 수 있으므로 왼쪽의 주석과 동일하게됩니다. –