首页 > 解决方案 > 如何用鼠标R仅估算一列或几列

问题描述

我正在用 R 中的 mouse 包进行试验,并且很好奇如何将列排除在插补之外。

  1. 如果我只想对一列进行平均插补,那么该 mice.impute.mean(y, ry, x = NULL, ...)函数似乎就是我要使用的。我很难理解我需要包含什么作为第三个参数才能使它起作用。
  2. 如果我有一个数据集包含分类数据,如姓名、ID、出生日期等,不应该影响其他列的计算,并且在缺失时不应该填写,我如何告诉老鼠在其中排除这些列计算?

我一直在使用老鼠数据集 nhanes进行探索。

谢谢

标签: rdataframeimputationr-mice

解决方案


我不知道您的数据,因此无法为您创建示例,但您正在寻找 mouse ()函数的此参数

predictorMatrix
长度(块)行和 ncol(数据)列的数字矩阵,包含 0/1 数据,指定要用于每个目标列的预测变量集。每行对应一个变量块,即一组要插补的变量。值为 1 表示列变量用作目标块(在行中)的预测器。默认情况下,predictorMatrix 是 ncol(data) 行和列的方阵,除对角线外,全为 1。注意:对于两级插补模型(名称中包含“2l”),也允许使用其他代码(例如,2 或 -2)。

使用此参数,您可以定义要使用哪些列来估算特定列。

where
一个数据框或矩阵,其逻辑与数据的维度相同,指示应在数据中的何处创建插补。默认值,其中 = is.na(data),指定应估算缺失的数据。where 参数可用于过度估算观察到的数据,或跳过对选定缺失值的估算。

您可以在此处定义要为哪些列创建插补。


推荐阅读