所以我试图整理一些数据,并希望根据几个列安排我的表。所以,如果我有一张桌子
a <- (1:5)
b <- (6:10)
c <- (11:15)
d <- (16:20)
df <- as.data.frame(cbind(a,b,c,d))
我需要按列a排序,然后按列b排序,但我必须从向量中获取这些值。
x <- c(a,b)
目前我正在使用订单或手动安排和插入列名,例如:
df <- arrange(df, a, b)
但理想情况下,我不必手动插入它们,并且能够从矢量中取出它们,这可能会根据某些其他参数而改变。
我试过像
这样的东西df <- df[,with(df, order(x))]
或者
df <- df[order(df[,1:2]),]
但它一直在弄乱桌子。我使用的数据框非常大,列可能因环境而异,所以我想知道是否可以每次手动插入它们。
谢谢。
答案 0 :(得分:1)
我们需要vector
列名称
x <- names(df)[1:2]
然后使用arrange_
df %>%
arrange_(x)