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

如何生成前4元素同向量a、后5元素取两向量最大值的向量

R语言按规则生成新向量

现有两个R向量:

a <- c(1,1,1,1,20,30,40,100,300)
b <- c(2,2,2,2,100,0,0,120,5)

需要生成一个新向量,满足以下规则:

  • 前4个元素与向量a完全一致
  • 后5个元素取向量a和b对应位置的最大值

期望输出:

output <- c(1,1,1,1,100,30,40,120,300)

解决方案

方法1:分块拼接+pmax函数

利用pmax直接逐元素取最大值,再和a的前4个元素拼接,是最简洁的实现方式:

output <- c(a[1:4], pmax(a[5:9], b[5:9]))

方法2:ifelse条件判断

通过索引判断元素位置,统一生成结果,适合需要扩展规则的场景:

output <- ifelse(seq_along(a) <= 4, a, pmax(a, b))

方法3:直接赋值修改

先复制a的全部内容,再替换后5个位置的元素,逻辑直观易懂:

output <- a
output[5:9] <- pmax(a[5:9], b[5:9])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 20:35:24