2012-02-03 91 views
1

我正在使用folllowing方法对data.frame进行排序。以编程方式排序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(),无济于事。

想法?

回答

4

这个怎么样?

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

你正在做这个难度对自己比你需要:

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

现在,您可以指定列的字符串。

+0

/拍打额头。 – 2012-02-03 17:40:52