as.integer(1) (or rlang::int(1)) is the same as 1L but the latter is
more concise and gets typed correctly at compilation.
literal_coercion_linter()best_practices, consistency, efficiency
The same applies to missing sentinels like NA -- typically, it is not
necessary to specify the storage type of NA, but when it is, prefer
using the typed version (e.g. NA_real_) instead of a coercion
(like as.numeric(NA)).
linters for a complete list of linters available in lintr.