Создайте последовательность чисел с разрывами

#r

#r

Вопрос:

Я хочу создать последовательность чисел, подобную этой:

 X=22 1
Y=x 2
Z=x 3
A=x 4
B=X 5

1,2,X,3,4,Y,5,6,Z,7,8,A,10,11,B #and so on...
1,2,23,3,4,25,5,6,26,7,8,27,10,11,28  #and so on...
  

Как это сделать с помощью R? для этого есть функция?

Комментарии:

1. я отредактировал сообщение

2. я намереваюсь создать не обычную последовательность, например 1,2,3,4,5, а последовательность, которая вставляет число в последовательность 1,2,3,4,5, например 1,2,8,3,4,9,5.

3. Я создал пример с решением. Пожалуйста, проверьте, помогает ли это

Ответ №1:

Мы можем сделать

 unlist(Map(c, split(v1, as.integer(gl(length(v1), 2, 
      length(v1)))), c(X, Y, Z, A, B)), use.names = FALSE)
#[1]  1  2 23  3  4 25  5  6 26  7  8 27  9 10 28
  

данные

 v1 <- 1:10
X <- 23
Y <- X   2
Z <- X   3
A <- X   4
B <- X   5
  

Ответ №2:

Вы можете создать дублирующуюся запись в определенной позиции и заменить их другой последовательностью.

 seq1 <- 1:10
seq2 <- c(23, 25:28)
seq3 <- sort(c(seq1, seq(2, 10, 2)))
seq3[duplicated(seq3)] <- seq2
seq3
#[1]  1  2 23  3  4 25  5  6 26  7  8 27  9 10 28