如何使用我的特定模式在R中使用gt库创建表?

问题描述

我试图根据下面的图片模式使用gt库获得一个漂亮的表:

enter image description here

这是我拥有的数据类型:

structure(list(id = c("2ea06a3a96","76a7e5d251","29a0c9f7d9","4d1188caef","970c38434a","96dbb11b61","acff8511c6","a1ddf9ecba","425d60b46a","ec601cd8c5","42cc8e980c","822b9c9da6","edb56bac99","095e5079df","95c0096cb3","677e9b44e7","3b53e377eb","114f886911","2fa12d6165","f2c6311363","0677c4cfc4","a766a6652a","29d5739a95","6a17fc2e03","ae5a737a81","e2da9843fe","f038e96abb","96765b4286","7be540aca3","26d5b180bf","c5262c0f01","7b8f39561d","5af251e51d","ed6b830e6d","e3be3d357c","13fdd1b749","72f4bdf464","bbdea149be","83161a15ad","cbe89428dd","6c337c3a95","ad41833bd7","e0b51db8fd","b58b8e9e12","8c0e68b993","12c73b1976","382f2e5eb9","af00d8a6ec","1fd4e5714b","287ac54048"),tested = c("negative","showing symptoms","negative","showing symptoms"),age_band = c("0-19","20-39","40-59","60+","20-39"),asthma = c("No","No","Yes","No"),diabetes_type_one = c("No",diabetes_type_two = c("No",obesity = c("No",hypertension = c("No",heart_disease = c("No",lung_condition = c("No",liver_disease = c("No",kidney_disease = c("No","No")),row.names = c(NA,-50L),class = c("tbl_df","tbl","data.frame"))

这就是我所做的:

numb <- test  %>%
  tidyr::pivot_longer(cols= 4:12,names_to="comorbidities",values_to="yes_no") %>%
  dplyr::group_by(age_band,tested,comorbidities,yes_no) %>%
  dplyr::summarise(count=n()) %>%
  dplyr::mutate(perc =  count/sum(count) *100) %>%
  dplyr::filter(yes_no !="No" & age_band != "0-19" & tested != "negative")

numb$yes_no <- NULL


numb$comorbidities <- as.factor(numb$comorbidities)
numb$age_band <- as.factor(numb$age_band)
numb$perc <- round(numb$perc,digits = 1)

numb

使用我的特定数据-我希望年龄段20-39; 40-59 and 60+就像上表中的2015; 2016; 2017一样,而在每个年龄段下面,我都希望tested and showing symptoms类别就像write一样, pass rate用于每种合并症,按字母顺序排列-asthma,cough,chills etc(应像'Ontario RN university program collaborative partner,and language instruction'一样在侧面显示为行。我希望保留计数和百分比。

我只是发现了这个库,但是不知道如何在列中获取3个不同年龄段的组(出现在行中),而两组都是阳性并显示症状,同样存储到行中。 / p>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)