2016-11-03 2 views
0

내 데이터 프레임은 result입니다. 그것은 같은 형식이열 이름으로 반복하십시오.

,

내가 org_A 및 X, 및 org_A 및 Y, 그리고 마지막 org_A 및 Z를 비교하는 wilcox.test를 사용하고 p- 값을 인쇄 할
org_A  X  Y   Z 
130  44  55  66 
312  33  62  77 
..  ..  ..  .. 

.

그래서 결과가 들어

X: 0.001932 
Y: 0.18271 
Z: 0.0

모양을, 나는이 같은

for (i in 1:ncol(result)){ 
colnm <- colnames(result)[i] 
wilcox.test(result$org_A, result$colnm, alternative=c("two.sided"), paired=FALSE)$p.value 

}

을 구현하지만 메시지 Unknown column 'colnm'으로 경고합니다.

더 나쁜 것은 인쇄하지만, p 값은 동일합니다.

어떻게해야합니까?

+0

'결과 [colnm]'을 사용해보세요. –

+0

@ RomanLuštrik 어느 쪽도 작동하지 않습니다. –

답변

0

어때?

result <- data.frame(org_A = c(130, 312, 123), 
       x = c(44, 33, 12), 
       y = c(55, 62, 43), 
       z = c(66, 77, 55)) 

answer <- rep(NA, (ncol(result) - 1)) 

for (i in 2:ncol(result)) { 
     answer[i-1] <- wilcox.test(result$org_A, 
           result[, i], 
           alternative = c("two.sided"), 
           paired = FALSE)$p.value 
} 

answer 
[1] 0.1 0.1 0.1 

편집

여기 sapply를 사용하는 또 다른 방법입니다.

sapply(result[, -1], FUN = function(x, result) { 
    wilcox.test(result$org_A, 
       x, 
       alternative = c("two.sided"), 
       paired = FALSE)$p.value 
}, result = result) 
관련 문제