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

R语言如何交替按升序降序重复序列生成指定长度向量

R生成长度37的升降交替重复向量方案

你原有代码仅使用了单向递增的seq(0.0,3.0,by=0.5)作为重复基底,没有加入递减段的逻辑,因此只能生成单向重复的序列。

实现思路

目标序列规律如下:

  • 数值从0.0每次递增0.5到峰值3.0,每个数值连续重复2次
  • 到达峰值后每次递减0.5回到谷值0.0,每个数值同样连续重复2次
  • 回到谷值后再次进入递增段循环,直到总长度达到37
  • 注意峰值3.0和谷值0.0每个周期只出现1次(对应2个重复元素),拼接升降段时不要重复首尾值,避免同一数值连续出现4次

可直接运行的代码

分步写法(适合新手理解)

# 1. 生成递增段数值:0.0到3.0,步长0.5
up_seq <- seq(0.0, 3.0, by = 0.5)
# 2. 生成递减段数值:反转递增段后,去掉首尾的3.0和0.0,避免值重复
down_seq <- rev(up_seq)[-c(1, length(up_seq))]
# 3. 拼接升降段得到循环数值基底,每个值重复2次,取前37个元素即可
result <- rep(c(up_seq, down_seq), each = 2, length.out = 37)

一行简洁写法

result <- rep(c(seq(0,3,0.5), rev(seq(0,2.5,0.5))[-6]), each=2, length.out=37)

结果验证

运行后生成的向量如下,完全符合规律要求,总长度为37:

[1] 0.0 0.0 0.5 0.5 1.0 1.0 1.5 1.5 2.0 2.0 2.5 2.5 3.0 3.0 2.5 2.5 2.0 2.0 1.5 1.5 1.0 1.0 0.5 0.5 0.0 0.0 0.5 0.5 1.0 1.0 1.5 1.5 2.0 2.0 2.5 2.5 3.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 07:30:51