我有一个这样的数据框:
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))
工作正常!但是,问题是数据集声明是由另一个程序生成的,因此我无法更改它。有没有办法以允许我正确订购数据集的方式重新声明数据集?
答案 0 :(得分:1)
您可以使用with
或$
,[
,即
dataset[with(dataset, order(-COL1)),]
或者
dataset[order(-dataset$COL1),]
或者
dataset[order(-dataset['COL1']),]
或者
library(data.table)
setorder(setDT(dataset), -COL1)