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

如何在R语言seq函数的from参数中使用多值生成数值向量?

解决方法

你可以用以下几种更优雅的方式实现需求:

方法一:利用模运算筛选(Base R,最简洁)

直接筛选1到50中,除以7余数为1、2、3的数,再排序:

sort(Filter(\(x) x %% 7 %in% 1:3, 1:50))

方法二:简化的向量化生成

先计算所有可能的序列基准值,再结合起始点生成结果,最后筛选并排序:

base_seq <- 0:floor((50 - 1)/7) * 7
vals <- rep(1:3, each = length(base_seq)) + base_seq
sort(vals[vals <= 50])

方法三:简化Base R迭代写法

用do.call替代unlist(sapply(...)),代码更紧凑:

sort(do.call(c, lapply(1:3, seq, to = 50, by = 7)))

以上方法运行后都会生成你需要的结果:

[1]  1  2  3  8  9 10 15 16 17 22 23 24 29 30 31 36 37 38 43 44 45 50

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 07:52:07