在R中将列列表传递给Order函数

4

我在R中有一个包含大量列的数据框。我需要按多列排序。通常可以使用以下代码进行排序:

someData[with(someData, order(col1, col2)),]

然而,我有一列要排序的列表:
sortcols= c('col1','col2','col3',...)

我需要通过将sortcols传递给order函数来对数据进行排序。我该如何实现这一点。

2
我认为应该这样写:with(someData, do.call(order,mget(sortcols)) ) - Frank
你可以使用 dplyr 来实现,只需执行 someData %>% arrange_(.dots=sortcols) 即可。 - chappers
@ Frank,你的解决方案对我很有效。你想回答这个问题,这样我就可以接受它了吗? - kbk78
1个回答

0

这应该可以工作:

someData[ with( someData, do.call(order, mget(sortcols)) ), ]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接