我有一個向量(A,比如一個較大矩陣的列名稱)和一個矩陣(B)。R匹配更改順序
A = Q,W,E,R,T
B =
q 1
y 2
w 3
e 4
u 5
t 6
r 7
我匹配A與B的第一列
matchAB =
q 1
w 3
i 4
e 5
t 6
r 7
我只需要第二欄。並與A一起使用。如果您看到訂單不一樣。其中a = q,w,e,r,t。 matchAB,變成,q,w,e,t,r。我不想在A上按字母順序排序。我想讓matchAB具有與A相同的順序。 任何幫助?
謝謝!
由於提問者MNEL:
dput(一)
a =c("q", "w", "e", "r", "t")
dput(B)
b <- structure(c("q", "1", "y", "2", "w", "3", "i", "4", "e", "5",
"t", "6", "r", "7"), .Dim = c(2L, 7L), .Dimnames = list(c("bi","bb"), NULL))
ind=which(match(b[1,],a) != 0)
> b[,ind]=
[,1] [,2] [,3] [,4] [,5]
bi "q" "w" "e" "t" "r"
bb "1" "3" "5" "6" "7"
所以,我想要的輸出是,
b[,ind]=
[,1] [,2] [,3] [,4] [,5]
bi "q" "w" "e" "r" "t"
bb "1" "3" "5" "7" "6"
認罪se通過發佈'dput(A)'和'dput(B)'以及您用於匹配的代碼來使您的示例具有可重現性。B'真的是一個矩陣還是一個data.frame? – mnel
@Arshi最好將數據添加回原始問題中。 –
謝謝泰勒!感謝mput for dput,我是R新手,並不知道它。 –