这是我的数据。
dt<-as.data.table(matrix(data = sample(c(paste0(sample(letters, 9), 1:120), round(runif(5) * 100)), 120, replace = TRUE),nrow = 20,ncol = 6,byrow = FALSE))
所有或部分列要么是数字、字母要么是两者的混合。 我需要根据哪些列的输入对数据进行排序,即是否仅 1 列或 2 列在一起或更多。
假设这是当前的用户输入
fromexcel<-c("V1", "V2", "V3")
c("V5", "V1")
这样。我一直使用
gtools::mixedsort()
,但欢迎任何其他有效的方法。
如果您觉得这篇文章有用,可以参考。 在 R 中对非常大的数据集进行排序
谢谢。
一个选项:
dt[do.call(order, mget(fromexcel))]