如何在R中使用%>%编写以下代码

时间:2015-05-22 22:27:45

标签: r dplyr piping magrittr

我正在尝试在代码中使用越来越多的%>%运算符和dplyr,但我发现我无法弄清楚如何一直使用%>%。例如,我如何以正确的方式将complete.cases()函数用于

X <- X[complete.cases(X), ]

使用%>%运算符。我在写

X %>% filter(X %>% complete.cases)

但是在操作员的两侧都有X似乎不适合我。代码可以工作!

3 个答案:

答案 0 :(得分:2)

library(dplyr)
mtcars %>%
filter(complete.cases(.))

答案 1 :(得分:2)

正如this post所述。一段时间指向传入的数据帧,允许您执行此操作:

X <- data.frame(a=rep(1,10),
                b=rep("a", 10),
                c=1:10)
X[sample(1:20,5),2:3] <- NA

library(dplyr)
X %>% 
    filter(complete.cases(.))

我们的想法是,%&gt;%运算符左侧产生的数据帧将是后面函数调用中的第一个输入。

答案 2 :(得分:1)

它只是

x %>% filter(complete.cases)

使用链接运算符的原因是为了避免每次都必须输入数据,所以即使你有更多的函数,你也可以跳过第一个参数并提及其余的。