| ifelse_censor_linter {lintr} | R Documentation |
Block usage of ifelse() where pmin() or pmax() is more appropriate
Description
ifelse(x > M, M, x) is the same as pmin(x, M), but harder
to read and requires several passes over the vector.
Usage
ifelse_censor_linter()
Details
The same goes for other similar ways to censor a vector, e.g.
ifelse(x <= M, x, M) is pmin(x, M),
ifelse(x < m, m, x) is pmax(x, m), and
ifelse(x >= m, x, m) is pmax(x, m).
Tags
See Also
linters for a complete list of linters available in lintr.
Examples
# will produce lints
lint(
text = "ifelse(5:1 < pi, 5:1, pi)",
linters = ifelse_censor_linter()
)
lint(
text = "ifelse(x > 0, x, 0)",
linters = ifelse_censor_linter()
)
# okay
lint(
text = "pmin(5:1, pi)",
linters = ifelse_censor_linter()
)
lint(
text = "pmax(x, 0)",
linters = ifelse_censor_linter()
)
[Package lintr version 3.1.2 Index]