[英]How to use sample weights in R
我计划对关于道德问题的观点进行多组确认因素分析。 我将比较来自比利时瓦隆区和佛兰德斯地区的人。 我的两个样本需要加权,以便在年龄、性别、教育和政党选择方面代表他们的人口。
我的数据集中已经提供的采样权重。 然后我创建了一个变量wreg
,将来自瓦隆和佛兰德斯的受访者的权重结合起来。
我是 R 新手,阅读了有关lavaan.survey
和svydesign
文档以了解代码。 但是,我还没有成功地写出正确的东西。 我总是收到有关重量部分的错误消息。 显然程序无法正确读取采样权重变量。
这是我使用的代码:
library(lavaan.survey)
f <- "C:/.../bges07_small.csv"
s <- read.csv(f,sep=";")
r <- s[is.na(s$flawal),]
rDesign <- svydesign(ids=~1, data=r, weights=~wreg)
model.1 <- 'ethic =~ q96_1+ q96_2 +q96_3'
fit <- cfa(model.1, data=r,ordered=c("q96_1","q96_2","q96_3"))
summary(fit, fit.measures=TRUE, modindices=FALSE,standardized=FALSE)
这是我收到的错误消息:
Erreur dans 1/as.matrix(weights) :
argument non numérique pour un opérateur binaire
关于我应该如何用 R 编写模型的任何建议? 非常感谢!
从summary(r$wreg)
的结果看来,您的权重列是一个因素,而不是数字向量。 确保您已正确读取数据,并且该列不包含任何类似字符的值。 您可以手动转换它
r$wreg <- as.numeric(r$wreg)
在运行模型之前。 此外,那些看起来像非常大的权重值。 你确定他们是正确的吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.