【发布时间】:2018-08-24 22:45:27
【问题描述】:
我正在尝试使用 mutate 创建一个新列,其中包含基于特定列的值。
最终数据框示例(我正在尝试创建new_col):
x = tibble(colA = c(11, 12, 13),
colB = c(91, 92, 93),
col_to_use = c("colA", "colA", "colB"),
new_col = c(11, 12, 93))
我想做这样的事情:
x %>% mutate(new_col = col_to_use)
除了列内容之外,我想将它们转换为变量。我开始了:
col_name = "colA"
x %>% mutate(new_col = !!as.name(col_name))
这适用于静态变量。但是,我一直无法更改变量来表示该列。如何根据不同列的内容取列名?
这个问题基本上与此相反:dplyr - mutate: use dynamic variable names。我无法根据我的问题调整解决方案。
【问题讨论】:
标签: r dplyr tidyverse nse quosure