如何按目标向量给定的列值对dataframe重新排序

如何按目标向量给定的列值对dataframe重新排序,r,R,我有这样一个矩阵: structure(c("A1", "B", "C", "A1", "A2", "C", "1", "2", "3", "4", "5", "6"), .Dim = c(6L, 2L)) "A1" "1&q

我有这样一个矩阵:

structure(c("A1", "B", "C", "A1", "A2", "C", "1", "2", "3", "4", 
"5", "6"), .Dim = c(6L, 2L))
"A1" "1" 
"A1" "4"
"A2" "5"
"B"  "2" 
"C"  "3" 
"C"  "6" 
我想用目标向量


target我们可以在数据集的第一列和“target”向量之间的
匹配中使用
顺序

df1[order(match(df1[,1], target)),]
-输出

#     [,1] [,2]
#[1,] "A1" "1" 
#[2,] "A1" "4" 
#[3,] "A2" "5" 
#[4,] "B"  "2" 
#[5,] "C"  "3" 
#[6,] "C"  "6" 

或者另一个选项是将第一列的
级别设置为“目标”和
顺序

df1[order(factor(df1[,1], levels = target)),]

这是一个矩阵,而不是一个数据帧。