首页 > 解决方案 > 尽管没有缺失值,但仍收到 NA/NaN 错误消息(使用 R:tidyLPA)

问题描述

我在 R 中使用 tidyLPA。我按照此处给出的示例进行操作。他们给出的示例代码如下:

library(tidyLPA)
library(dplyr)
library(mclust)    
data(pisaUSA15)

pisaUSA15[1:100, ] %>%
  select(broad_interest, enjoyment, self_efficacy) %>%
  single_imputation() %>%
  estimate_profiles(3)

这运行良好,并给了我以下结果:

tidyLPA analysis using mclust: 

 Model Classes AIC     BIC     Entropy prob_min prob_max n_min n_max BLRT_p
 1     3       630.957 667.430 0.885   0.903    0.973    0.130 0.680 0.010

但是,当我使用以下代码使用自己的数据运行它时:

data[1:100, ] %>%
  select(V1, V2, V3, V4) %>%
  single_imputation() %>%
  estimate_profiles(3)

我收到以下错误消息:

Error in mdpwst[i]:mdpwfin[i] : NA/NaN argument

当我删除所有缺失值的观察值时,我很困惑为什么会收到一条 NA/NaN 消息:

data = data[complete.cases(data),]

这在我使用任何其他软件包时从未发生过,并且在 stackoverflow 上筛选类似的问题也没有提供任何答案。我不确定如何解决这个问题,仅查看数据集就无法立即识别出为什么一个数据集有效而另一个无效的原因。

标签: rna

解决方案


我在这里回答我自己的问题,问题来自single_imputation() %>%命令。如Github上所述,当存在缺失值时使用该命令。由于我删除了所有缺失值,因此不需要该命令并且实际上会导致错误!

一旦我删除它有:

data[1:100, ] %>%
  select(V1, V2, V3, V4) %>%
  estimate_profiles(3)

代码运行良好!


推荐阅读