| name {base} | R Documentation |
A ‘name’ (also known as a ‘symbol’) is a way to refer to R objects by name (rather than the value of the object, if any, bound to that name).
as.name and as.symbol are identical: they attempt to
coerce the argument to a name.
is.symbol and the identical is.name return TRUE
or FALSE depending on whether the argument is a name or not.
as.symbol(x) is.symbol(x) as.name(x) is.name(x)
x |
object to be coerced or tested. |
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`).
Names are currently limited to 256 bytes.
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.
For as.name and as.symbol, an R object of type
"symbol" (see typeof).
For is.name and is.symbol, a length-one logical vector
with value TRUE or FALSE.
The term ‘symbol’ is from the LISP background of R, whereas ‘name’ has been the standard S term for this.
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
call, is.language.
For the internal object mode, typeof.
plotmath for another use of ‘symbol’.
an <- as.name("arrg")
is.name(an) # TRUE
mode(an) # name
typeof(an) # symbol