首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中使用gtsummary的复杂汇总表

在R中使用gtsummary的复杂汇总表
EN

Stack Overflow用户
提问于 2021-08-25 01:09:52
回答 1查看 51关注 0票数 1

我已经在数据集中选择了几列,我想使用gtsummary创建一个表。我遇到了一些问题,不确定如何让它工作。

这里提供了部分可重现的数据

代码语言:javascript
复制
structure(list(country = c("SGP", "JPN", "THA", "CHN", "JPN", 
"CHN", "CHN", "JPN", "JPN", "JPN"), Final_Medal = c(NA, NA, NA, 
NA, NA, "GOLD", NA, NA, NA, NA), Success = c(0, 0, 0, 0, 0, 1, 
0, 0, 0, 0)), row.names = c(NA, 10L), class = "data.frame")

它看起来像这样:

代码语言:javascript
复制
country Final_Medal Success
SGP     NA          0
JPN     NA          0
THA     NA          0

Final_Medal包含NA,金牌,银牌和铜牌成功包含0和1所有我想要的输出是按国家分组并计算每个国家的奖牌和成功的数量。

所需输出:

代码语言:javascript
复制
Country  GOLD  Silver Bronze  Success   Total_Entry
SGP       5      2       10      17         50
JPN       4      3       5       12         60
CHN       5      2       6       13         60

Success将只计算1和Total_Entry我想要包含它并不重要它是0还是1

我有一个代码,看起来像这样,但它不工作,不确定需要做什么。

代码语言:javascript
复制
library(gtsummary)

example%>%tbl_summary(
  by = country,
  missing = "no" # don't list missing data separately
) %>% 
  bold_labels() 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-25 01:18:19

您可以在dplyr中进行聚合,并使用gt/gtsummary进行显示。

代码语言:javascript
复制
library(dplyr)
library(gt)

df %>%
  group_by(country) %>%
  summarise(Gold = sum(Final_Medal == 'GOLD', na.rm = TRUE), 
            Silver = sum(Final_Medal == 'SILVER', na.rm = TRUE), 
            Bronze = sum(Final_Medal == 'BRONZE', na.rm = TRUE), 
            Success = sum(Success), 
            Total_Entry = n()) %>%
  gt() 

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68915649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档