我想逆转我的数据框架的日期。基本上,日期从31/05/2019开始,到01/05/2019结束。我想倒转,从01/05/2019开始,以31/05/2019结束。任何建议
df<-structure(list(`UK time` = c("23--00", "00--01", "01--02", "02--03",
"03--04", "04--05", "05--06", "06--07", "07--08", "08--09", "09--10",
"10--11", "11--12", "12--13", "13--14", "14--15", "15--16", "16--17",
"17--18", "18--19", "19--20", "20--21", "21--22", "22--23"),
`31/05/2019` = c(45.39, 34.47, 29.26, 29.49, 29.97, 29.97,
36.08, 43.11, 42.77, 55.87, 54.45, 47.64, 48.32, 43.11, 38.56,
36.26, 36.29, 39.06, 43.89, 47.64, 48.72, 46.59, 45.34, 41.36
), `30/05/2019` = c(46.68, 37.31, 31.66, 27.59, 22.66, 19.56,
25.66, 41.59, 38.19, 42.61, 45.33, 44.2, 47.6, 48.35, 45.33,
40.85, 43.07, 43.91, 49.07, 51.43, 51.44, 47.6, 46.47, 41.92
), `29/05/2019` = c(48.34, 39.08, 37.81, 36.56, 33.9, 34.12,
38.51, 45.73, 52.18, 57.63, 54.56, 53.43, 50.94, 45.61, 41.77,
39.47, 41.39, 46.64, 51.17, 51.78, 50.44, 45.71, 41.86, 36.22
), `28/05/2019` = c(47.11, 44.91, 37.55, 37.1, 35.68, 35.51,
44.84, 48.93, 45.92, 56.42, 52.22, 49.57, 46.34, 43.55, 39,
38.46, 40.78, 43.47, 55.45, 58.55, 61.31, 56.8, 52.73, 42.21
), `27/05/2019` = c(34.26, 26.58, 24.86, 22.56, 22.81, 29.44,
30.58, 44.79, 42.35, 43.37, 40.97, 40.49, 43.61, 46.45, 44.81,
43.29, 36.87, 45.76, 41.73, 50.17, 58.8, 57.17, 58.08, 46.29
), `26/05/2019` = c(62.11, 53.11, 51.08, 43.61, 37.78, 30.17,
23.28, 20.54, 31.64, 35.52, 50.39, 55.59, 56.32, 55.53, 41.81,
30.73, 32.77, 41.67, 46.42, 51.06, 49.03, 51.75, 55.37, 48.59
), `25/05/2019` = c(49.92, 42.89, 43.73, 39.2, 37.95, 37.29,
35.12, 37.95, 44.18, 49.84, 50.39, 47.35, 44.18, 40.78, 36.82,
36.77, 36.81, 40.54, 51.09, 56.64, 60.46, 52.11, 48.77, 41.83
), `24/05/2019` = c(47.56, 37.4, 36.01, 34.92, 33.91, 33.93,
38.96, 48.25, 52.52, 54.34, 45.38, 40.77, 38.84, 38.84, 37.38,
37.11, 37.12, 40.77, 47.56, 54.36, 55.91, 54.36, 54.36, 45.3
), `23/05/2019` = c(52, 38.86, 38.04, 37.96, 37.97, 37.67,
38.66, 47.88, 59.08, 62.5, 51.13, 39.77, 38.74, 38.65, 38.34,
38.36, 38.7, 44.37, 50.05, 59.08, 61.26, 57.19, 52.11, 46.48
), `22/05/2019` = c(52.37, 41.83, 38.24, 37.62, 37.58, 37.58,
38.61, 47.84, 56.92, 59.2, 52.37, 43.72, 42.26, 39.84, 38.14,
37.13, 37.58, 41.55, 46.79, 58.03, 58.03, 54.61, 49.95, 42.44
), `21/05/2019` = c(44.63, 39.97, 38.84, 38.5, 36.55, 36.53,
41.01, 49.19, 59.15, 56.7, 53.93, 52.52, 51.03, 47.37, 44.55,
39.91, 39.98, 43.77, 49.57, 58.24, 57.8, 57.8, 51.49, 43.32
), `20/05/2019` = c(50.39, 39.9, 37.74, 36.84, 35.46, 37,
46.36, 59.49, 60.79, 59.49, 58.14, 56.98, 53.37, 51.48, 48.72,
46.13, 44.27, 47.32, 50.34, 52.6, 51.46, 48.62, 48.05, 40.85
), `19/05/2019` = c(57.2, 42.44, 41.18, 37.74, 37.67, 34.96,
34.41, 35.1, 36.16, 43.47, 46.09, 49.31, 52.47, 52.62, 42.28,
37.77, 36.61, 45.76, 49.03, 53.74, 56.74, 56.33, 53.65, 44.66
), `18/05/2019` = c(44.83, 39.01, 37.14, 37.1, 37.08, 36.61,
36.5, 37.36, 40.2, 51.76, 57.2, 59.49, 57.2, 52.74, 50.45,
39.01, 39.01, 43.47, 52.66, 57.2, 57.89, 54.91, 52.45, 45.07
), `17/05/2019` = c(47.54, 41.19, 38.21, 35.99, 35.05, 37.21,
42.23, 48.15, 52.46, 59.49, 60.75, 57.21, 55.95, 52.63, 45.32,
41.07, 44.62, 51.14, 57.46, 56.29, 54.92, 50.34, 49.82, 44.63
), `16/05/2019` = c(51.15, 38, 37.66, 37.2, 36.85, 36.8,
43.84, 48.41, 56.41, 62.18, 55.28, 45.29, 42.99, 41.21, 40.08,
39.45, 37.76, 43.32, 49.19, 55.28, 54.71, 52.97, 47.22, 43.17
), `15/05/2019` = c(40.62, 36.85, 36.83, 36.81, 36.8, 37.18,
44.65, 52.2, 56.54, 58.84, 50.68, 42.04, 40.83, 40.31, 39.51,
39.1, 39.51, 41.46, 49.8, 59.89, 62.2, 59.89, 49.19, 43.19
), `14/05/2019` = c(44.02, 40.9, 40.9, 40.2, 38.86, 39.83,
46.41, 53.24, 65.86, 68.23, 57.86, 42.79, 40.93, 40.51, 39.97,
40.08, 40.08, 44.02, 56.09, 62.87, 68.35, 67.77, 60.43, 44.02
), `13/05/2019` = c(46.33, 43.91, 42.81, 41.7, 41.7, 39.38,
47.39, 54.65, 68.33, 67.18, 58.44, 44.02, 43.37, 43, 43.03,
40.54, 43.09, 50.97, 59.3, 67.18, 72.91, 70.87, 65.44, 48.94
), `12/05/2019` = c(57.33, 49.46, 48.42, 48.65, 46.22, 45.14,
43.34, 43.01, 43.04, 44.99, 53.25, 55.65, 56.65, 56.64, 47.84,
45.17, 44.83, 49, 52.47, 62.55, 69.27, 69.5, 64.4, 46.33),
`11/05/2019` = c(60.22, 48.63, 48.57, 47.6, 45.05, 45.05,
44.37, 44.78, 44.01, 61.84, 67.52, 61.39, 57.91, 55.59, 44.96,
41.98, 40.51, 38.47, 47.48, 57.84, 63.7, 62.54, 63.7, 54.55
), `10/05/2019` = c(46.45, 42.96, 44.36, 44.36, 43.54, 43.02,
48.76, 56.26, 65.62, 68.46, 67.36, 58.06, 54.58, 51.1, 46.4,
44.36, 44.36, 53.42, 65.5, 68.4, 67.36, 58.06, 54.93, 49.96
), `09/05/2019` = c(43.56, 39.93, 40.21, 40.76, 41.69, 44.27,
47.42, 51.47, 56.12, 53.8, 51.49, 51.47, 50.35, 49.23, 46.98,
46.54, 46.76, 54.75, 63.26, 62.76, 63.26, 62.75, 55.06, 46.57
), `08/05/2019` = c(58.48, 50.31, 43.84, 43.17, 38.57, 37.91,
42.36, 47.96, 50.44, 52.05, 58.25, 49.48, 46.22, 46.14, 43.51,
43.28, 42.34, 47.96, 54.98, 59.6, 59.65, 59.07, 56.43, 43.1
), `07/05/2019` = c(43.63, 42.08, 41.89, 41.27, 41.1, 43.72,
50.4, 61.59, 65.88, 75.01, 70.32, 64.23, 59.1, 56.26, 49.48,
48.22, 48.56, 53.91, 65.63, 67.72, 65.83, 56.47, 52.35, 43.96
), `06/05/2019` = c(50.76, 41.97, 41.13, 40.78, 37.31, 37.47,
46.94, 52.86, 47.38, 46.29, 46.64, 47.64, 50.13, 53.63, 48.97,
47.11, 48.14, 48.97, 60.63, 62.96, 61.21, 62.52, 61.59, 46.74
), `05/05/2019` = c(56.65, 48.15, 46.09, 42.93, 42.28, 41.9,
38.4, 39.64, 34.98, 38, 43.65, 49.08, 51.3, 55.03, 51.62,
46.64, 46.87, 51.37, 52.46, 61.32, 61.32, 65.23, 65.17, 53.63
), `04/05/2019` = c(62.96, 54.56, 52.19, 41.34, 38.36, 35.57,
36.69, 42.13, 46.39, 48.62, 45.82, 43.97, 41.81, 39.6, 38.36,
36.19, 38.66, 44.42, 50.47, 57.13, 60.66, 65.41, 72.17, 60.63
), `03/05/2019` = c(46.58, 41.55, 41.39, 41.58, 41.27, 40.88,
43.25, 50.08, 63.54, 65.22, 65.11, 64.05, 57.1, 53.49, 48.59,
46.58, 46.23, 48.99, 52.36, 50.58, 52.5, 50.56, 48.91, 43.31
), `02/05/2019` = c(45.94, 41.87, 41.87, 41.06, 39.93, 39.55,
43.04, 46.93, 54.4, 61.64, 55.65, 45.36, 43.03, 42.96, 42.89,
41.76, 41.87, 50.52, 61.41, 62.8, 62.41, 62.75, 62.41, 42.82
), `01/05/2019` = c(47.39, 43.14, 42.87, 42.3, 41.02, 40.77,
42.35, 47.47, 63.73, 69.46, 66.72, 64.83, 60.9, 57.88, 50.94,
43.46, 43.99, 55.57, 61.51, 60.21, 55.67, 59.04, 53.61, 42.87
)), class = c("spec_tbl_df", "tbl_df", "tbl", "data.frame"
), row.names = c(NA, -24L), spec = structure(list(cols = list(
`UK time` = structure(list(), class = c("collector_character",
"collector")), `31/05/2019` = structure(list(), class = c("collector_double",
"collector")), `30/05/2019` = structure(list(), class = c("collector_double",
"collector")), `29/05/2019` = structure(list(), class = c("collector_double",
"collector")), `28/05/2019` = structure(list(), class = c("collector_double",
"collector")), `27/05/2019` = structure(list(), class = c("collector_double",
"collector")), `26/05/2019` = structure(list(), class = c("collector_double",
"collector")), `25/05/2019` = structure(list(), class = c("collector_double",
"collector")), `24/05/2019` = structure(list(), class = c("collector_double",
"collector")), `23/05/2019` = structure(list(), class = c("collector_double",
"collector")), `22/05/2019` = structure(list(), class = c("collector_double",
"collector")), `21/05/2019` = structure(list(), class = c("collector_double",
"collector")), `20/05/2019` = structure(list(), class = c("collector_double",
"collector")), `19/05/2019` = structure(list(), class = c("collector_double",
"collector")), `18/05/2019` = structure(list(), class = c("collector_double",
"collector")), `17/05/2019` = structure(list(), class = c("collector_double",
"collector")), `16/05/2019` = structure(list(), class = c("collector_double",
"collector")), `15/05/2019` = structure(list(), class = c("collector_double",
"collector")), `14/05/2019` = structure(list(), class = c("collector_double",
"collector")), `13/05/2019` = structure(list(), class = c("collector_double",
"collector")), `12/05/2019` = structure(list(), class = c("collector_double",
"collector")), `11/05/2019` = structure(list(), class = c("collector_double",
"collector")), `10/05/2019` = structure(list(), class = c("collector_double",
"collector")), `09/05/2019` = structure(list(), class = c("collector_double",
"collector")), `08/05/2019` = structure(list(), class = c("collector_double",
"collector")), `07/05/2019` = structure(list(), class = c("collector_double",
"collector")), `06/05/2019` = structure(list(), class = c("collector_double",
"collector")), `05/05/2019` = structure(list(), class = c("collector_double",
"collector")), `04/05/2019` = structure(list(), class = c("collector_double",
"collector")), `03/05/2019` = structure(list(), class = c("collector_double",
"collector")), `02/05/2019` = structure(list(), class = c("collector_double",
"collector")), `01/05/2019` = structure(list(), class = c("collector_double",
"collector"))), default = structure(list(), class = c("collector_guess",
"collector")), skip = 1L), class = "col_spec"))发布于 2021-05-06 03:07:09
基于日期的订单列。
df[c(1, order(names(df)[-1]) + 1)]使用dplyr:
library(dplyr)
library(lubridate)
df %>% select(1, order(dmy(names(.)[-1])))或者,如果您知道需要反转列,则只需要这样做:
df[c(1, ncol(df):2)]发布于 2021-05-06 04:14:01
虽然这并没有为我的朋友@Ronak已经发布的文章增加很大的价值,但这只是另一个结合了base R和‘`dplyr的选项:
library(dplyr)
df %>%
select(c("UK time", rev(names(.))))发布于 2021-05-06 17:36:10
我们可以使用来自setcolorder的data.table
library(data.table)
setcolorder(setDT(df), c(1, ncol(df):2))https://stackoverflow.com/questions/67411270
复制相似问题