【发布时间】:2021-10-27 17:26:39
【问题描述】:
我有一个tibble 和一个命名向量。我想使用向量名称复制我命名向量中的所有列,同时保留原始名称。
我知道如何简单地重命名所有列:
library(dplyr)
named_vector <-
c("var1" = "x1",
"var2" = "x2",
"var3" = "x3")
tibble(x1 = 1:3, x2 = 1:3, x3 = 1:3, z = 68, zz = 69) %>%
rename(!!!named_vector)
#> # A tibble: 3 x 5
#> var1 var2 var3 z zz
#> <int> <int> <int> <dbl> <dbl>
#> 1 1 1 1 68 69
#> 2 2 2 2 68 69
#> 3 3 3 3 68 69
由reprex package (v0.3.0) 于 2021 年 8 月 27 日创建
但我不知道如何使用mutate 进行等效操作。如何以保留原始名称但又具有向量名称的方式复制列?
我的预期输出相当于:
library(dplyr)
named_vector <-
c("var1" = "x1",
"var2" = "x2",
"var3" = "x3")
tibble(x1 = 1:3, x2 = 1:3, x3 = 1:3, z = 68, zz = 69) %>%
mutate(var1 = x1,
var2 = x2,
var3 = x3)
#> # A tibble: 3 x 8
#> x1 x2 x3 z zz var1 var2 var3
#> <int> <int> <int> <dbl> <dbl> <int> <int> <int>
#> 1 1 1 1 68 69 1 1 1
#> 2 2 2 2 68 69 2 2 2
#> 3 3 3 3 68 69 3 3 3
由reprex package (v0.3.0) 于 2021-08-27 创建
【问题讨论】: