R - 数据排序

数字列

如果索引是数字,可以按照其中一列或几列的值大小进行排序
set.seed(13)
data <- data.frame(
test = paste0("test", sample(seq(1:20), size = 20, replace = FALSE)),
city = rep(c("Chengdu", "Beijing", "Shanghai", "Xiamen"), times = 5),
value = runif(20),
order = sample(seq(1:20), size = 20, replace = FALSE)
)

order(){base} 行号不变

data[order(data$order, decreasing = T),]

arrange(){dplyr} 行号变化

data %>% arrange(order)

forcats 分类变量的处理工具

面对大量数据的时候,forcats是R中比较好的因子处理工具。基本功能:

  1. fct_reorder(): 通过一列中,从上到下出现的顺序排序
  2. fct_infreq(): 通过频率进行排序
  3. fct_relevel(): 手动档
  4. fct_reorder():通过另外的值进行因子排序
  5. fct_reorder2()
  6. fct_anon():忽略因子水平
  7. character() {base}:factor 转换为字符串
    查看:help(forcats)

字符中夹杂的数字排序

strings 中的 number

data[str_order(data$test, numeric = T, decreasing = F), ]

你可能感兴趣的:(R - 数据排序)