2017-08-12 39 views
1

我有類似於這些的兩個分別名爲向量:cbind命名爲載體的名字

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 

我很確定必須有一個簡單的解決方案,但我找不到它。由於這段文字是漫長而乏味的循環的一部分(並且我正在使用的矢量要長得多),因此計算選項的計算方法最簡單快捷很重要。

回答

4

我們可以用「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 
+1

我確信它是超級明顯的順序!非常感謝 – ltr