将估算数据从模型添加到数据集 - hmisc aregImpute

2024-01-08

我正在尝试使用 hmisc 从数据集中估算值。我正在跟进本指南 https://rstudio-pubs-static.s3.amazonaws.com/344055_0c737f77c0ef4e36b6865cb843a7bb4a.html.

这是我的代码的可重现示例:

#Create dataset and add 0.1 NA values randomly
data <- iris
library(missForest)
library(Hmisc)
iris.mis <- prodNA(iris, noNA = 0.1)

#Calculating imputed values with aregImpute
impute_arg <- aregImpute(~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width + Species, data = iris.mis, n.impute = 5)

completeData2 <- impute.transcan(impute_arg, imputation=1, data=iris.mis, list.out=TRUE,pr=FALSE, check=FALSE) 
head(completeData2)

#creating a fit model
library(rms)
fmi <- fit.mult.impute(Sepal.Length ~ Sepal.Width + Petal.Length + Petal.Width + Species, ols, impute_arg, data=iris.mis)

我的问题是:如何将此拟合模型应用于我的数据并估算数据集 (iris.mis) 中的 NA 值?

带有代码片段的答案将不胜感激。


您需要做的就是获取模型的预测:

model_predictions <- predict(fmi)

现在您可以检查数据缺失索引的预测:

missing <- which(is.na(iris.mis$Sepal.Length))
imputed <- model_predictions[missing]
imputed
#>         5        22        27        32        34        35        54        60 
#> 5.073695* 5.119113* 5.182343* 4.949794* 5.381427* 4.863149* 5.565716* 5.596861* 
#>        89       102       107       117       131       135       145       149 
#> 5.950823* 6.217764* 5.757642* 6.829916* 7.116657* 6.726274* 6.738296* 6.662452* 
#>       150 
#> 6.428420* 

看看它们与实际值的比较:

actual <- iris$Sepal.Length[missing]

plot(x = actual, y = imputed, xlim = c(4, 8), ylim = c(4, 8), col = "red",
     xlab = "Actual", ylab = "Imputed", main = "Imputed vs Actual Sepal Length")
lines(c(4, 8), c(4, 8), lty = 2)
#>  # calculate residuals
imputed - actual 
#>            5           22           27           32           34           35 
#>  0.07369483*  0.01911295*  0.18234346* -0.45020634* -0.11857279* -0.03685114* 
#>           54           60           89          102          107          117 
#>  0.06571631*  0.39686061*  0.35082282*  0.41776385*  0.85764178*  0.32991602* 
#>          131          135          145          149          150 
#> -0.28334270*  0.62627448*  0.03829600*  0.46245174*  0.52842038* 
#>
#> # sum of squared errors
sum((imputed - actual)^2)
#> [1] 2.52802

因此,如果您想要在集合中添加一个包含插补的新列,您可以执行以下操作

iris.mis$Sepal.Length.Imputed <- iris.mis$Sepal.Length
iris.mis$Sepal.Length.Imputed[is.na(iris.mis$Sepal.Length.Imputed)] <- imputed
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将估算数据从模型添加到数据集 - hmisc aregImpute 的相关文章

