Wilcoxon 테스트를 수행하기 전에 지터가 잘못 되었습니까?


9

나는 스크립트를 사용하여 데이터를 테스트 wilcox.test하지만 결과를 얻었을 때 모든 p 값은 1과 같습니다. 데이터를 테스트하기 전에 지터를 사용할 수있는 일부 웹 사이트에서 읽었습니다. 나는 이것을했고 이제는 받아 들일만한 결과를 얻었습니다. 이것을하는 것이 잘못입니까?

test<- function(column,datacol){
    library(ggplot2)
t=read.table("data.txt", stringsAsFactors=FALSE)
uni=unique(c(t$V9))
    for (xp in uni) { 
          for(yp in uni) {
            testx <- subset(t, V9==xp)
            testy <- subset(t, V9==yp)
            zz <- wilcox.test(testx[[datacol]],jitter(testy[[datacol]]))
            p.value <- zz$p.value
          }
        }
}


이것은의 출력입니다 dput(head(t))

structure(list(V1 = c(0.268912,
0.314681, 0.347078, 0.286945, 
0.39562, 0.282182), V2 = c(0.158921, 0.210526, 0.262024, 0.322006, 
0.133417, 0.283025), V3 = c(0.214082, 0.166895, 0.132547, 0.147361, 
0.09174, 0.169093), V4 = c(0.358085, 0.307898, 0.258352, 0.243688, 
0.379224, 0.2657), V5= c(-0.142223, 0.010895, 0.14655, 
0.08152, 0.02116, 0.030083), V6 = c(0.096408, -0.091896,

-0.331229, -0.446603, -0.088493, -0.262037), V7` = c(1.680946, 
1.649559, 1.534401, 1.130529, 3.441356, 1.211815), V8 = c("NC_000834",  "NC_000844",
"NC_000845", "NC_000846", "NC_000857",
"NC_000860" ), V9 = c("Chordata",
"Arthropoda", "Chordata", "Chordata", 
"Arthropoda", "Chordata"), V10 =
c("???:???", "Diplostraca", 
"???:???", "Rheiformes", "Diptera",
"Salmoniformes"), V11 = c("???:???",
"Branchiopoda", "Mammalia", "Aves",
"Insecta", "Actinopterygii" )), .Names
= c("V1", "V2", "V3", "V4", "V5", "V6",  "V7",
"V8", "V9", "V10",
"V11"), row.names = c(NA,  6L),
class = "data.frame")

데이터가 매우 커서 시작한 스레드이므로이 작업을 수행하는 것이 잘못 될 수 있다고했습니다.

참고이 질문은 tex.SE에서 온 것입니다 : 라텍스 테이블 내에서 PDFcontain R 출력 생성


2
데이터가 무엇인지 알려주지 않지만 데이터에 임의의 노이즈를 추가 한 다음 통계 테스트를 실행하는 절차는 매우 의심 스럽습니다. 또한 코드가 생각하는대로 작동합니까? 내 독서는 루프에도 불구하고, 그것은 하나의 p.value를 반환 할 것입니다 - 그 X = Y = {lastvaluof} (UNI)의
Andrie

@Andrie : 당신의 도움에 감사드립니다. 그러나 그것은 완전한 코드가 아닙니다. 이것은 wilcox 테스트를 계산하는 함수의 일부이며, 각각 (xp, yp)에 대해 p 값의 다른 값을 생성하는 코드입니다. 내 데이터의 일부, 당신은 그것을 미리보고 감사 할 수 있는지 확인하고 확인할 수 있습니다. mediafire.com/?mnj26kp4bv5lcr5

1
다른 링크로 경로 재지 정해야하는 데이터에 대한 링크가 의심 될 수 있습니다. 특히 R이이 dput()를 수행 할 필요가없는 매우 유용한 기능을 제공 할 때 더욱 그렇습니다 . 도움을 받으려면 재현 가능한 예를 제공하십시오.
체이스


@weblover (tex.SE에서) 귀하의 통계 질문을 여기에 제안 할 때, 당신이 이미 그렇게 요구한다는 것을 알지 못했습니다. 두 개의 게시물 중 하나를 삭제하십시오 (통계 관련 질문이므로 아마도 SO 일 가능성이 높습니다).
chl

답변:


6

R-help리스트에는 이것에 관한 스레드가 있습니다; 예를 들어 : http://tolstoy.newcastle.edu.au/R/e8/help/09/12/9200.html

첫 번째 제안은 다른 지 터링으로 테스트를 여러 번 반복 한 다음 p- 값을 결합하여 평균 또는 최대 값을 취하여 전체 p- 값을 얻는 것입니다. 또한 간단한 순열 테스트를 대신 사용할 수 있다고 제안합니다 (두 가지 중에서 내가 선호하는 것). t- 검정 (paired 및 non-paired) 대신 사용할 R의 어떤 순열 테스트 구현 질문을 참조하십시오 . 순열 테스트의 일부 예

그 스레드의 다른 곳에서 Greg Snow는 다음과 같이 씁니다. 경고를 피하기 위해 데이터에 임의의 노이즈를 추가하는 것은 경보를 발생시키는 원인을 조사하는 대신 연기 감지기에서 배터리를 제거하여 배터리를 끄는 것과 같습니다. ( http://tolstoy.newcastle.edu.au/R/e8/help/09/12/9195.html 참조 )


답장을 보내 주셔서 감사하지만, 요점을 알 수 없었습니다. 지금 어떻게해야합니까? 테스트를 변경하거나 무언가를 기준으로 데이터를 조정하십시오. 이것은 무엇입니까 ???
weblover

내가 연결 한 페이지를 요약하겠습니다.
Aaron은

3

(면책 조항 : 코드를 확인하지 않았으며 답변은 귀하의 설명에 근거합니다)

나는 당신이하고 싶은 것이 정말 나쁜 생각이라는 느낌이 듭니다 . Wilcoxon은 순위에 대한 리샘플링 (또는 무작위 화) 테스트입니다. 즉, 값의 순위를 취하여 이러한 순위를 순위의 모든 가능한 순열과 비교합니다 (예 : 여기 참조 ).

당신이 깨달았을 때, 당신이 관계에서 순위를 얻지 못하기 때문에 관계는 매우 나쁩니다. 그러나 임의의 노이즈 (지터)를 데이터에 추가하면 모든 순위가 변환되므로 임의의 순위가됩니다! 즉, 데이터가 심각하게 왜곡됩니다.

따라서 : 그렇게하는 것은 잘못 입니다.


thnx 당신이 대답하지만,이 경우 어떻게해야합니까 ??
weblover

2

여러 사람에게 지금해야 할 일을 물었습니다. 내 생각에, 지금해야 할 일은 여기에 적절한 p- 값이 1.000이라는 것을 받아들이는 것입니다. 당신의 그룹은 다르지 않습니다.


안녕하세요, 이것을 받아들이는 것이 합리적입니까 ?? 모든 그룹과 하위 그룹이 함께 비교 될 때 동일한 p- 값을 제공하기 때문에 각 경우에 하나의 변수를 테스트하기 때문에 논리적이지 않습니다. 예 : test ( "Ph", V1) 모두 . 어떤 아이디어 ??
weblover

물론 합리적 일 수 있습니다. p- 값 1은 두 그룹이 가능한 한 동일하다는 것을 의미합니다. 거의 모든 관계가 있다면 이것은 사실 일 수 있습니다.
Aaron은

@Aaron @Web이 데이터 (V1-V7)는 연결되어 있지 않습니다. p- 값 1을 얻을 때 어딘가에 오류가 발생했을 것입니다. Wilcoxon 부호있는 순위 테스트와 비교할 때 많은 p- 값이 0.036입니다.
whuber

OP는 데이터의 처음 몇 행만 게시했습니다. 데이터가 소수점 이하 여섯 자리로 갈 때처럼 보이지는 않지만 분명히 더 관련이 있어야합니다. 그렇습니다. 분석에 오류가있는 것처럼 보이지만 정확하게 지적 한 것은 아닙니다.
Aaron은 Stack Overflow를
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.