【问题标题】:Error vapply(df, class, FUN.VALUE = NA_character_) : values must be length 1, but FUN(X[[1]]) result is length 3 (when running a LCA in R)错误 vapply(df, class, FUN.VALUE = NA_character_) :值的长度必须为 1,但 FUN(X[[1]]) 结果的长度为 3(在 R 中运行 LCA 时)
【发布时间】:2022-10-08 02:36:39
【问题描述】:

我正在使用 Mplusautomation 在 R 中运行具有远端结果的 LCA。指标和远端都是序数变量,指标变量的尺度范围为 1 到 5,远端变量的尺度范围为 1 到 4。

  TITLE = "BCH lca with distal outcome;", 
  
  DATA = "LISTWISE=ON;",
  
  VARIABLE = 
    "usevar = int_3 sw_3 soc_3 alt_3 gov_3 for_3;
    auxiliary = claim_5 claim_6 (bch);
    classes = c(5);",
  
  ANALYSIS =
    "estimator = mlr;
    type = mixture;
    starts = 500 100;
    processors = 10;",
  
  OUTPUT = 
    "type = plot3;
    series = int_3 sw_3 soc_3 alt_3 gov_3 for_3(*);",
  
  usevariables = c("int_3", "sw_3", "soc_3", "alt_3", "gov_3", "for_3", "claim_5", "claim_6"),
  rdata =  data_lca_distal_Mpanel_220918)

m_bch_fit <- mplusModeler(m_bch,
                          dataout=here("paper 2"),
                          modelout=here("paper 2"),
                          check=TRUE, run = TRUE, hashfilename = FALSE)

但是,当我运行代码时,我收到以下错误消息:

vapply(df, class, FUN.VALUE = NA_character_) 中的错误: 值的长度必须为 1, 但 FUN(X[[1]]) 结果的长度为 3

我是 Mplus 和 R 的新手,不知道这个错误是什么意思。我将指标提取到没有 NA 的数据框和 NA = -99 的数据框(在代码中定义 MISSING ARE ALL -99)。但是,这不起作用,错误仍然出现。有谁知道为什么会出现这个错误以及我能做些什么?我真的很感激在这件事上的任何帮助。

谢谢!

【问题讨论】:

  • 当 R 尝试将长度为 3 的向量存储在仅长度为 1 的预分配空间中时,就会发生这种情况。似乎是mplusModeler 中某处的错误或其内部调用的函数。 directly address the author 可能值得。
  • 谢谢你的解释!将尝试这样做。

标签: r


【解决方案1】:

我也是 MPlusAutomation 包的新手,但在使用 prepareMPlusData() 命令时遇到了类似的问题。我在 GitHub 上找到了this ticket,它指出了我的问题——当我查看我在命令中调用的数据框时,我发现数据框中的变量有多个 class() 对象(准确地说是 3 个)加上我的错误代码。我只是将我的数据框转换为矩阵并返回,这解决了问题。在定义 m_bch 之前尝试将其放入:

data_lca_distal_Mpanel_220918<-as.data.frame(as.matrix(data_lca_distal_Mpanel_220918))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-13
    • 2020-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多