You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中按百分比拆分分类变量生成统计汇总表?

解决方法:生成带百分比的描述性统计表格

刚好我之前也处理过类似的需求,在R里不管是用原生函数还是第三方工具包都能轻松搞定,下面分两种情况给你拆解:

一、原生R函数实现(无需额外安装包)

如果你不想装新包,用基础R的table()+prop.table()组合就能完成,步骤很清晰:

  1. 先获取分类变量的频数分布
  2. 把频数转换成百分比
  3. 合并成更易读的数据框格式

针对你的种族列,代码示例如下:

# 提取种族的频数
race_counts <- table(dataset$race_string)
# 计算百分比(保留2位小数)
race_pct <- round(prop.table(race_counts) * 100, 2)
# 合并成包含频数和百分比的表格
race_stats_df <- data.frame(
  种族 = names(race_counts),
  频数 = as.numeric(race_counts),
  百分比 = paste0(race_pct, "%")
)

# 查看结果
print(race_stats_df)

如果要批量处理多个分类变量,可以写个简单的循环函数,比如:

# 定义生成统计表格的函数
generate_stats <- function(data, var) {
  counts <- table(data[[var]])
  pct <- round(prop.table(counts)*100,2)
  data.frame(
    变量名 = var,
    类别 = names(counts),
    频数 = as.numeric(counts),
    百分比 = paste0(pct, "%")
  )
}

# 列出你需要统计的分类变量
categorical_vars <- c("race_string", "gender", "education_level")
# 批量生成并合并表格
all_stats <- lapply(categorical_vars, function(x) generate_stats(dataset, x))
combined_stats <- do.call(rbind, all_stats)

print(combined_stats)

二、第三方工具包推荐(更高效美观)

如果想要更简洁的代码或者更专业的报告格式,推荐两个常用的包:

1. janitor包:快速生成频数百分比表

janitor的tabyl()函数专门为这类需求设计,一行代码就能输出清晰的频数+百分比表格,还支持分组统计:

# 安装并加载包
install.packages("janitor")
library(janitor)

# 生成种族的统计表格
tabyl(dataset, race_string) %>%
  adorn_pct_formatting(digits = 2) # 格式化百分比,保留2位小数

# 如果需要按其他变量分组(比如性别)统计种族占比
tabyl(dataset, gender, race_string) %>%
  adorn_percentages("row") %>% # 按行计算百分比
  adorn_pct_formatting(digits = 2)

2. gtsummary包:生成专业统计报告表格

如果你需要同时处理分类和数值变量,生成适合报告的统计表格,gtsummary绝对是首选,它会自动为分类变量添加百分比,为连续变量生成均值、标准差等统计量:

# 安装并加载包
install.packages("gtsummary")
library(gtsummary)

# 选择需要统计的变量,生成表格
dataset %>%
  select(race_string, age, gender, household_income) %>% # 选择目标变量
  tbl_summary(
    statistic = list(
      all_categorical() ~ "{n} ({p}%)", # 分类变量格式:频数(百分比)
      all_continuous() ~ "{mean} ± {sd} [{min}-{max}]" # 连续变量格式:均值±标准差[最小值-最大值]
    )
  )

这个包还支持把表格导出为HTML、Word或LaTeX格式,非常适合做数据分析报告。

内容的提问来源于stack exchange,提问作者Jaigus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 06:22:33