将一列复制到现有列中并保留现有列的名称
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`))
编辑:更改为使用 ~
进行整洁评估。
我有以下数据:
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`))
编辑:更改为使用 ~
进行整洁评估。