如何统计列中值的出现次数并除以总行数?已使用table函数
解决方法
你可以通过两种方式快速计算目标占比:
方法1:使用prop.table()(推荐)
R的prop.table()函数可以直接把table()的统计结果转换成相对占比,无需手动计算总行数:
# 计算0-1区间的相对占比 prop.table(table(df$over1.5)) # 若需要转换成带两位小数的百分比格式 round(prop.table(table(df$over1.5)) * 100, 2)
方法2:手动实现计算逻辑
如果你想拆解步骤手动计算,先获取总行数再做除法即可:
# 统计2和3的出现次数 counts <- table(df$over1.5) # 获取数据集总行数 total_rows <- nrow(df) # 计算占比 proportions <- counts / total_rows # 转成百分比(可选操作) percentages <- round(proportions * 100, 2)
比如你的示例场景里有2个2、4个3,运行后会得到2的占比≈33.33%,3的占比≈66.67%。
内容的提问来源于stack exchange,提问作者Tony H
相关产品推荐
相关产品推荐

