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]