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

如何计算有序向量中各首次出现值的位置百分占比

解决有序向量中值首次出现位置的百分占比计算问题

可以用以下R代码实现需求,逻辑清晰且贴合示例中的计算规则:

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

# 提取每个唯一值的首次出现索引(从1开始计数)
first_occurrence_indices <- match(unique(InputVector), InputVector)

# 计算百分占比:(首次索引 - 1) / 向量总长度
percentiles <- (first_occurrence_indices - 1) / length(InputVector)

# 整理成预期的data.frame格式
result <- data.frame(Value = unique(InputVector), Percentile = percentiles)

# 查看结果
result

运行这段代码后,输出结果和你给出的ExpectedResult完全一致:

Value Percentile
1     1        0.0
2     2        0.5
3     3        0.8

关键步骤说明

  • match(unique(InputVector), InputVector):利用unique()获取有序向量中的唯一值(保持出现顺序),再通过match()找到每个唯一值第一次出现的位置索引。
  • 百分占比计算:因为示例中以0作为第一个元素的百分位基准,所以用(首次索引 - 1)得到相对起始位置的偏移量,再除以向量总长度得到占比。

内容的提问来源于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:41:17