随机推荐

  • 增加 d3 SVG 容器大小

    我正在尝试动态增加 SVG 容器的大小 以便它适合所有数据 有一个小提琴解释了 SVG 的动态增加 http jsfiddle net CKW5q http jsfiddle net CKW5q 然而 相同的概念不适用于双向桑基图 d3 以
  • 如何旋转图像并保存图像

    在我的应用程序中 我的 div 中有一个图像 一个按钮 当我使用 jquery 单击按钮时 我想旋转显示的图像并保存旋转的图像 我已经使用了代码 http code google com p jquery rotate http code
  • 如何通过打字稿代码动态注入 Angular2 子组件?

    上下文 我正在尝试创建一个可以包含多个组件的自定义下拉列表 我可以通过以下方式完成此任务
  • 入门:为 Node.js 设置数据库

    我是 Node js 的新手 但很高兴尝试一下 我在用Express http expressjs com 作为网络框架 以及Jade http jade lang com作为模板引擎 两者都很容易完成以下设置本教程 http www us
  • 从实现类中的接口继承注释?

    假设我有这个界面 public interface IFoo
  • 如何根据设备大小操作 iframe css

    我正在构建此网站 但在根据设备大小操作 iframe 时遇到问题 基本上 我想要的是 如果在平板电脑上使用 则视频是一种尺寸 但例如 如果用户使用手机等移动设备 则视频是其他尺寸 建议它小于平板电脑或桌面窗口尺寸 如果有任何一个从那以后 我
  • JSP scriptlet 中的方法合法吗?

    我知道不推荐它 我应该使用标签库等 但我仍然想知道在 JSP scriplet 中声明方法是否合法 那合法吗 我收到一些奇怪的编译错误 例如a is expected 这似乎不合适 谢谢 您需要使用声明语法
  • Google USB 包未显示在 SDK 管理器中

    我最近下载并安装了 Eclipse Java EE IDE Indigo Service Release 2 我制作了一个在模拟器上运行良好的简单应用程序 现在我想尝试在我的 Android 移动设备上运行它 在 Android 开发者网站
  • 允许后台应用程序设置不同进程的前台窗口

    首先 我知道这是一个有争议的讨论 但我希望我们能够保持技术性 我有一个在后台启动的应用程序 我希望它能够在不同的进程中激活 聚焦窗口 但是 即使我要激活其窗口的进程已调用AllowSetForegroundWindow ASFW ANY 调
  • 接受具有空接口返回类型的参数中的函数

    我想了解为什么下面的代码片段无法编译 Go 接受函数作为可能具有任何返回类型的函数参数的方式是什么 package main func main test a Error cannot use a type func string as t
  • 如何在 Sphinx 处理的文档字符串中表达单个参数或返回值的多种类型?

    有时 Python 中的函数可能接受灵活类型的参数 或者它可能返回一个灵活类型的值 现在我不记得这样的函数的一个很好的例子 因此我用下面的玩具示例来演示这样的函数可能是什么样子 我想知道如何使用 Sphinx 文档符号为此类函数编写文档字符
  • 使弹性项目向右浮动

    I have a div class parent div class child Ignore parent div div another child div div 家长有 parent display flex 对于我的第一个孩子
  • 如何在 ravendb 3.5 中查找附件?

    我目前正在调试一些代码 这些代码应该返回给定文档的附件 但没有返回任何附件 Raven studio 表明数据库中有附件 它向我显示存在多个附件 但我无法通过工作室 Web UI 查看特定文档是否有附件 有没有办法通过工作室用户界面查询附件
  • 路径参数和多种控制器类型

    我有一个 asp net Web api 使用属性在控制器上进行路由 操作级别上没有路线属性 访问资源的路径是 Route id public MyApiController ApiController public HttpRespons
  • QML 几个具有主动焦点/键盘快捷键控制的项目

    我正在尝试为我的 qml 应用程序实现键盘快捷键控制 我知道可以使用 Action 元素来做到这一点 但我不想要强制使用的菜单和工具栏 这就是我通过键盘事件来探讨这个主题的原因 为此 我需要让执行操作的元素成为焦点 但我的目标是全局快捷方式
  • 嵌入谷歌地图 - 如何消除不需要的标记?

    如果我嵌入带有以下内容的谷歌地图 这是 iframe 上的 src 属性 地图上有两个标记 第一个标记是我传入的纬度 经度 绿色箭头 第二个标记是常规标记 有没有办法消除第二个标记 看起来您正在查询字段中发送坐标 这似乎意味着您正在 Goo
  • 使用 if 条件的列表理解来获取特定类型的文件列表

    大致遵循将列表推导式与 if else 结合在一起的逻辑这个解决方案 https stackoverflow com questions 14638871 python ternary iteration with list compreh
  • 将动态库注入企业应用程序(ipa)

    我想将我的库注入到现有的企业应用程序 ipa 文件 中 我找到了 mach inject 但这仅适用于 MacOS 其可能是因为https www mocana com https www mocana com正在这样做 请帮忙 任何想法
  • 如何在 Angular 4 规范文件中模拟 nativeElement.focus()

    我有一个方法使用ElementRef其定义如下 ViewChild idNaicsRef idNaicsRef ElementRef ElementRef然后使用设置焦点 nativeElement focus 该方法在运行规范时失败 提示
  • 将估算数据从模型添加到数据集 - hmisc aregImpute

    我正在尝试使用 hmisc 从数据集中估算值 我正在跟进本指南 https rstudio pubs static s3 amazonaws com 344055 0c737f77c0ef4e36b6865cb843a7bb4a html