я следующие данные:заменить элементы одного вектора элементов другой на определенных позициях
orig.vec <- c(1:10)
idx <- c(3,5,6)
rep.vec <- list(c(7,7,7), c(8,8,8), c(9,9,9))
первым. Как вставить элементы rep.vec
в orig.vec
в положениях, содержащихся в idx
, и сдвинуть orig.vec
значения влево/вправо?
Желаемый результат:
orig.vec
сдвигается вправо:1,2,7,7,7,3,4,8,8,8,5,9,9,9,6,7,8,9,10
orig.vec
смещенный влево:1,2,3,7,7,7,4,5,8,8,8,6,9,9,9,7,8,9,10
второй. Как я могу заменить элементы orig.vec
в положениях, содержащихся в idx
элементами rep.vec
?
Желаемый результат:
1,2,7,7,7,4,8,8,8,9,9,9,7,8,9,10
Кажись, как и большинство элегантное решение, однако мне пришлось заменить последние 4 строки с: 'л [IDX] < - оставил; unlist (л); l [idx] <- right; unlist (л); l [idx] <- repl; unlist (l) ' –
@WakanTanka yep, я просто показывал, как они могут быть использованы. для полноты, вы можете написать функцию, см. правки – rawr