2014-09-29 3 views
0

에서 적절한 p 값을 추출하십시오. 질문에 바로 답하십시오. 데이터베이스가 많고 범주 형 변수가 많습니다. I는 흡연, 음주, 고혈압 (고혈압)의 비중의 차이가 있음을, 카이 스퀘어 테스트를 사용하여 가설을 테스트 할여러 변수에 대해 카이 제곱 검정을 수행하고 R

gender <- as.factor(sample(letters[6:7], 100, replace=TRUE, prob=c(0.2, 0.8)))  
smoking <- as.factor(sample(c(0,1),size=100,replace=T,prob=c(0.6,0.4)))  
alcohol <- as.factor(sample(c(0,1),size=100,replace=T,prob=c(0.3,0.7)))  
htn <- as.factor(sample(c(0,1),size=100,replace=T,prob=c(0.2,0.8)))  
tertile <- as.factor(sample(c(1,2,3),size=100,replace=T,prob=c(0.3,0.3,0.4)))  
df <- as.data.frame(cbind(gender,smoking,alcohol,htn,tertile)) 

아래와 같은 몇 가지 변수

샘플 데이터베이스 3 등분 (3 요인). 그러면 각 변수에 대해 p 값을 추출하려고합니다.

이제 2 x 3 교차 표를 사용하여 각 개별 변수를 테스트 할 수 있지만 모든 변수에서 테스트 통계와 p 값을 추출하고 각 변수에 대해 p 값을 추출하는보다 효율적인 코드가 있음을 알고 있습니다. 사전에

감사

Anoop는

+1

정확히 어떤 유형의 통계 테스트를 수행 하시겠습니까? 그 사실을 알면 그것을 구현하는 방법을 알려줍니다. 사용하려는 테스트에 따라 p 값을 완성하는 방법은 다양합니다 (일부는 다른 것보다 통계적으로 더 적절합니다). 수행해야 할 테스트가 확실하지 않은 경우 먼저 [stats.se]에 통계적 조언을 구할 수 있습니다. – MrFlick

+0

안녕하세요, 설명이 부족하여 죄송합니다. 그것의 카이 제곱 테스트. 질문을 업데이트했습니다. – user3919790

+0

그래서이 예제에서 4 가지 2-way 카이 제곱 테스트 p 값을 원하십니까? – MrFlick

답변

1

당신이 하나 개의 문장에있는 모든 비교를 수행하려는 경우, 당신은

mapply(function(x, y) chisq.test(x, y)$p.value, df[, -5], MoreArgs=list(df[,5])) 
# gender smoking alcohol  htn 
# 0.4967724 0.8251178 0.5008898 0.3775083 
을 수행 할 수 있습니다

물론이 방법으로 테스트를하는 것은 통계적으로 비효율적입니다. 여기서 여러 테스트를 수행하기 때문에 적절한 유형 1 오류율을 유지하기 위해 일부 수정이 필요합니다.

관련 문제