gpt4 book ai didi

r - 估计 SEM 模型 (lavaan) 的方差膨胀因子 (VIF)

转载 作者:行者123 更新时间:2023-12-02 19:12:37 25 4
gpt4 key购买 nike

我正在尝试从结构方程模型 (SEM) 中找出方差膨胀因子 (VIF)。我的模型是:

# load the data
library(readxl)
Log_And_SurveyResult <- read_excel("C:/Users/Aakash/Desktop/analysis/Today/Mot-Log.xlsx")

# load lavaan
library(lavaan)

#scale the variables
Log_And_SurveyResult$Time <-
scale(Log_And_SurveyResult$TotalActivity)

model <-
Ct =~ CT1 + CT2 + CT3
R =~ R1 + R2 + R3
B =~ B1 + B2 + B3
UserActivity =~ Time + TotalActivity

fit <- sem(model,data = Log_And_SurveyResult, std.lv = TRUE)
summary(fit, standardized=T)

这是我的数据示例:

Time,TotalActivity,CT1,CT2,CT3,R1,R2,R3,B1,B2,B3
-0.4923798,-0.09991485,4,4,4,3,3,3,3,3,2
-1.0519708,-1.12771752,3,2,2,2,2,3,4,2,3
-0.5330384,-0.06320762,4,4,5,5,4,4,4,4,4
-1.0134522,-0.67805386,5,4,4,5,5,4,4,5,5
-1.1568273,-1.18277838,4,3,4,3,2,3,3,4,4
-0.8561675,-0.12744528,3,4,4,4,4,3,3,3,3

当我运行 vif(fit) 时,出现错误:

Error: $ operator not defined for this S4 class

我正在遵循以下示例:http://minato.sip21c.org/msb/man/VIF.html

关于 VIF 的大部分示例和教程都是使用多元回归模型生成的。但是我怎样才能为我的 SEM 模型获取 VIF?

最佳答案

要估计使用 lavaan 包的 sem() 函数生成的模型的 VIF,您可以创建一个二进制虚拟变量,根据他的自变量对其进行回归模型,然后使用 vif() 来估计方差膨胀因子。示例:

## Create random binary variable
Log_And_SurveyResult$randomvar <- rbinom(nrow(Log_And_SurveyResult), 1, 0.5)

## Model and VIF
Model <- lm(randomvar ~ CT1 + CT2 + CT3, data=Log_And_SurveyResult)
vif(Model)

关于r - 估计 SEM 模型 (lavaan) 的方差膨胀因子 (VIF),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64050842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com