如何仅重复矢量的一部分?

时间:2014-10-10 09:14:06

标签: r vector

我有一个矢量:0,24,12,12,12,96,12,12,12,12,12,12。 我想只重复从96到最后一个元素(12)的一部分。第一部分(0,24,12,12,12)我想保持不变。 你能帮忙吗?

1 个答案:

答案 0 :(得分:0)

答案取决于数字96是否始终位于向量内的第6个位置。如果是这样,请参阅您问题下面的第一条评论。但是,如果位置是可变的,你可以实现一个简单的查询来识别向量中96的位置,然后根据你的意愿重复从那里开始的向量部分(在下面提到的代码中为2次)

x <- c(0,24,12,12,12,96,12,12,12,12,12,12)

# Identify index of 96
id <- which(x == 96)

# Repeat part of vector starting from `id` 2 times
c(x[1:(id-1)], rep(x[id:length(x)], 2))

# # Which results in
# [1]  0 24 12 12 12 96 12 12 12 12 12 12 96 12 12 12 12 12 12
相关问题