对于一个有n列的数据框,我希望能够将任意一个在1-(n-1)位置的列移动到第n列(即将非最后一列移动到最后一列)。我还希望使用dplyr
来实现这一操作,而不是简单地输入所有列名。
例如:
data<-data.frame(a=1:5, b=6:10, c=11:15)
这样做可以实现,但不是dplyr
的方法:
data[,c(colnames(data)[colnames(data)!='b'],'b')]
这是使用 dplyr
的方法让列 b
成为第一列:
data%>%select(b, everything())
但这并不能使列 b
成为最后一列:
data%>%select(everything(), b)
这个方法可行,但需要我手动输入所有的列名:
data%>%select(a,c,b)
那么有没有一种优雅的dplyr方法来实现这个?
相关问题: