如何使用MICE归类类别变量,但阻止其获取某些值?

问题描述 投票:1回答:2

我有一个类别变量var1,它可以采用W,B,A,M,N或P的值。我想使用R中的mouses包来推算一些NA,但我知道缺少值不能为“ W”或“ B”,因为这些人说他们不属于该类别。我想归因于var1,但强迫小鼠只从B或W之外的所有内容中进行选择。

这里是示例代码供您使用:

df=data.frame(age=c(24,37,58,65,70,84, 56, 36, 48,23,15), 
    var1 =c("B","W", NA, "A",NA, "P","N", NA, "M",NA, "B"), 
    var1categ=c(0,0, 1, 1, 1,1,1,1,1,1, 0),
    ht = c(156, 169, 180, 175, 168, 165, 171, 158, 160, 175, 160))

imp=mice(df, remove_collinear = FALSE)

谢谢您的帮助,如果您需要更多信息,请告诉我。

categorical-data imputation r-mice
2个回答
1
投票

我认为以下方法应该有效:

  1. 从数据集中完全删除所有“ W”和“ B”案例。
  2. 用鼠标进行插补
  3. 由于您在var1中仅缺少数据(您确定没有W和B出现),因此无论如何都不需要“ W”和“ B”例。

注意:如果其他列中也缺少数据,则方法会有所不同。


0
投票

我认为@ stats0007是正确的,但是您必须在所有m个估算数据集中重新插入已删除的行(在您的情况下,是所有5个估算数据集)。使用您的示例,这就是我的方法。

© www.soinside.com 2019 - 2024. All rights reserved.