
[英]R output row and column index of dataframe with target values in a vector
[英]How to reorder dataframe by column values given by a target vector
我有一个这样的矩阵:
structure(c("A1", "B", "C", "A1", "A2", "C", "1", "2", "3", "4",
"5", "6"), .Dim = c(6L, 2L))
我想使用目标向量
target <- c("A1","A2", "B", "C")
对行重新排序并获得这样的数据帧:
"A1" "1"
"A1" "4"
"A2" "5"
"B" "2"
"C" "3"
"C" "6"
我们可以对数据集的第一列和“目标”向量之间的match
使用order
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"
或者另一种选择是将第一列的levels
设置为“目标”并order
df1[order(factor(df1[,1], levels = target)),]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.