| one_call_pipe_linter {lintr} | R Documentation |
Block single-call magrittr pipes
Description
Prefer using a plain call instead of a pipe with only one call,
i.e. 1:10 %>% sum() should instead be sum(1:10). Note that
calls in the first %>% argument count. rowSums(x) %>% max() is OK
because there are two total calls (rowSums() and max()).
Usage
one_call_pipe_linter()
Details
Note also that un-"called" steps are not counted, since they should
be calls (see pipe_call_linter()).
Tags
See Also
-
linters for a complete list of linters available in lintr.
Examples
# will produce lints
lint(
text = "(1:10) %>% sum()",
linters = one_call_pipe_linter()
)
lint(
text = "DT %>% .[grp == 'a', sum(v)]",
linters = one_call_pipe_linter()
)
# okay
lint(
text = "rowSums(x) %>% mean()",
linters = one_call_pipe_linter()
)
lint(
text = "DT[src == 'a', .N, by = grp] %>% .[N > 10]",
linters = one_call_pipe_linter()
)
# assignment pipe is exempted
lint(
text = "DF %<>% mutate(a = 2)",
linters = one_call_pipe_linter()
)
[Package lintr version 3.3.0-1 Index]