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

R语言如何计算dataframe每列各值占该列总答题数的百分比

逐列计算答题占比的R实现方案

你可以根据自己的使用习惯选择以下任意一种方法实现需求:

  • 基础R向量化运算(最简便,无需加载第三方包)
    直接对整个数据框做数值运算即可自动逐元素匹配计算,可搭配round()函数保留指定小数位:
# 计算占比,保留2位小数
df_pct <- round(df / 2230 * 100, 2)

运行后输出结果示例:

q1     q2     q3
1   7.13   4.75   4.44
2   6.23  12.74   9.96
3  46.99  46.77  43.99
4  25.61  30.13  37.80
5   4.17   5.61   4.22
  • dplyr包实现
    适合已经在使用tidyverse生态工具链的场景,用across()遍历所有列做计算:
library(dplyr)
df_pct <- df %>% 
  mutate(across(everything(), ~round(.x / 2230 * 100, 2)))
  • janitor包adorn_percentages函数实现
    你之前用到的adorn_percentages可以通过调整参数实现按列计算占比,还能直接输出带百分号的格式化结果:
library(janitor)
df_pct <- df %>% 
  # 指定按列分母计算占比
  adorn_percentages(denominator = "col") %>% 
  # 格式化百分比,保留2位小数
  adorn_pct_formatting(digits = 2)

运行后会自动在数值后添加%符号,适合直接做表输出。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 23:36:03