Names are limited to 10,000 bytes (and were to 256 bytes in versions
of R before 2.13.0). as.name
first coerces its argument internally to a character
vector (so methods for as.character
are not used). It then
takes the first element and provided it is not ""
, returns a
symbol of that name (and if the element is NA_character_
, the
name is `NA`
).
as.name
is implemented as as.vector(x, "symbol")
,
and hence will dispatch methods for the generic function as.vector
.
is.name
and is.symbol
are primitive functions.