代码之家  ›  专栏  ›  技术社区  ›  Doug Fir

使管道链中的向量发生变异

  •  1
  • Doug Fir  · 技术社区  · 5 年前

    mtcars$mpg .

    x <- mtcars
    # I don't wan't to do this:
    x %>% mutate(mpg = mpg - 1)
    

    我在找这样的东西:

    x$mpg %>% mutate(. := .-1)
    

    这可能吗?

    1 回复  |  直到 5 年前
        1
  •  2
  •   akrun    5 年前

    mutate/summarise 其他tidyverse函数期望 data.frame 作为 .data magrittr 辅助函数 subtract

    library(magrittr)
    x$mpg %>%
         subtract(1)
    

    或者在 {}

    x$mpg %>%
          {. -1} -> x$mpg
    

    或者使用复合赋值运算符( %<>% )用于更新列

    head(x$mpg)
    #[1] 21.0 21.0 22.8 21.4 18.7 18.1
    
    x$mpg %<>%
              {.- 1}
    head(x$mpg)
    #[1] 20.0 20.0 21.8 20.4 17.7 17.1