微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

拉瓦兰警告:观察到的某些差异至少比其他差异大1000倍;使用varTablefit进行调查

如何解决拉瓦兰警告:观察到的某些差异至少比其他差异大1000倍;使用varTablefit进行调查

我正在尝试从数据集中评估sem模型,其中一些数据是李克特量表,即1-5。并且某些数据是从计算机日志中针对某些活动 COUNTS 生成的。

而在进行合身时,laveen给我的错误是:

lavaan警告:观察到的一些差异(至少)比其他差异大1000倍;使用varTable(fit)进行调查

为减轻此警告,我想scale使用一些变量。但是不知道这样做的方式。

Log_And_SurveyResult <- read_excel("C:/Users/Aakash/Desktop/analysis/Log-And-SurveyResult.xlsx")

model <- '
  Reward =~ REW1 + REW2 + REW3 + REW4
  ECA =~  ECA1 + ECA2 + ECA3
  Feedback =~ FED1 + FED2 + FED3 + FED4
  Motivation =~ Reward + ECA + Feedback
  Satisfaction =~ a*MaxTimeSpentInAWeek + a*TotalTimeSpent + a*TotalLearningActivityView 
  
  Motivation ~ Satisfaction'

fit <- sem(model,data = Log_And_SurveyResult)

summary(fit,standardized=T,std.lv = T)

fitMeasures(fit,c("cfi","rmsea","srmr"))

我想缩放一些变量,例如MaxTimeSpentInAWeekTotalTimeSpent

能否请您帮我弄清楚如何缩放变量?非常感谢。

解决方法

您可以只使用scale(MaxTimeSpentInAWeek)。这会将您的变量缩放为均值= 0,方差=1。例如:

    Log_And_SurveyResult$MaxTimeSpentInAWeek <- 
    scale(Log_And_SurveyResult$MaxTimeSpentInAWeek)
    Log_And_SurveyResult$TotalTimeSpent <- 
    scale(Log_And_SurveyResult$TotalTimeSpent)

还是我误解了你的问题?

,

由于Elias pointed out,变量之间的幅度差异很大,建议对变量进行缩放。 该警告提供了一个提示,检查 varTable(fit) 会返回有关拟合 lavaan 对象中变量的摘要信息。

您可以在子集或整个 scale() 上使用 apply(),而不是在每列上单独运行 data.frame

## Scale the variables in the 4th and 7h column
Log_And_SurveyResult[,c(4,7)] <- apply(Log_And_SurveyResult[,7)],2,scale)

## Scale the whole data.frame
Log_And_SurveyResult <- apply(Log_And_SurveyResult,scale)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。