R

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

我有这样的数据集

structure(list(age = c(20, 21, 30, NA, NA, NA, 50, 61, 60, 63, 
NA, NA, NA), sex = c(NA, 0, NA, 1, NA, 1, 0, NA, NA, NA, NA, 
0, 1), diabetes = c(NA, NA, 1, 1, NA, 1, NA, 1, 1, 1, 0, 0, NA
), hypertension = c(1, NA, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1), 
    hypercholesterolemia = c(1, 1, NA, 1, 0, 0, NA, 1, NA, 1, 
    0, 0, 0)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, 
-13L))

你能告诉我如何进行 MICE 插补吗?我想输入所有缺失值。 我尝试阅读 Internet 上的教程,但出现错误或者我没有归咎于所有内容。 有例子的代码就够了,稍后我会调整设置

r database statistics imputation
2个回答
0
投票

试试这个:

library(miceRanger)
mr <- miceRanger(dataframe,valueSelector = "meanMatch",verbose=FALSE, returnModels = T) # fits the models
df_final <- ampute(dataframe,mr) # ampute the data

你也可以使用

valueSelector = "value"

更多详细信息:https://cran.r-project.org/web/packages/miceRanger/vignettes/miceAlgorithm.htmlhttps://cran.r-project.org/web/packages/miceRanger/ miceRanger.pdf


0
投票

作为起点,我在这里举了一个例子。 mice函数中使用以下默认设置开始插补,所以我就在这里 带来了重要参数,即'm',即必须生成多少估算数据集, 'maxit' 或每个估算数据集应使用多少次迭代, 和我在这里使用的预测方法或'method'参数匹配'pmm'。 但要了解 mice 函数中这些选项的完整解释,请参阅 ?mice。然后你可以决定 如何有效地调整这些选项。 导入您的数据

df<- structure(list(age = c(20, 21, 30, NA, NA, NA, 50, 61, 60, 63, 
                       NA, NA, NA), sex = c(NA, 0, NA, 1, NA, 1, 0, NA, NA, NA, NA, 
                                            0, 1), diabetes = c(NA, NA, 1, 1, NA, 1, NA, 1, 1, 1, 0, 0, NA
                                            ), hypertension = c(1, NA, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1), 
               hypercholesterolemia = c(1, 1, NA, 1, 0, 0, NA, 1, NA, 1, 
                                        0, 0, 0)), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, 
                                                                                                           -13L))

以 mice() 函数为例开始插补:

imp <- mice(df
             , m = 10
             , maxit = 10
             , method = 'pmm'
             ,printFlag = FALSE
              ) 

#A summary of the imputation results can be obtained by calling the imp object.
imp

可以使用完整函数提取插补数据集。

miceOutput <- complete(imp) # generate the completed data
© www.soinside.com 2019 - 2024. All rights reserved.