2017-10-09 6 views
0

사이에 열을 윌 콕슨 테스트를 할 수 있습니다. 나는 다음과 같은 코드를 시도 :어떻게 두 dataframes이 두 dataframes

lapply(ncol(D9), function(i) {wilcox.test((D9[,i]),(D10[,i]))}) 

을 출력했다 :

[[1]] 
Wilcoxon rank sum test 
data: (D9[, i]) and (D10[, i]) 
W = 107, p-value = 0.9834 
alternative hypothesis: true location shift is not equal to 0 

그래서 내 질문입니다 - 내가 무슨 일을하고 있는가? 어떤 도움을 주셔서 감사합니다.

미리 감사드립니다.

+1

A [재현성 예]를 입력 해주세요 (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) 여기서 모든 변수가 정의되어 가능한 솔루션을 테스트하기 위해 R에 복사/붙여 넣기 할 수 있습니다. – MrFlick

답변

1

ncol(D9)은 단일 숫자 만 반환하므로 lapply은 해당 단일 숫자에 대해서만 반복됩니다. 첫 번째 열에서 시작 1:ncol(D9)를 사용 (또는 seq.int(ncol(D9))를 사용합니다. lapply(9, print)lapply(1:9, print)

대안의 차이를 참조 data.frames은 정말 그냥 나열되어 있기 때문에 그냥 직접

Map(wilcox.test, D9, D10) 

과 열을 통해 매핑 할 수 있습니다.

0

lapply는 MrFlick의 아마 도움이 될 것입니다 제안 @ 있도록

당신 수 또한 GE (실제로는 하나 개의 윌콕스 테스트를 실행), 벡터를 필요 루프 반복을 통하여 t 출력물

for(i in 1:ncol(D9)){ 
    summary(wilcox.text(D9[,i],D10[,i])) 
}