我有这个数据框
a <- c("a", "f", "n", "c", "d")
b <- c("L", "S", "N", "R", "S")
df <- data.frame(a,b)
a b
1 a L
2 f S
3 n N
4 c R
5 d S
然后我希望行按 b 列排序,但首先在行的开头设置“S”值,然后按字母顺序:
a b
2 f S
5 d S
1 a L
3 n N
4 c R
最佳答案
您可以在下单
期间将S
兑换成空格。
df[order(sub("S", " ", df$b)), ]
#df[order(chartr("S", " ", df$b)), ] #Alternative
# a b
#2 f S
#5 d S
#1 a L
#3 n N
#4 c R
关于r - 如何按列对数据框进行排序,首先将某些值放在列中的开头,其余的按字母顺序排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69459174/