gpt4 book ai didi

在序列中每隔 n 个重复第 n 个元素

转载 作者:行者123 更新时间:2023-12-02 08:14:21 24 4
gpt4 key购买 nike

原始向量x:

x = 1:20

我寻找的是一个向量 y,它每隔 n 次重复 x 中的第 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)

我实际上是在为矩阵做这件事,我认为这与 margin=2apply 的使用有关,但无法立即弄清楚 bat ,谁能告诉我一个快速的解决方案?

最佳答案

我们也可以用

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))

关于在序列中每隔 n 个重复第 n 个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43314426/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com