【问题标题】:Dplyr Syntax Without Repeating the Data Frame不重复数据帧的 Dplyr 语法
【发布时间】:2015-10-24 12:41:24
【问题描述】:

dplyr 中,您可以隐含数据框并将其传递给后续函数,如下所示:

df <- df %>% select(one_of(c("Species", "Genus"))) %>% 
mutate(newcol = sum(length+width)

语法中有没有一种方法可以使我不必重复箭头右侧的df

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    它在dplyr 中不可用,但在magrittr 库中。

    library(magrittr)
    library(dplyr)
    
    df %<>% ...
    

    %&lt;&gt;% 运算符表示“传递给右侧的函数,然后保存到具有相同名称的对象”。例如:

    mtcars %<>% mutate(cyl_plus_gear = cyl + gear) %>% arrange(cyl_plus_gear)
    

    【讨论】:

      【解决方案2】:

      谢谢;我还发现这可以通过简单地将数据框作为第一个参数传递给部署程序中的第一个函数调用来完成。

      例如:

        df <- select(df,1:10)%>%filter(value > 10)
      

      【讨论】:

      • 是的,因为%&gt;% 所做的是将左侧对象作为第一个参数传递给右侧函数。
      猜你喜欢
      • 2019-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-16
      • 1970-01-01
      • 2019-05-07
      • 1970-01-01
      相关资源
      最近更新 更多