【问题标题】:Hmisc: How do I include the results of reformM as an argument in aregImpute?Hmisc:如何将reformM 的结果作为参数包含在aregImpute 中?
【发布时间】:2020-05-23 10:26:50
【问题描述】:

我正在使用 Hmisc 包中的 aregImpute 来估算数据集中的缺失值。由于结果对公式中变量的顺序不是不变的,所以我使用reformM函数生成了多个随机公式排列:

reformM(~ x1 + x2 + x3..., data = d, nperm = Z)

函数返回一个列表。

我查看了帮助文件,但不清楚如何将结果传递给aregImpute

是否可以传递对象以使aregImpute 将迭代不同的组合以评估任何可变性?也就是说,是否可以将多个排列传递给aregImpute?如果不是,我是否只需使用新的变量顺序创建一个新公式?

【问题讨论】:

    标签: r hmisc


    【解决方案1】:

    您当然可以使用mapreformM 传递给aregImpute。下面,我提供一个最小的例子。也就是说,我确实认为重新排序变量是一个更好的主意,以便首先估算具有较高缺失数据率的变量。

    library(missForest)
    library(tidyverse)
    iris_miss <- prodNA(iris,0.10)  ## make every variable missing at 10% 
    ## factorial(ncol(iris_miss))  ## number of possible permutations
    permlist <- reformM( as.formula(paste(" ~ ", names(iris_miss) %>% str_flatten( " + "))), data=iris_miss, nperm=10 ) ## get 10 permutations 
    map(permlist, aregImpute, nk=3, n.impute=5, data= iris_miss)
    

    【讨论】:

      猜你喜欢
      • 2019-07-13
      • 2020-05-03
      • 2018-03-22
      • 1970-01-01
      • 1970-01-01
      • 2016-05-06
      • 2022-10-14
      • 2015-05-24
      • 1970-01-01
      相关资源
      最近更新 更多