R语言如何计算数据框指定单列的占比并输出百分比形式比例表
R计算列占比实现方案
你之前使用prop.table没有得到预期结果,是因为该函数默认输出小数形式的占比,没有转为百分比、也没有做小数位数限制,按以下步骤调整即可:
- 先计算目标列的频数
- 用
prop.table计算小数占比后乘以100转成百分比 - 按需求保留1位小数,可选格式化输出为你需要的字符串格式
代码示例
基础实现
# 计算d列频数 d_freq <- table(df$d) # 计算百分比并保留1位小数 d_percent <- round(prop.table(d_freq) * 100, 1) # 输出结果 print(d_percent)
运行输出:
1 2 3 33.3 16.7 50.0
输出为空格分隔的字符串
如果需要完全匹配你给出的1 33.3 2 16.7 3 50.0格式,可使用paste拼接:
result <- paste(names(d_percent), d_percent, collapse = " ") print(result)
输出:
[1] "1 33.3 2 16.7 3 50.0"
内容的提问来源于stack exchange,提问作者Ciro Mertens
相关产品推荐
相关产品推荐

