cbind R中的命名向量按名称

cbind named vectors in R by name

我有两个与这些相似的命名向量:

x <- c(1:5)
names(x) <- c("a","b","c","d","e")

t <- c(6:10)
names(t) <- c("e","d","c","b","a")

我想将它们结合起来以获得以下结果:

  x  t
a 1 10
b 2  9
c 3  8
d 4  7
e 5  6

不幸的是,当我 运行 cbind(x,t) 结果只是按顺序组合它们时,它们忽略了 t 的名称,只保留了 x 的名称。给出以下结果:

  x  t
a 1  6
b 2  7
c 3  8
d 4  9
e 5 10

我很确定一定有一个简单的解决方案,但我找不到。由于这段话是一个漫长而乏味的循环的一部分(而且我正在处理的向量要长得多),所以让计算选项最少且更快是很重要的。

我们可以使用 'x' 的 names 来改变 '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