Search code examples
rdplyrtidyversecolumnsorting

R - Alter the order of a table


I have this dataset

structure(list(Data = structure(c(18750, 18750, 18750, 18750, 
18751, 18751, 18751, 18753, 18753, 18753), class = "Date"), `Retorno D` = c(NA, 
NA, NA, NA, "211.52430499997001", "134.38776799989901", "361.888238000218", 
"180.13891600002501", "100.33839799999301", "211.93803400010799"
), `Retorno D-1` = c("99.984314000001206", "361.888238000218", 
"178.550884000026", "134.38776799989901", "211.68034700001601", 
"134.488129999954", "366.99624599982099", "180.19407399999901", 
"99.281853999942498", "212.32330200006299"), `Retorno D-2` = c("100.053130000015", 
"366.99624599982099", "178.66752699995399", "134.488129999954", 
"211.93803400010799", "135.426288000075", "370.97650599991903", 
"180.04651900008301", "99.524296000017799", "212.53238200000499"
), `Retorno D-3` = c("100.33839799999301", "370.97650599991903", 
"180.13891600002501", "135.426288000075", "212.32330200006299", 
"135.494221000001", "384.43776899995299", "180.77143500000199", 
"98.068665000028005", "212.47239700006301"), `Retorno D-4` = c("99.281853999942498", 
"384.43776899995299", "180.19407399999901", "135.494221000001", 
"212.53238200000499", "135.49586799996899", "384.95722099999", 
"180.892560000066", "97.002081000013305", "212.127748999977"), 
    `Retorno D-5` = c("99.524296000017799", "384.95722099999", 
    "180.04651900008301", "135.49586799996899", "212.47239700006301", 
    "135.91781000001399", "389.875897000078", "181.13978999992801", 
    "96.906087000039406", "211.97024699999"), `Retorno D-6` = c("98.068665000028005", 
    "389.875897000078", "180.77143500000199", "135.91781000001399", 
    "212.127748999977", "135.95332000008801", "384.63738099997897", 
    "180.67245199997001", "97.756707999971695", "211.974497999996"
    ), `Retorno D-7` = c("97.002081000013305", "384.63738099997897", 
    "180.892560000066", "135.95332000008801", "211.97024699999", 
    "136.125711000059", "382.70317400014", "180.443010000046", 
    "95.985452000051694", "212.16175900003901"), `Retorno D-8` = c("96.906087000039406", 
    "382.70317400014", "181.13978999992801", "136.125711000059", 
    "211.974497999996", "135.85074999998301", "385.90785099985101", 
    "179.39680900005601", "99.4912189999595", "212.284718000097"
    ), `Retorno D-9` = c("97.756707999971695", "385.90785099985101", 
    "180.67245199997001", "135.85074999998301", "212.16175900003901", 
    "135.62111099995701", "384.26056599989499", "180.28261399990899", 
    "98.902974999975399", "212.40417600004"), `Retorno D-10` = c("95.985452000051694", 
    "384.26056599989499", "180.443010000046", "135.62111099995701", 
    "212.284718000097", "135.11656800005599", "387.22270599985501", 
    "179.39689900004299", "100.108439999982", "212.53214300004799"
    ), `Retorno D-11` = c("99.4912189999595", "387.22270599985501", 
    "179.39680900005601", "135.11656800005599", "212.40417600004", 
    "135.69338999991299", "383.375612000003", "178.67337099998301", 
    "103.04777499998499", "212.45787100005001"), `Retorno D-12` = c("98.902974999975399", 
    "383.375612000003", "180.28261399990899", "135.69338999991299", 
    "212.53214300004799", "135.147547000088", "386.48408799991", 
    "178.90612499997999", "101.79547500005", "212.42134299990701"
    ), `Retorno D-13` = c("100.108439999982", "386.48408799991", 
    "179.39689900004299", "135.147547000088", "212.45787100005001", 
    "134.77858299994799", "375.97806099988497", "178.85069500002999", 
    "107.50475800002501", "212.90102200000501"), `Retorno D-14` = c("103.04777499998499", 
    "375.97806099988497", "178.67337099998301", "134.77858299994799", 
    "212.42134299990701", "134.97121299989499", "377.425079000182", 
    "179.95594400004501", "106.985060999985", "213.03338199993601"
    ), `Retorno D-15` = c("101.79547500005", "377.425079000182", 
    "178.90612499997999", "134.97121299989499", "212.90102200000501", 
    "135.04173099994699", "372.05428700009401", "180.832084000111", 
    "110.320186999976", "213.06744299991999"), `Retorno D-16` = c("107.50475800002501", 
    "372.05428700009401", "178.85069500002999", "135.04173099994699", 
    "213.03338199993601", "135.70496000000301", "367.362724000122", 
    "180.975222999929", "109.29578299995001", "212.923338999972"
    ), `Retorno D-17` = c("106.985060999985", "367.362724000122", 
    "179.95594400004501", "135.70496000000301", "213.06744299991999", 
    "136.44785299990301", "368.22014100011398", "181.376264000079", 
    "108.360308000003", "213.17060699989099"), `Retorno D-260` = c("153.730192000046", 
    "508.261938999873", "192.27559500001399", "144.77631599991599", 
    "220.74250599998001", "145.108116999967", "507.22596800001298", 
    "192.80481399991501", "155.04072299995499", "220.91570900008099"
    ), `Retorno D-261` = c("154.80475099990099", "507.22596800001298", 
    "192.75661400007101", "145.108116999967", "220.79369900003101", 
    "145.07638600003", "505.86107099987601", "192.85623100004199", 
    "155.065389999887", "221.22815499990199")), row.names = c("...2", 
"...3", "...4", "...5", "...6", "...7", "...8", "...9", "...10", 
"...11"), class = "data.frame")

What I need to do is basicaly alter the order of columns, where the last column becames the second, the new last became the third, so my dataframe will look like: Date (Column1) that doesn't change - Return D-261 (column 21) - Return D-260 (column 20) - Return D-17 (column 19) - column 18 - column 17, and so on

How can I do this?


Solution

  • We may use indexing with ncol and :

    df1[c(1, ncol(df1):2)]