簡體   English   中英

按名稱綁定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”元素的順序,並與“ x” cbind

cbind(x, t = t[names(x)])
#  x  t
#a 1 10
#b 2  9
#c 3  8
#d 4  7
#e 5  6

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM