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

在R中使用索引获取向量的两个中间值(适配任意向量长度)

R语言:通过纯索引实现任意长度向量的中间值获取

实现要求

  • 仅可通过**索引(INDEXING)**逻辑实现,禁止硬编码位置
  • 代码需适配任意长度的向量:偶数长度返回两个中间位置值,奇数长度返回单个中间位置值
  • 测试用向量为c(59, 46, 76, 60, 49, 65, 82, 68, 99, 52),期望输出为49 65

实现代码

# 定义输入向量
input_vec <- c(59, 46, 76, 60, 49, 65, 82, 68, 99, 52)
# 计算向量长度
vec_length <- length(input_vec)
# 自动计算中间位置索引,适配奇偶长度
mid_index <- if (vec_length %% 2 == 0) {
  c(vec_length/2, vec_length/2 + 1)
} else {
  (vec_length + 1)/2
}
# 纯索引获取中间值
mid_values <- input_vec[mid_index]
# 打印输出
mid_values

运行输出

[1] 49 65

拓展说明

如果需要获取排序后向量的中间值(即中位数对应的取值),仅需调整索引取值步骤的代码为:

mid_values <- sort(input_vec)[mid_index]

即可满足需求,不需要修改其他逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 00:06:09