我正在使用以下方法对data.frame进行排序。
# Dummy data
dat <- data.frame(a=letters[1:26],b=runif(26),c=rnorm(26))
# Sort
dat <- dat[with(dat, order(-b)),]
我希望能够使用类似于粘贴的东西生成“-b”,以便我可以通过编程方式进行排序。
类似的东西:
dat <- dat[with(dat, order(paste("-b"))),]
我尝试了paste()
,cat()
,get()
,getElement()
之类的内容,但无济于事。
答案 0 :(得分:4)
怎么样?
sort.var <- 'b'
inverse <- TRUE
dat <- dat[order(dat[[sort.var]],decreasing=inverse),]
答案 1 :(得分:3)
你在自己身上做的比你需要的更难:
dat <- dat[order(dat[,"b"], decreasing=TRUE),]
现在您可以将列指定为字符串。