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

如何在不使用c()函数的情况下生成每次移位1的整数序列?

实现目标序列的两种方法(不使用c())

你需要的是每次重复序列时整体移位1的结果,以下是两个不用c()的实现方式:

方法一:借助outer()和as.vector()

as.vector(outer(1:5, 0:4, "+"))
# 输出结果:
# 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9

outer(1:5, 0:4, "+")会生成一个5×5的矩阵,每行对应一次移位后的序列;as.vector()会将矩阵按列展开,正好得到你要的连续序列。

方法二:通过序列索引生成

seq(1,9)[rep(1:5, each=5) + rep(0:4, 5)]
# 输出结果:
# 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9

rep(1:5, each=5)生成重复5次的起始位置,rep(0:4,5)生成每次移位的偏移量,两者相加得到目标序列在seq(1,9)中的索引,直接提取即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 23:50:34