将矢量作为子向量放入另一个向量R中

Мак*_*сик 3 r vector

我有两个向量(1,2,3,4,5,6,7,8),(543,544,545) 我想把第二个放到第一个从第三个位置开始,所以结果(1,2,543,544,545,6,7,8)

x <- c(1:8)
r <- c(543:545)

# I tried 
replace(x,3,r)

# or like
replace(3:length(r),1,r)
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

Mar*_*zer 10

最简单的方法是通过以下方式轻松完成c():

x <- 1:8
r <- c(543,544,545)
c(x[1:2], r ,x[3:length(x)])
Run Code Online (Sandbox Code Playgroud)

另一种选择是append():

append(x, values=r, after=2)
Run Code Online (Sandbox Code Playgroud)

这与我c()之前做过的完全一样.

如果你想要替换值而不是添加新的,你应该使用Frank的解决方案

replace(x, list=2+1:length(r), r)
Run Code Online (Sandbox Code Playgroud)

或手动

x[2+1:length(r)] <- r
Run Code Online (Sandbox Code Playgroud)

它修改x而不是创建一个新的向量.