我有两个与这些类似的命名向量:
x <- c(1:5)
names(x) <- c("a","b","c","d","e")
t <- c(6:10)
names(t) <- c("e","d","c","b","a")
Run Code Online (Sandbox Code Playgroud)
我想将它们结合起来以获得以下结果:
x t
a 1 10
b 2 9
c 3 8
d 4 7
e 5 6
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我运行cbind(x,t)
的结果只是它们结合他们不顾的名字顺序t
,并只保留那些x
。给出以下结果:
x t
a 1 6
b 2 7
c 3 8
d 4 9
e 5 10
Run Code Online (Sandbox Code Playgroud)
我很确定一定有一个简单的解决方案,但我找不到它。由于这篇文章是一个冗长乏味的循环的一部分(而且我正在处理的向量要长得多),因此让计算选项最不复杂且计算速度更快是很重要的。
akr*_*run 11
我们可以使用names
'x' 来更改 't' 元素的顺序,并cbind
使用 'x'
cbind(x, t = t[names(x)])
# x t
#a 1 10
#b 2 9
#c 3 8
#d 4 7
#e 5 6
Run Code Online (Sandbox Code Playgroud)