原始向量x
:
x = 1:20
我寻找的是一个向量y
,它在x
每隔 n个重复第 n 个元素,例如,当n=4
:
n = 4
y = c(1,2,3,4,4,5,6,7,8,8,9,10,11,12,12,13,14,15,16,16,17,18,19,20,20)
我实际上是在为矩阵做这件事,我认为它与apply
here的使用有关,margin=2
但无法立即弄清楚,有人可以告诉我一个快速的解决方案吗?
我们也可以使用
v1 <- rep(1, length(x))
v1[c(FALSE, FALSE, FALSE, TRUE)] <- 2
rep(x, v1)
#[1] 1 2 3 4 4 5 6 7 8 8 9 10 11 12 12 13 14 15 16 16 17 18 19 20 20
或者正如@MichaelChirico 评论的那样,第二行代码可以用
v1[seq_along(v1) %% n == 0L] = 2
或者在一行中ifelse
(来自@JonathanCarroll 的评论)
rep(x, ifelse(seq_along(x) %% n, 1, 2))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句