【发布时间】:2021-01-08 03:55:58
【问题描述】:
我有一个包含大约 700,000 名患者的数据集,其中我有医院站点 ID(因子变量)。我想创建一个可见医院数量的行(这与患者数量是分开的)。除了一个整体列之外,我还有 3 个分类变量作为我的列。
目前,每个医院 ID 都有一个单独的行,其中包含每个类别的每个站点中的患者数量。
我的代码如下:
t1 <- PIR %>%
select(siteidn, countryname) %>%
tbl_summary(by = countryname ,missing = "no",
label = list(
siteidn = "Number of ICUs"),
statistic = list(
all_continuous() ~ "{mean} ({sd})",
all_categorical() ~ "{n} ({p}%)")) %>%
bold_labels() %>%
italicize_levels() %>%
add_overall()
t2 <- PIR %>%
select(siteidn, hospt) %>%
tbl_summary(by = hospt ,missing = "no",
label = list(
siteidn = "Number of ICUs"),
statistic = list(
all_continuous() ~ "{mean} ({sd})",
all_categorical() ~ "{n} ({p}%)")) %>%
bold_labels() %>%
italicize_levels()
t3 <- PIR %>%
select(siteidn, iculevelname) %>%
tbl_summary(by = iculevelname ,missing = "no",
label = list(
siteidn = "Number of ICUs"),
statistic = list(
all_continuous() ~ "{mean} ({sd})",
all_categorical() ~ "{n} ({p}%)")) %>%
bold_labels() %>%
italicize_levels()
tbl_merge(
tbls = list(t1, t2, t3),
tab_spanner = c("**Country**", "**Hospital Type**", "**ICU Level**"))
这会产生下表:
可以看出,每个医院 ID 都有单独的一行。我想在一行中显示每一层的医院总数(即澳大利亚、新西兰、大都会等的医院总数)。
我的问题是:
- 有没有办法为不是患者编号的因子变量获取总行?
- 是否可以在合并表格后插入一个整体列(使整体列不在国家标题下)?
- 有没有办法为患者数量创建一行,并且在标题中不包含这些详细信息?
感谢大家的宝贵时间。
本
添加:这是我希望桌子看起来的图像。我为它的粗鲁道歉。我希望只有一行作为 ICU 总数的因子变量,而不是在每个 ICU 中都有一行包含其中的患者数量(红色墨水)。
此外,有没有一种方法可以将 2 行分组到一个类似于因子变量(Green Ink)的共同标题下。
我很欣赏我的 R 技能是初级的。谢谢大家的耐心等待!
本
【问题讨论】:
-
欢迎来到 SO!如果您能够提供一些数据以使其成为reproducible example,这可能会有所帮助。为此,请尝试
dput(head(PIR))并编辑您的帖子,然后复制/粘贴结果。此外,如果您能够澄清最终表/结果最终应该是什么样子,这将有所帮助。也许“模型”包括行和列是什么(不需要实际数据)。 -
谢谢@Ben,下次我会努力的。我刚开始学习R,所以还是有点绿!