anyNA()
exists as a replacement for any(is.na(x))
which is more efficient
for simple objects, and is at worst equally efficient.
Therefore, it should be used in all situations instead of the latter.
See also
linters for a complete list of linters available in lintr.
Examples
# will produce lints
lint(
text = "any(is.na(x), na.rm = TRUE)",
linters = any_is_na_linter()
)
#> ::warning file=<text>,line=1,col=1::file=<text>,line=1,col=1,[any_is_na_linter] anyNA(x) is better than any(is.na(x)).
lint(
text = "any(is.na(foo(x)))",
linters = any_is_na_linter()
)
#> ::warning file=<text>,line=1,col=1::file=<text>,line=1,col=1,[any_is_na_linter] anyNA(x) is better than any(is.na(x)).
# okay
lint(
text = "anyNA(x)",
linters = any_is_na_linter()
)
lint(
text = "anyNA(foo(x))",
linters = any_is_na_linter()
)
lint(
text = "any(!is.na(x), na.rm = TRUE)",
linters = any_is_na_linter()
)