如何在 R 中订购数据集

How to order data set in R

我有一个这样的数据框:

dataset <- data.frame(COL1 = c(1,2,3,4), COL2 = c(4,3,2,1))

然后我尝试这样订购:

dataset <- dataset[order(-COl1),]

但是,这会导致错误,因为 COL1 显然不存在:

Error in order(-COl1) : object 'COl1' not found

如果我将数据集的声明更改为:

dataset <- data.frame(COL1 <- c(1,2,3,4), COL2 <- c(4,3,2,1))

效果很好!但是,问题是数据集声明是由另一个程序生成的,所以我无法更改它。有没有办法以允许我正确排序的方式重新声明数据集?

您可以使用with$[,即

dataset[with(dataset, order(-COL1)),] 

dataset[order(-dataset$COL1),]

dataset[order(-dataset['COL1']),]

library(data.table)
setorder(setDT(dataset), -COL1)