我有以下数据集:
df <- structure(list(a3_1_1 = 0, a3_1_2 = 0, a3_1_3 = 0, a3_1_4 = 0,
a3_1_5 = 0, a3_1_6 = 0, a3_1_7 = 0, a3_1_8 = 0, a3_1_9 = 0,
a3_1_10 = 0, a3_1_11 = 0, a3_1_12 = 0, a3_1_13 = 0, a3_1_14 = 0,
a3_1_15 = 0, a3_1_16 = 0, a3_1_17 = 0, a3_2_1 = 0, a3_2_2 = 0,
a3_2_3 = 0, a3_2_4 = 0, a3_2_5 = 0, a3_2_6 = 0, a3_2_7 = 0,
a3_2_8 = 0, a3_2_9 = 0, a3_2_10 = 0, a3_2_11 = 0, a3_2_12 = 0,
a3_2_13 = 0, a3_2_14 = 0, a3_2_15 = 0, a3_2_16 = 0, a3_2_17 = 0,
a3_3_1 = 0, a3_3_2 = 0, a3_3_3 = 0, a3_3_4 = 0, a3_3_5 = 0,
a3_3_6 = 0, a3_3_7 = 0, a3_3_8 = 0, a3_3_9 = 0, a3_3_10 = 0,
a3_3_11 = 0, a3_3_12 = 0, a3_3_13 = 0, a3_3_14 = 0, a3_3_15 = 0,
a3_3_16 = 0, a3_3_17 = 0), row.names = c(NA, -1L), class = "data.frame")
我有许多变量是表的一部分,具有相同变量名称的数字模式.我正在寻找一定的安排:第二个号码应该被安排为最后一个号码内的一个组.这样,我想创建一个函数,将第一个和最后一个变量作为参数,并以这种方式排列它们.所需的输出应该是这样的:
ordered_df <- structure(list(a3_1_1 = 0, a3_2_1 = 0, a3_3_1 = 0, a3_1_2 = 0,
a3_2_2 = 0, a3_3_2 = 0, a3_1_3 = 0, a3_2_3 = 0, a3_3_3 = 0,
a3_1_4 = 0, a3_2_4 = 0, a3_3_4 = 0, a3_1_5 = 0, a3_2_5 = 0,
a3_3_5 = 0, a3_1_6 = 0, a3_2_6 = 0, a3_3_6 = 0, a3_1_7 = 0,
a3_2_7 = 0, a3_3_7 = 0, a3_1_8 = 0, a3_2_8 = 0, a3_3_8 = 0,
a3_1_9 = 0, a3_2_9 = 0, a3_3_9 = 0, a3_1_10 = 0, a3_2_10 = 0,
a3_3_10 = 0, a3_1_11 = 0, a3_2_11 = 0, a3_3_11 = 0, a3_1_12 = 0,
a3_2_12 = 0, a3_3_12 = 0, a3_1_13 = 0, a3_2_13 = 0, a3_3_13 = 0,
a3_1_14 = 0, a3_2_14 = 0, a3_3_14 = 0, a3_1_15 = 0, a3_2_15 = 0,
a3_3_15 = 0, a3_1_16 = 0, a3_2_16 = 0, a3_3_16 = 0, a3_1_17 = 0,
a3_2_17 = 0, a3_3_17 = 0), row.names = c(NA, -1L), class = "data.frame")
我正在寻找的解决方案应该使用dplyr::arrange
,但我显然愿意接受建议.
my_arranger <- function(df, from = col1, to = col2){
df %>% arrange({{col1}}:{{col2}}) #Here should make the above requested arrangement
}