2017-04-09 28 views
0

주파수 가중치 (freq_wgt)가 설정된 측량 데이터가 있습니다. 조사 디자인은 다단계 클러스터 샘플링입니다. 다음과 같은 경우 데이터가 설정됩니다.R에서 주파수 가중치를 사용하여 가중치가 적용된 다단계 테이블 (빈도 및 백분율)을 생성하는 방법은 무엇입니까?

sector <- c(1,2,1,2,1,2,1,2,1,2,2,2,1,1,2,1,2,1,2,2) 
sex <- c(2,1,2,2,2,1,2,1,2,1,1,1,1,2,2,1,2,1,2,2) 
Group <- c(1,2,3,3, 2,1,1,2,3,3,2,1,1,3,3,1,3,1,2,2) 
freq_wgt <- c(2,4,5,6,3,4,5,3,2,5,6,7,5,4,3,5,7,8,9,1) 
df <- data.frame(sector, sex, group, freq_wgt) 

df$sector <- factor(df$sector, levels = c(1,2), labels = c("Rural", "Urban")) 
df$sex <- factor(df$sex, levels = c(1,2), labels = c("Male", "Female")) 
df$group <- factor(df$group, levels = c(1,2,3), labels = c("STs", "SCs", "Others")) 

빈도 가중치를 적용한 후 다음과 같은 종류의 다중 계층 테이블 (빈도/행 백분율)을 생성하려고합니다.

mytable <- ftable(xtabs(~ sector + sex + group, data= df)) 
print(mytable) 

참고 : Hmisc 패키지의 wtd.table 기능을 찾았지만 한 단계 지층 테이블 만 생성하므로 적합하지 않습니다. 미리 감사드립니다.

답변

0

아래의 디자인은 단순 임의 샘플링을 가정합니다. 기술 문서 나 ?svydesign을 참조하여 다단계 클러스터 샘플링을 고려하는 방법을 알아야합니다.

library(survey) 
my_design <- svydesign(~ 1 , data = df , weights = ~ freq_wgt) 
svytable(~ sector + sex + group , my_design) 
svyby(~ sector , ~ sex + group , my_design , svymean) 
svyby(~ sex , ~ sector + group , my_design , svymean) 
svyby(~ group , ~ sector + sex , my_design , svymean) 
+0

큰 도움이 되셨습니다 .... – Biswa