以编程方式对data.frame()进行排序

以编程方式对data.frame()进行排序,r,R,我使用以下方法对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"))),] 我尝试过粘贴、cat、get、getEle

我使用以下方法对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"))),]

我尝试过粘贴、cat、get、getElement等方法,但都没有效果

你让这件事变得比你需要的更难:

dat <- dat[order(dat[,"b"], decreasing=TRUE),]

现在,您可以将该列指定为字符串。

这让您自己更难做到:

dat <- dat[order(dat[,"b"], decreasing=TRUE),]
现在您可以将该列指定为字符串。

这个怎么样

sort.var <- 'b'
inverse <- TRUE
dat <- dat[order(dat[[sort.var]],decreasing=inverse),]
这个怎么样

sort.var <- 'b'
inverse <- TRUE
dat <- dat[order(dat[[sort.var]],decreasing=inverse),]