如何在R中订购数据集

时间:2015-01-08 17:32:55

标签: r sorting dataset

我有一个这样的数据框:

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))

工作正常!但是,问题是数据集声明是由另一个程序生成的,因此我无法更改它。有没有办法以允许我正确订购数据集的方式重新声明数据集?

1 个答案:

答案 0 :(得分:1)

您可以使用with$[,即

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

或者

dataset[order(-dataset$COL1),]

或者

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

或者

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