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
我有两个与这些相似的命名向量:
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