2012-02-03 83 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