我计划对伦理问题的观点进行多组验证性因素分析。我将比较比利时瓦隆尼亚和佛兰德地区的人。我的两个样本需要进行加权,以便在年龄、性别、教育和政党选择方面代表他们的人口。
在我的数据集中已经提供的抽样权重。然后,我创建了一个变量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写我的模型有什么建议吗?非常感谢!
发布于 2014-05-27 05:10:12
从summary(r$wreg)
的结果来看,您的权重列似乎是一个因素,而不是一个数字向量。确保您正确地读取了数据,并且该列不包含任何类似字符的值。您可以用
r$wreg <- as.numeric(r$wreg)
在运行模型之前。而且,这些看起来像非常大的重量值。你确定他们是对的吗?
https://stackoverflow.com/questions/23857962
复制相似问题