【问题标题】:Mice in R - how can I understand what this command does?R 中的老鼠 - 我如何理解这个命令的作用?
【发布时间】:2020-10-08 05:33:13
【问题描述】:
mice_mod <-
  mice(titanicData[, !names(titanicData) %in%
                     c('PassengerId','Name','Ticket','Cabin','Survived')], 
       method='rf')
mice_output <- complete(mice_mod)

我是 R 新手,昨天我们有一个大学讲座。这个命令有什么作用?我已经阅读了在线文档并将命令分解为一系列输出,但没有任何乐趣。

【问题讨论】:

  • 你的意思是鼠标本身的功能?
  • 请说明您的问题。鼠标函数确实通过算法填充空值。在这种情况下,它使用随机森林插补“rf”。为了使用想要的列,他使用了每个名称,而不是在被调用的名称中。完整的命令是使用鼠标对象并使用填充的值创建一个新的数据框。

标签: r r-mice


【解决方案1】:

mice 函数近似缺失值。在您的情况下,您使用的是“rf”语句,这意味着使用随机森林插补算法。由于我无法重现您的数据集,因此我使用的是 airquality,它是 R 的内置数据集,具有 NA 值。这些可以近似。您正在使用mice 创建一个预测模型。实际上它是一个mids 对象,被老鼠用于估算数据集(documentation)。如果您想使用这些插补,您可以调用complete 来创建填充数据框。

library(mice)
df<-airquality
mice_mod <- mice(df, method='rf')
mice_output <- complete(mice_mod)

比较dfmice_output 时,您会看到OzoneSolar 中的NA 值已被替换。

在您的示例中,您的讲师使用了所有不在被叫名称列表中的名称。所以他事先过滤了数据框。


如果您想了解有关算法的更多信息:关于documentation,它在

中进行了描述

Doove, L.L., van Buuren, S., Dusseldorp, E. (2014), 递归 在存在的情况下对丢失的数据插补进行分区 交互效果。计算统计 \& 数据分析,72, 92-104。

【讨论】:

  • 感谢您的帮助,这是一个很大的帮助!最后一个问题——我是否正确地说 ('PassengerId','Name','Ticket','Cabin','Survived') - 都被排除在外,因为它们很可能对乘客年龄字段没有影响(这是 NA 被替换的地方)。这种理解正确吗?
  • @user3600952 我不太确定,但通常简单的算法是这样构建的,它们只是单独使用列。所以我猜他们排除了这些列,因为它们不需要并且想要安全时间或者他们使用其他准备工作。没有上下文很难说。我想这只是数据准备。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-22
  • 1970-01-01
  • 2011-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多