使用R包LCSM拟合二元潜在变化得分模型时出错

roqulrg3  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(102)

我试图使用lcsm软件包拟合两个时间点的二元潜在变化评分模型,但遇到了一个错误。
当我尝试提取拟合统计量时,我得到以下错误:

Error: No glance method for objects of class character

字符串
当我尝试提取参数估计值时,我得到以下错误:

Error: No tidy method for objects of class character


有人知道如何修复这些错误吗?谢谢!
下面是我的语法:

lavaan_bi_lcsm_fit <- 

specify_bi_lcsm(df_wide,
timepoints = 2,
var_x = c("srpf_ses1","srpf_ses2"),
model_x = list(alpha_constant = TRUE, 
beta = TRUE, 
phi = TRUE),
var_y = c("avg_hippocampus1","avg_hippocampus2"),
model_y = list(alpha_constant = TRUE, 
beta = TRUE, 
phi = TRUE),  
coupling = list(delta_lag_xy = TRUE, 
delta_lag_yx = TRUE))

extract_fit(lavaan_bi_lcsm_fit)
extract_param(lavaan_bi_lcsm_fit)

rqqzpn5f

rqqzpn5f1#

看起来主要问题是函数specify_bi_lcsm()返回指定模型的 lavaan 语法作为 character 对象,而函数extract_fit()extract_param()需要一个包含拟合模型信息的 lavaan 对象。
我假设你的目标是使用fit_bi_lcsm()函数来拟合模型,但却意外地使用了specify_bi_lcsm()
我认为你只需要做一些小的修改来修复错误消息:
1.将specify_bi_lcsm()替换为fit_bi_lcsm()
1.从代码中删除timepoints = 2,行,因为此参数仅用于生成 lavaan 语法,而不是拟合模型。fit_bi_lcsm()会根据您在var_xvar_y参数中指定的变量数量自动检测时间点的数量:
这样的东西应该是可行的:

lavaan_bi_lcsm_fit <- fit_bi_lcsm(
  data = df_wide,
  var_x = c("srpf_ses1", "srpf_ses2"),
  model_x = list(alpha_constant = TRUE, 
                 beta = TRUE, 
                 phi = TRUE),
  var_y = c("avg_hippocampus1", "avg_hippocampus2"),
  model_y = list(alpha_constant = TRUE, 
                 beta = TRUE, 
                 phi = TRUE),  
  coupling = list(delta_lag_xy = TRUE, 
                  delta_lag_yx = TRUE)
)

字符串
现在lavaan_bi_lcsm_fit是一个 lavaan 对象(或R语言中的'Formal class lavaan'),您应该能够提取拟合统计量和模型参数估计值(假设您的模型可以被估计):

extract_fit(lavaan_bi_lcsm_fit)
extract_param(lavaan_bi_lcsm_fit)

相关问题