问题标签 [r-mice]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
439 浏览

r - as.mids 用 NA 替换附加值

我需要将变量添加到使用构建的估算数据集中mice(),然后使用as.mids()将它们重新组合成一个mids对象以供以后分析。但是,当我complete()在重建的mids对象上使用时,我发现添加到数据集中的新变量中的许多值都变成了 NA。

在上面的示例中,我创建了一个新的 long data.frame 并将其应用于as.mdids()它,但是如果我使用cbind将新变量添加到d.long,或者将新变量分配给 ,我会得到相同的结果d.long$added

重新组装对象后,如何确保新变量中的值保留在那里mids

0 投票
1 回答
401 浏览

r - pool.compare 生成不一致的参数错误

替代标题:模型矩阵和系数集显示不同数量的变量

我正在使用R的mouse包进行一些分析。我想使用 比较两个模型(保存在mira对象中),但我不断收到以下错误:pool.compare()

Error in model.matrix(formula, data) %*% coefs : non-conformable arguments

二元运算符表示R%*%中的矩阵乘法。

该表达式model.matrix(formula, data)生成“具有指定公式和数据的类回归模型的设计矩阵”(来自model.matrix {stats}的R文档)。

在错误消息中,coefs取自est1$qbar,其中est1mipo对象,qbar元素是“完整数据估计的平均值。多重插补估计”。(来自mipo-class {mice}的文档)。

就我而言

  • est1$qbar是长度为 36 的数值向量
  • data是一个数据框,包含 82 个变量的 918 个观测值
  • formula是包含我的模型公式的类“公式”
  • model.matrix(formula, data)是一个尺寸为 918 x 48 的矩阵。

如何解决/防止此错误?

0 投票
0 回答
1320 浏览

r - R中多重插补(MICE)的简单限制/约束

我想使用 R 中的MICE包对一组变量执行多重插补。

最小值为gcs3 最大值为15,它可能不是小数,如何在MICE中设置这些约束?也一样,但是这个只有0hf的下限。

0 投票
0 回答
530 浏览

r - 仅在 R 中使用 plot.mids 绘制指定变量

我有一个在 R 中运行鼠标算法得到的 mids 对象。我正在尝试使用 plot.mids 来评估收敛性。我希望能够绘制两个指定变量的收敛诊断。这是一个例子:

在这里,只显示变量 chl 的图,虽然您可以点击后退箭头来查看其他的,但我想在同一个图中一起显示 chl 和 bmi 以用于报告。我尝试通过 y=formula 指定变量,但不认为我理解如何使用它。

这似乎试图将 chl 的手段与 bmi 的手段进行对比(我认为),这不是我所追求的。

0 投票
1 回答
534 浏览

r - 在 R 中使用 .mids 对象创建训练数据集

我有缺少组件的数据,所以我运行了鼠标算法(来自 package mice)。该函数返回一个 .mids 对象,我想将其拆分为训练和测试数据集以评估模型拟合度。我希望训练和测试数据也是 .mids 形式,以便它们可以与各种其他功能相结合,例如pool根据鲁宾规则调整标准误差。

这是我的尝试,我只是从数据中删除行以获得训练集:

但是,如果我尝试使用这些数据运行模型:

我遇到一个错误,指出它正在尝试用 7 替换 9 行(大概是因为我减少了 train$data 中的行数而没有调整其他内容)。

任何帮助将非常感激。

0 投票
2 回答
312 浏览

r - 如何使用分类值估算连续值

我在连续向量中有缺失值

我有邮政编码

我想使用邮政编码来估算 y。我努力了

但是我收到错误消息,表明它不能做交叉产品(由于我的 rstudio 会话挂起,所以无法发布特定消息)。

关于如何用鼠标或其他包做到这一点的任何想法?


编辑:dput部分数据

0 投票
1 回答
575 浏览

r - 将插补数据与 R 中的 MICE 相乘后的列联表

在使用MICE包在 R 中进行插补后,我想生成列联表。拟合显示列表中的表格,但如果我 pool()是它们,则会引发以下错误:Error in pool(fit) : Object has no coef() method.我在做什么错?

这个基本示例重现了错误:

0 投票
2 回答
2505 浏览

r - 我可以使用 mi 包合并估算的随机效应模型估计吗?

mi在过去的几年中,该软件包似乎在某个时候进行了相当大的重写。

下面的教程很好地概述了“旧”的做事方式:http: //thomasleeper.com/Rcourse/Tutorials/mi.html

“新”的做事方式(坚持 Leeper 的模拟演示)看起来像这样:

尽管函数名称发生了变化,但这实际上与“旧”的做事方式非常相似。

最大的变化(从我的角度来看)是替换以下“旧”功能

lm.mi(formula, mi.object, ...)

glm.mi(formula, mi.object, family = gaussian, ...)

bayesglm.mi(formula, mi.object, family = gaussian, ...)

polr.mi(formula, mi.object, ...)

bayespolr.mi(formula, mi.object, ...)

lmer.mi(formula, mi.object, rescale=FALSE, ...)

glmer.mi(formula, mi.object, family = gaussian, rescale=FALSE, ...).

以前,用户可以使用这些函数之一为每个估算数据集计算模型,然后使用mi.pooled()(或者coef.mi()如果我们遵循 Leeper 示例)将结果汇集起来。

在当前版本mi(我安装了 v1.0)中,最后这些步骤似乎已合并为一个函数,pool(). 该pool()函数似乎读取了在上述插补过程中分配给变量的族和链接函数,然后bayesglm使用指定的公式估计模型,如下所示。

这看起来我们即将恢复我们的模拟 beta 值(2 和 20)。换句话说,它的行为符合预期。

为了获得分组变量,让我们使用具有天真模拟随机效应的稍大的数据集。

由于missing_data.frame()似乎将其解释group_var为连续的,因此我使用change()函数 frommi重新分配给"un"“无序分类”,然后按上述方式进行。

现在,除非 1.0 版删除了以前版本的功能(即和mi可用的功能),否则我会假设在公式中添加随机效应应该指向适当的函数。但是,最初的错误消息表明情况并非如此。lmer.miglmer.mipool()lme4

遵循我的警告消息并从我的因子中提取整数确实让我得到了一个估计值,但结果表明它pool()仍在估计一个固定效应模型,bayesglm并保持我尝试的随机效应常数。

我的问题是:

  1. 是否可以使用mi? 轻松生成汇总随机效应估计,以及
  2. 如果是,如何?
0 投票
0 回答
1313 浏览

c++ - 无法安装 R 包“老鼠”:g++ 错误

我无法安装 R 包“老鼠”。我收到以下错误消息:

我试图自己解决这个问题,但我失败了。任何帮助都感激不尽!这是我的会话信息:

我按照muru 在这里发布的说明解决了这个问题

0 投票
0 回答
68 浏览

r - 将一组缺失函数应用于 R 中的数据集

最近我遇到了R 中的validate包,当您想使用预定义的规则验证完整的数据集时,它非常有用,例如:

现在我想知道是否有类似的东西可用于缺失值插补。有像micemi等非常好的包,但是插补方法是标准的,不是用户定义的或自定义的。任何人都可以建议是否有设置一些预定义的缺失函数并将它们应用于 R data.frame。可以像这样工作的东西: