小编chi*_*fan的帖子

基于单独的向量对数据框的行名称进行排序

我根据行名称和外部向量对数据框的行进行排序。向量可以比行数短。

我尝试了匹配和顺序的不同组合,但他们不想将 rownames(df) 作为参数,或者它会创建一个因子向量

df <- data.frame(info = c("cluster1","cluster7", "cluster1", "cluster3"),row.names = c("gacg","cggt","cgat", "ccat"))

vector <- c("gacg","cgat","cggt")

       info
gacg   cluster1
cggt   cluster7
cgat   cluster1
ccar   cluster3
Run Code Online (Sandbox Code Playgroud)

我尝试了此解决方案的变体:

df2<-df[order(match(df$rownames,vector)),] #produces some type of vector of factors
Run Code Online (Sandbox Code Playgroud)

我想要一个数据框,其行名的顺序与向量的顺序相同,并且向量数据框比向量短的不匹配行应放置在末尾。

       info
gacg   cluster1
cgat   cluster1
cggt   cluster7
ccar   cluster3
Run Code Online (Sandbox Code Playgroud)

sorting r match dataframe

1
推荐指数
1
解决办法
2074
查看次数

标签 统计

dataframe ×1

match ×1

r ×1

sorting ×1