2014-02-24 7 views
-1

나는 두 개의 벡터를 가지고 있는데, 둘 다 NA 값을 가지고 있습니다. 나는 두 벡터로 생성 된 테이블에 대한 카이 제곱 값을 찾기 위해 노력하고 있어요,하지만 난이 오류를 얻을 :NA 값을 사용하여 카이 제곱 계산하기

Error in chisq.test(data.table) :
all entries of 'x' must be nonnegative and finite

테이블에서 NA 값을 제거하는 코드가 있습니까?

벡터에 대해 이렇게하는 코드를 찾았지만 어떻게 작동하는지 잘 모르겠습니다. 하나의 벡터에서 NA 값이 삭제되면 다른 벡터의 해당 값이 Chi-Squared 계산에 포함되지 않습니까?

벡터에는 각각 8,000 개 이상의 값이 있고 각 행은 하나의 주제에 해당하므로 해당 주제가 질문에 답하지 못하면 그/그녀의 다른 대답을 사용하지 않을 것입니다. 나는 그것이 의미가 있기를 바랍니다.

+1

StackOverflow에 오신 것을 환영합니다! 데이터 및 코드가 포함 된 [재현 가능한 예] (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)를 제공하는 방법에 대해 잠시 시간을내어 읽어주십시오. 이 오류가 발생했습니다. – Thomas

답변

1

테스트를 실행하기 전에 데이터에서 NA 값을 추출하는 것이 하나의 해결책입니다. 데이터가 같은 것을 볼

재현성 여기에 도움이 될 것입니다,하지만 난 추측하고있어하십시오 dataframe에 데이터를 넣어,이 경우

control<-c(runif(5),NA,runif(4)) 
treatment<-c(runif(3),NA,runif(6)) 

을와 모든 과목에 대한 당신이 할 수있는 두 값 해당 값의 NA :

df<-data.frame(control,treatment) 
df<-df[-which(is.na(df$treatment)),] 
df<-df[-which(is.na(df$control)),] 

귀하의 데이터에는 누락 된 데이터가없는 과목 만 포함되며 원하는대로 테스트 할 수 있습니다.

+0

데이터 개체를 영구적으로 변경하는 것은 구멍을 파고 들어가는 좋은 방법입니다. @ Thomas가 제안한 실천 사례는보다 건설적인 것입니다. –

관련 문제