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

如何用R语言的table()函数获取列中唯一元素占比并排序

解决方案

步骤1:计算各类占比

你已经通过table(data$Level)拿到了频数表,直接用prop.table()包裹这个结果就能算出每类的占比(默认是小数形式):

# 先存好频数表
level_count <- table(data$Level)
# 计算占比(小数)
level_prop <- prop.table(level_count)
# 转成百分比形式(可选)
level_prop_percent <- prop.table(level_count) * 100

步骤2:按指定顺序排序

默认table的输出顺序是字母序(High、Low、Medium),要改成Low、Medium、High的顺序,有两种简单方式:

方法一:先把列转为指定顺序的因子

提前把Level列设置成有序因子,后续的表和占比都会自动按你要的顺序输出:

# 给Level列指定固定顺序
data$Level <- factor(data$Level, levels = c("Low", "Medium", "High"))
# 重新生成排序后的频数和占比
level_count_sorted <- table(data$Level)
level_prop_sorted <- prop.table(level_count_sorted) * 100

方法二:直接对已有结果排序

如果不想修改原数据,直接用索引指定顺序即可:

# 假设已经算出了level_prop_percent
level_prop_sorted <- level_prop_percent[c("Low", "Medium", "High")]

查看最终结果

直接输入变量名就能看到排序后的占比:

level_prop_sorted

输出会是类似这样的格式:

Low Medium   High 
 30.3   33.2   36.5 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 21:45:29