如何在R中为单一疾病(多编码)生成性别统计表格
针对淋病的性别统计表格实现方法
这里给你几种实用的实现方式,都是R里常用的操作:
方法一:Base R 原生操作
先筛选出属于淋病的记录,再用table()统计性别分布,还能扩展计算比例:
# 筛选淋病对应的编码行 gonorrhoea_df <- subset(df, Disease %in% c("709", "1515", "20")) # 生成性别频数统计表格 gender_table <- table(gonorrhoea_df$Gender) print(gender_table) # 如果需要比例统计(可选) gender_prop_table <- prop.table(gender_table) * 100 print(gender_prop_table)
方法二:tidyverse/dplyr 管道式操作
如果你习惯用tidyverse的语法,这种链式操作更清晰,适合后续扩展分析:
首先确保安装并加载dplyr包:
# 安装包(首次使用需要) # install.packages("dplyr") library(dplyr) # 筛选+统计一步完成 gender_stats <- df %>% filter(Disease %in% c("709", "1515", "20")) %>% count(Gender, name = "Count") %>% mutate(Percentage = (Count / sum(Count)) * 100) print(gender_stats)
额外提示
- 如果你需要把统计结果输出成更美观的表格,可以用
knitr::kable()(需要knitr包),比如:
# install.packages("knitr") knitr::kable(gender_stats, caption = "淋病患者性别分布统计")
- 注意编码是字符串类型(你的示例里是字符),如果实际数据是数值,去掉引号即可,比如
c(709, 1515, 20)。
内容的提问来源于stack exchange,提问作者user19807620
相关产品推荐
相关产品推荐

