View source: R/inner_combine_linter.R
inner_combine_linter | R Documentation |
c()
to be applied before relatively expensive vectorized functionsas.Date(c(a, b))
is logically equivalent to c(as.Date(a), as.Date(b))
.
The same equivalence holds for several other vectorized functions like
as.POSIXct()
and math functions like sin()
. The former is to be
preferred so that the most expensive part of the operation (as.Date()
)
is applied only once.
inner_combine_linter()
Note that strptime()
has one idiosyncrasy to be aware of, namely that
auto-detected format=
is set by the first matching input, which means
that a case like c(as.POSIXct("2024-01-01"), as.POSIXct("2024-01-01 01:02:03"))
gives different results to as.POSIXct(c("2024-01-01", "2024-01-01 01:02:03"))
.
This false positive is rare; a workaround where possible is to use
consistent formatting, i.e., "2024-01-01 00:00:00"
in the example.
consistency, efficiency, readability
linters for a complete list of linters available in lintr.
# will produce lints
lint(
text = "c(log10(x), log10(y), log10(z))",
linters = inner_combine_linter()
)
# okay
lint(
text = "log10(c(x, y, z))",
linters = inner_combine_linter()
)
lint(
text = "c(log(x, base = 10), log10(x, base = 2))",
linters = inner_combine_linter()
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.