繁体   English   中英

提取的变量名 dplyr::mutate

[英]Extracted variable name dplyr::mutate

我想从数据框中提取一个变量名,然后用 dplyr::mutate 创建一个新变量。 我必须写什么才能接受通过“md$meta[1]”提供的变量名? 我认为这是直截了当的,但我无法在网上找到答案。 非常感谢任何帮助!

假数据

iris <- head(iris)
meta <- c("a", "b", "c")
data <- c(1:3)
md <- data.frame(meta, data)
rm(meta, data)

期望输出

iris <- iris %>%
  mutate("a" = md$data[1])

代码尝试

iris <- iris %>%
  mutate(paste0(md$meta[1]) = md$data[1])

这可以通过赋值 ( := ) 和评估 ( !! ) 赋值的 lhs 来完成

iris %>% 
    mutate(!! paste0(md$meta[1]) := md$data[1])
#  Sepal.Length Sepal.Width Petal.Length Petal.Width Species a
#1          5.1         3.5          1.4         0.2  setosa 1
#2          4.9         3.0          1.4         0.2  setosa 1
#3          4.7         3.2          1.3         0.2  setosa 1
#4          4.6         3.1          1.5         0.2  setosa 1
#5          5.0         3.6          1.4         0.2  setosa 1
#6          5.4         3.9          1.7         0.4  setosa 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM