我有两个向量(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而不是创建一个新的向量.