将一列复制到现有列中并保留现有列的名称

Copy one column into existing columns and keep name of existing columns

我有以下数据:


 structure(list(Name = c("A", "B", "C", "D"), `Data 2018-08` = c(4L, 
5L, 2L, 4L), `Data 2018-09` = c(5L, 4L, 5L, 4L), `Data 2018-10` = c(9L, 
4L, 4L, 2L), `Data 2018-11` = c(7L, 3L, 6L, 7L), `Data 2018-12` = 9:6, 
    `Data 2019-01` = c(5L, 9L, 7L, 2L), `Data 2019-02` = c(9L, 
    6L, 3L, 4L), `Data 2019-03` = c(8L, 7L, 4L, 6L), `Data 2019-04` = c(7L, 
    6L, 6L, 5L), `Data 2019-05` = c(6L, 8L, 7L, 7L), `Data 2019-06` = c(3L, 
    7L, 2L, 7L), `Data 2019-07` = c(5L, 8L, 7L, 2L), `Data 2019-08` = c(5L, 
    7L, 3L, 3L), `Data 2019-09` = c(7L, 4L, 5L, 4L), `Data 2019-10` = c(5L, 
    2L, 8L, 2L)), class = "data.frame", row.names = c(NA, -4L
))

如何将 09-2019 列中的值复制到 08-2018-08-2019 的所有列并保留列的原始名称?

当我使用 dplyr 包中的 mutate 时,会添加新列而不是替换现有列的旧值。

如果我理解你的问题,并且你想使用 mutate,这应该可行:

library(dplyr)
df  %>% 
    mutate(across(`Data 2018-08`:`Data 2019-08`, ~ `Data 2019-09`))

编辑:更改为使用 ~ 进行整洁评估。