【问题标题】:Getting NA/NaN error message despite having no missing values (using R: tidyLPA)尽管没有缺失值,但仍收到 NA/NaN 错误消息(使用 R:tidyLPA)
【发布时间】:2019-06-25 23:38:59
【问题描述】:

我在 R 中使用 tidyLPA。我遵循了here 给出的示例。他们给出的示例代码如下:

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 上筛选类似的问题并没有提供任何答案。我不确定如何解决这个问题,仅查看数据集就无法立即识别出为什么一个数据集有效而另一个无效的原因。

【问题讨论】:

  • 你能否展示一个给出错误的可重现的小例子
  • 如果没有可重复的示例就无法判断,但可能在删除 NA 后,您用作 data[1:100, ] 的数据框没有 100 行,R 默认使用 NA 完成它。
  • 刚刚更新了前 100 行数据。整个数据集有超过 1000 个观测值,因此默认情况下不应使用 NA 完成它。
  • 找出错误信息的原因!在下面回答了我自己的问题。

标签: r na


【解决方案1】:

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

一旦我将其删除后:

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

代码运行良好!

【讨论】:

    猜你喜欢
    • 2021-09-25
    • 2016-08-13
    • 2020-11-13
    • 2015-11-18
    • 2018-06-09
    • 2016-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多