在seq的“from”参数中使用整数向量

zpgglvta  于 2023-04-27  发布在  其他
关注(0)|答案(2)|浏览(82)

有没有一个函数可以使用seq(from = )中的多个值生成一个数字向量?
例如,我想生成一个从1:350的数字向量,增量为7

sort(c(seq(1, 50, 7), seq(2, 50, 7), seq(3, 50, 7)))
[1]  1  2  3  8  9 10 15 16 17 22 23 24 29 30 31 36 37 38 43 44 45 50

目前我使用sapply来 Package 1:3,我认为这不是很优雅。

sort(unlist(sapply(1:3, \(x) seq(x, 50, 7))))
ffscu2ro

ffscu2ro1#

这是一个使用sequence()的矢量化版本。
不需要循环。:)

seqv <- function(from, to, by = 1){
  sequence( ((to - from) / by) + 1, from = from, by = by)
}

sort(seqv(1:3, 50, 7))
[1]  1  2  3  8  9 10 15 16 17 22 23 24 29 30 31 36 37 38 43 44 45 50
yduiuuwa

yduiuuwa2#

你可以试试

> sort(unlist(Map(seq, from = 1:3, 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

相关问题