按名称排列一些列,然后包括所有其他列

arrange some columns by name and then include all the others

我正在使用 RStudio 中的 View() 经常弹出和弹出的宽数据帧。我的大部分注意力都集中在左边的几列上,但我经常需要滚动到最右边的框架外的列。有没有 'quick and diRty' 方法来安排某些列的顺序 'by name' 并跟踪其余列?

我不想按位置对列进行排序,因为我可能需要返回一两步并包含更多列,然后这些位置可能会指向错误的列。我不想子集化,因为我永远不知道我可能需要目视检查右边的哪些列。

我的真实数据大约有 40 列宽;我已经包括了一个小的虚拟集来说明....

library(qdap)
library(dplyr)
arranger = data.frame(col1 = qcv(tom, dick, harry),
                  col2 = qcv(man, woman, child),
                  col3 = qcv(tall, small, middle),
                  col4 = qcv(blond, red, fair),
                  col5 = qcv(africa, europe, moon),
                  col6 = qcv(dead, alive, zombie),
                  col7 = qcv(funny, boring, sad),
                  stringsAsFactors = F)

作为示例,我想将 col3 和 col5 作为前两列,然后将其余列放在后面。我正在寻找一种快速方法,类似于 dplyr 的 select()...

编排器 = select(编排器, col3, col5, 'then the other columns')

大家有什么好主意吗? TIA

如果您想使用上述的 dplyr 包,那么 everything() 将实现这一点。

这是一些更新的代码,使用您的示例:

library(qdap)
library(dplyr)

arranger <-  data.frame(col1 = qcv(tom, dick, harry),
                      col2 = qcv(man, woman, child),
                      col3 = qcv(tall, small, middle),
                      col4 = qcv(blond, red, fair),
                      col5 = qcv(africa, europe, moon),
                      col6 = qcv(dead, alive, zombie),
                      col7 = qcv(funny, boring, sad),
                      stringsAsFactors = F)

arrangerNew <- dplyr::select(arranger, col3, col5, everything())