小编Nik*_*ita的帖子

用列均值替换缺失值

我不知道如何循环每列以用列均值替换NA值.当我尝试使用以下代码替换一列时,它运行良好.

Column1[is.na(Column1)] <- round(mean(Column1, na.rm = TRUE))
Run Code Online (Sandbox Code Playgroud)

循环列的代码不起作用:

for(i in 1:ncol(data)){
    data[i][is.na(data[i])] <- round(mean(data[i], na.rm = TRUE))
}
Run Code Online (Sandbox Code Playgroud)

值不会被替换.有人可以帮我这个吗?

r missing-data imputation

40
推荐指数
9
解决办法
11万
查看次数

如何合并amelia的输出

我正在使用归因处理丢失的数据。我正在探索Amelia和rms软件包进行插补。我对这些软件包有一些疑问。

  1. 我想合并来自Amelia的估算数据集。我确实看到Amelia具有mi.meld将多个插补结果组合在一起的功能。但是我想先合并数据集,然后训练不同的模型。我不确定是否要合并数据集,然后使用该数据以正确的方式训练模型。我想这样做是因为我的测试数据也缺少数据。我想使用插补来处理它,以便可以用它来预测值。

    for(i in 1:impute$m) {  
      model <- rpart(Y ~X1+X2+X3+X4+X5,
                     data=impute$imputations[[i]],method="anova",control=rpart.control(cp=0.001))
      b.out <- rbind(b.out, model$coef)
      se.out <- rbind(se.out, coef(summary(model))[,2])
    }
    combined.results <- mi.meld(q = b.out, se = se.out)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我也为此目的使用了rms软件包。我想确认aregImpute函数是否合并了估算数据集?

    impute<- aregImpute(Y~X1+X2+X3+X4+X5,data= train_data,n.impute=5,nk=0) 
    
    Run Code Online (Sandbox Code Playgroud)

有谁对如何将多个估算数据集合并到一个数据集中提出建议?

r missing-data

5
推荐指数
1
解决办法
935
查看次数

标签 统计

missing-data ×2

r ×2

imputation ×1