【问题标题】:Descriptive statistics per subgroup after imputation using MICE使用 MICE 插补后每个子组的描述性统计
【发布时间】:2018-10-20 18:11:17
【问题描述】:

我想在使用 MICE 进行多重插补后为不同的子组生成描述性统计数据。

我有一个数据集,其中包括我估算的药物和年龄。

id <- c(1,2,3,4,5,6,7,8,9,10)  
age <- c(60, 80, 70, NA, 49, 30, NA, 59, 79, NA)
 medication <- c("yes", "no") 
 dat <- data.frame(id, age, medication)
 imp_1 <- mice(dat, maxit = 0)
 meth <- imp_1$method
 pred <- imp_1$predictorMatrix
 imp <- mice(dat, method = meth, predictorMatrix = pred, maxit = 10, m = 5, seed = 2018)

所以我使用关于 id 和药物使用的信息来估算年龄的 NA(当然,这与估算的质量无关,而只是为了创建一个示例)。

我想计算一下我在 75 岁以上和 75 岁以下的人群中有多少噻嗪类利尿剂的使用者。我尝试了两个代码:

 subgroup <- with(imp, expr= table(age>75), subset=(medication=="yes"))
 withPool_MI(subgroup)

 subgroup1 <- with(imp, expr= table(age>75, medication==1))
 withPool_MI(subgroup1)

但是,不幸的是,这两个代码都不起作用。所以我想要的是以下内容:

          0    1
age>75
age<75

我希望填写此表,以及两个年龄段的药物使用者和非使用者的数量。有人能帮我吗?

(这是我第一次创建可重现的示例,所以如果不正确或不起作用,请告诉我!)

【问题讨论】:

  • 欢迎您。该示例很好,但是缺少一些信息。首先,library(mice) 是必需的,这很容易,因为它是一个相当常见的库。但是,withPool_MI,它来自哪个包?最好将最后一个示例粘贴到新启动的 R 会话中,或使用 reprex(易于 google)。
  • 感谢您的提示。下次我要这样做! (withPool_MI 来自于miceadds)

标签: r r-mice


【解决方案1】:

您需要使用micecomplete() 功能。对于描述性统计,我使用dplyrtidyr(都在tidyverse 包中)。

library(tidyverse)
library(mice)

complete(imp, 1) %>% 
  # generate age groups
  mutate(Age_Group = case_when(age >= 75 ~ "age > 75",
                               TRUE ~ "age <= 75")) %>% 
  # aggregate groups
  count(medication, Age_Group) %>% 
  # make the clean table
  spread(medication, n)

输出是:

# A tibble: 2 x 3
  Age_Group    no   yes
  <chr>     <int> <int>
1 age <= 75     3     3
2 age > 75      2     2

【讨论】:

  • 谢谢,这成功了!但是,如果我有五个数据集,我会得到 5 个不同的表,对吗?因为在一个数据集中,年龄可以估算为 76,而在另一个数据集中可以估算为 74。然后我可以取平均值并合并表格吗?
  • 为此您需要定义set.seed()。查看它的文档或stackoverflow.com/a/27292162/8598377。希望这能回答您的问题?
【解决方案2】:

我正在处理同样的问题,但是如果您使用完整的函数,那么您将不会为所有数据集生成描述,对吧?因为如果我估算 5 次,所有 5 次都是不同的。有没有办法结合这些结果?

【讨论】:

  • 欢迎来到stackoverflow。我们不是讨论论坛,而是问答。如果您要发布答案(就像您在此处所做的那样),请确保您正在回答问题。
猜你喜欢
  • 2021-03-30
  • 1970-01-01
  • 2019-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-22
  • 1970-01-01
相关资源
最近更新 更多