我需要对列字符类型的行进行排序,首先显示从最高到最低排序的数字,然后显示带有“<" in a specific order: first "
来自:
致:
data.table::data.table(Resultado = c("1,39", "5,89", "3,12", "0,25", "<LCM", "<LDM", "<LDM", "<LCM"))
将变量转换为.character()。
接下来,定义自定义订单。
然后重新排序。
dt <- data.table(Resultado = c("1,39", "5,89", "3,12", "0,25", "<LCM", "<LDM", "<LDM", "<LCM"))
dt[, Resultado := as.character(Resultado)]
custom_order <- c(rev(sort(dt[!Resultado %like% "<"][order(-as.numeric(gsub(",", ".", Resultado)))]$Resultado)),
"<LCM",
"<LDM")
dt <- dt[order(match(Resultado, custom_order))]
> print(dt)
Resultado
1: 5,89
2: 3,12
3: 1,39
4: 0,25
5: <LCM
6: <LCM
7: <LDM
8: <LDM