【发布时间】:2023-01-16 04:47:35
【问题描述】:
我正在尝试使用 survey 包为每个观察创建和查看权重。我有以下形式的数据(简化示例):
# Create data
set.seed(12345)
preYear = c(0:100)
preYear = sample(preYear, 100, replace = TRUE)
income = c(0:100000)
income = sample(income, 100, replace = TRUE)
gender = c("Male", "Female")
gender = sample(gender, 100, replace = TRUE)
gender = as.numeric(factor(gender))
ethnicity = c("White", "African_American", "Mixed_Ethnicity", "Other_Ethnicity")
ethnicity = sample(ethnicity, 100, replace = TRUE)
ethnicity = as.numeric(factor(ethnicity))
postYear = preYear + 10
data = cbind(preYear, income, gender, ethnicity, postYear)
data = as.data.frame(data)
使用我对性别的重视的调查包:
library(survey)
data.svy.unweighted <- svydesign(ids=~1, data=data)
#
gender.dist <- data.frame(gender = c("1", "2"),
Freq = nrow(data) * c(0.45, 0.55))
data.svy.rake <- rake(design = data.svy.unweighted,
sample.margins = list(~gender),
population.margins = list(gender.dist))
data.svy.rake
Independent Sampling design (with replacement)
rake(design = data.svy.unweighted, sample.margins = list(~gender),
population.margins = list(gender.dist))
但是,我不知道如何查看权重向量。理想情况下,我想要的是能够返回一个与data 相同的 data.table,但有一个名为 weight 的附加列,它对应于在对性别加权后分配给每个观察的权重。任何帮助,将不胜感激。
【问题讨论】:
-
您好,您是在寻找运行
str(data.svy.rake)时打印到屏幕上的属性之一(或其逆属性)吗?