如何按目标向量给定的列值对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)),]
这是一个矩阵,而不是一个数据帧。