如何指定熔岩中潜伏和观测变量之间的相关性?

时间:2016-07-25 05:13:22

标签: r r-lavaan

我想用R中的lavaan计算潜在和观察变量之间的相关性。

这是我尝试做的一个简单例子。我们有一些数据和一个lavaan模型。

data(bfi)
names(bfi) <- tolower(names(bfi))
mod <- "
 agree =~ a1 + a2 + a3 + a4 + a5
 consc =~ c1 + c2 + c3 + c4 + c5
 age ~~ agree 
 age ~~ consc
"
lavaan::cfa(mod, bfi)

agree是一个有5个指标的潜在变量。年龄是观察到的变量,我希望得到观察到的变量age和潜在变量agree之间的相关性。在lavaan中指定协方差的一般方法是在变量之间放置~~。但是当观察到其中一个变量时,这似乎不起作用。

当我运行上述操作时,出现以下错误:

Error in lav_model(lavpartable = lavpartable, representation = lavoptions$representation,  : 
  lavaan ERROR: parameter is not defined: agree ~~ age

在其他SEM软件中,例如Amos,您只需在潜在变量和观察变量之间绘制一个双头箭头。

如何在lavaan中包含潜在变量和观察变量之间的相关性?

2 个答案:

答案 0 :(得分:3)

似乎有效的一种解决方法是欺骗lavaan认为观察到的变量是一个因素:

(FULL JSON DOCUMENT ON THIS LINE)

ChildrenCount == 5

icon : http://www.imagesource.com/0

image : http://www.imagesource.com/1

name : Happy

D/AndroidRuntime: Shutting down VM

E/UncaughtException: com.google.firebase.database.DatabaseException: Failed to >convert value of type java.lang.Long to String

即,agefac是年龄的潜在版本,但因为年龄是唯一的指标,并且该指标的系数被约束为1,它将与观察到的年龄变量相同。然后,您可以使用此准潜在变量与实际潜在变量相关联。

答案 1 :(得分:0)

如果模型不会改变,您可以在潜在的情况下回归观察到的变量。得到的标准化回归系数将等于潜在的和准潜在的&#34;之间的相关性。正如@Jeromy所描述的那样。例如:

mod <- "
  agree =~ a1 + a2 + a3 + a4 + a5
  age ~ agree  # regression instead of correlation
"
lavaan::cfa(mod, bfi) %>% summary(standardized = TRUE)

age agree的标准化回归系数无论你运行这个还是@Jeromy描述的模型都是一样的。但请注意,非标准化系数将不相同。