微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

重复开始增加的序列

如何解决重复开始增加的序列

所以我刚刚做的是这样的:

s1 <- seq(1,3,by = 0.5)

rep(s1,3)
# [1] 1.0 1.5 2.0 2.5 3.0 1.0 1.5 2.0 2.5 3.0 1.0 1.5 2.0 2.5 3.0

s2 <- seq(-4,4,by = 2)

rep(s2,each = 3)
# [1] -4 -4 -4 -2 -2 -2  0  0  0  2  2  2  4  4  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

1 到 5 5 次,但第一个数字应始终增加 1。 我该怎么做?

解决方法

我想你可以像下面这样尝试embed

> n <- 5
> c(embed(seq(n + 4),n)[,n:1])
 [1] 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
,

使用mapply

inds <- 1:5
c(mapply(seq,inds,inds + 4))
#[1] 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
,

col 添加到相应的矩阵中。

m <- matrix(0:4,5,5) 
as.vector(m + col(m))
# [1] 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

n <- 5
seq_len(n) + rep(0:4,each = n)
#[1] 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。