【问题标题】:Extracted variable name dplyr::mutate提取的变量名 dplyr::mutate
【发布时间】:2019-01-21 08:53:21
【问题描述】:

我想从数据框中提取变量名并使用 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])

【问题讨论】:

    标签: r dplyr


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2018-11-11
      • 1970-01-01
      • 1970-01-01
      • 2016-11-15
      • 2018-10-03
      • 2018-05-06
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      相关资源
      最近更新 更多