R语言 density.default..中出错,需要至少2个点才能自动选择带宽

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

我使用mice软件包来获得完整的数据。我认为问题在于我没有对所有数据进行估算,因此其中一些数据具有NA。(一些缺失数据的变量只是用来预测其他变量的缺失,所以我不想估算这些数据。
我可以用这段代码重复这个问题:

require(mice)
impute <- mice(
    nhanes, 
    imputationMethod = c(
        "",        # age
        "pmm",     # bmi
        "pmm",  # hyp
        ""         # chl
    ),
    seed = 101)
x11()
densityplot(impute)

Error in density.default(x = c(NA_real_, NA_real_, NA_real_, NA_real_,  : 
  need at least 2 points to select a bandwidth automatically

字符串
如果我用"pmm"替换chl"",或者只是运行impute <- mice(nhanes),那么它将与这个例子一起工作,产生这个:

但是我不能用我自己的数据做这件事,所以我在寻找另一种方法.

**编辑:**我知道我可以使用ggplot来回答我的earlier问题,但在这种情况下,我真的需要使用densityplot

yvgpqqbh

yvgpqqbh1#

在'chl'列中仍然会有大量缺失数据。您可以使用pkg:mice函数complete将原始非缺失值和估算值合并在一起。但是,如果您颠倒了数据和公式的角色(最终),densityplot.mids函数将完成此操作,如帮助页的详细信息中所述。

densityplot( x=impute , data= ~ bmi+hyp)

字符串


的数据

相关问题