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

如何计算R语言向量中各元素的出现占比?

计算R语言向量中元素的出现占比

基础R实现(无需额外包)

直接利用table()统计元素频次,再除以向量总长度得到占比,最后转换为目标数据框格式:

InputVector <- c(1,1,1,1,1,2,2,2,3,3)

# 统计频次并计算占比
freq_table <- table(InputVector)
percentile_values <- as.numeric(freq_table) / length(InputVector)

# 转换为预期的data.frame格式
result <- data.frame(
  Value = as.numeric(names(freq_table)),
  Percentile = percentile_values
)

# 查看结果
result

运行后输出与预期完全一致:

Value Percentile
1     1        0.5
2     2        0.3
3     3        0.2

tidyverse(dplyr)实现

如果习惯tidyverse风格的代码,用dplyr可以更简洁完成:

library(dplyr)

InputVector %>%
  as_tibble() %>%
  count(Value = value) %>%
  mutate(Percentile = n / sum(n)) %>%
  select(-n)

这段代码将向量转为tibble、统计元素出现次数、计算占比后移除计数列,最终得到目标结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 01:55:32