1

我计划对道德问题的观点进行多组验证性因素分析。我将比较来自比利时瓦隆和佛兰德地区的人。我的两个样本需要加权,以便在年龄、性别、教育和政党选择方面代表他们的人口。

我的数据集中已经提供的采样权重。然后,我创建了一个变量wreg,结合了来自瓦隆和佛兰德斯的受访者的权重。

我是 R 新手,阅读有关代码lavaan.surveysvydesign了解代码的文档。但是,我还没有成功地写出正确的东西。我总是收到有关重量部分的错误消息。显然,该程序无法正确读取采样权重变量。

这是我使用的代码:

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 编写模型的任何建议?非常感谢!

4

1 回答 1

0

从 的结果来看summary(r$wreg),您的权重列似乎是一个因素,而不是一个数字向量。确保您已正确读取数据并且该列不包含任何类似字符的值。您可以手动转换它

r$wreg <- as.numeric(r$wreg)

在运行模型之前。此外,这些看起来像非常大的重量值。你确定它们是正确的吗?

于 2014-05-27T13:10:12.373 回答