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

如何在R中为研究基线特征表自动添加频率百分比?

在R中自动化生成带百分比的交叉表(基线特征表)

以下两种方法可以帮你自动生成包含「频数(百分比)」格式的基线特征交叉表:

方法1:基础R原生实现(无需额外包)

先构造示例数据,再对交叉表进行格式化处理:

# 构造示例数据(替换成你的真实数据)
set.seed(123)
drug <- sample(c("drug x", "drug y"), 20, replace = TRUE)
diabetes <- sample(c("diabetes y", "diabetes n"), 20, replace = TRUE)

# 生成原始频数表
raw_tab <- table(drug, diabetes)

# 按行计算百分比并拼接成目标格式
formatted_tab <- apply(raw_tab, 1, function(row) {
  paste0(row, " (", round(row / sum(row) * 100, 1), "%)")
})

# 转置恢复原表格结构
final_tab <- t(formatted_tab)
print(final_tab)

运行后会输出类似:

diabetes y diabetes n
drug x        1 (10%)     9 (90%)
drug y        3 (30%)     7 (70%)

方法2:使用janitor包简化操作(更高效)

janitor包专门为科研制表设计,能一键生成符合要求的表格:

# 安装并加载包(首次使用需安装)
install.packages("janitor")
library(janitor)

# 生成包含频数和行百分比的表格
tabyl(drug, diabetes) %>%
  adorn_percentages("row") %>%  # 按行计算百分比
  adorn_pct_formatting(digits = 1) %>%  # 百分比保留1位小数
  adorn_ns(position = "front")  # 把频数放在百分比前面

这个方法输出的结果和你的理想格式完全匹配,且代码更简洁易读。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 12:10:17