2015-10-22 171 views
0

我想不同的列[R data.frame爲了

xx = mtcars 
    oi1 = order(xx$mpg,xx$cyl) 
    oi2 = order(xx$cyl,xx$disp,xx$hp) 

等訂購data.frame,

有沒有一種方法,我可以通過列的列表命令?

類似:

my.order = c('disp','wt','carb') 
    oi = order(xx,my.order) 

謝謝。

回答

1

在這裏,您可以使用do.call從列表中創建參數。例如

my.order = c('disp','wt','carb') 
do.call("order", mtcars[my.order]) 
+0

不錯!我發現它正在做我所需要的。但是如何? – Arthur

+0

就像我說過的那樣,'do.call'將列表變成函數的參數。在這裏,我們使用'data.frames'只是列表的事實。你可以閱讀'do.call'幫助頁面瞭解更多信息。 – MrFlick