2017-04-09 1 views
0

Ich habe einen Umfragedatensatz mit Frequenzgewicht (freq_wgt). Das Umfragedesign ist eine mehrstufige Cluster-Stichprobe. Der Datensatz wenn folgt.Wie gewichtete mehrstufige Tabelle (Häufigkeit sowie Prozentsatz) mit Häufigkeit Gewicht in R zu generieren?

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")) 

Ich möchte folgende Art von Mehrschichten-Tabelle (Frequenz sowie col/row Prozentsatz) zu erzeugen, nachdem die Frequenz Gewicht anzuwenden.

Hinweis: Ich fand wtd.table Funktion von Hmisc-Paket, aber nicht geeignet, da es nur eine Stufe Schichttabelle generieren. Danke im Voraus.

Antwort

0

Das folgende Design geht von einfachen Stichproben aus. Sie müssen sich die Tech-Dokumentation und/oder ?svydesign ansehen, um zu sehen, wie Sie die mehrstufige Cluster-Stichprobe berücksichtigen können.

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

Es war große Hilfe Herr .... – Biswa

Verwandte Themen