如何在 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)
我有一个这样的数据框:
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)