我有一个向量(A,比如一个更大矩阵的列名)和一个矩阵(B)。
A = q,w,e,r,t
乙 =
q 1
y 2
w 3
e 4
u 5
t 6
r 7
我将 A 与 B 的第一列相匹配
匹配AB =
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 所问:
输入(一)
a =c("q", "w", "e", "r", "t")
输入(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"