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

how to write the following code using %>% in R

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

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

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

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

但是在运算符的两边都有 X 对我来说似乎不是正确的方法。虽然代码有效!

只是

x %>% filter(complete.cases)

之所以使用链式运算符是为了避免每次都输入数据,这样即使你有更多的功能,你也可以跳过第一个参数而忽略其余部分。

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

正如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(.))

想法是 %>% 运算符左侧产生的数据框将是它之后函数调用中的第一个输入。