name

0th

Percentile

Names and Symbols

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.

Keywords
attribute, programming
Usage
as.symbol(x)
is.symbol(x)

as.name(x) is.name(x)

Arguments
x

object to be coerced or tested.

Details

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.

Value

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.

Note

The term ‘symbol’ is from the LISP background of R, whereas ‘name’ has been the standard S term for this.

References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

See Also

call, is.language. For the internal object mode, typeof.

plotmath for another use of ‘symbol’.

Aliases
  • name
  • is.symbol
  • as.symbol
  • as.name
  • is.name
Examples
library(base) # NOT RUN { an <- as.name("arrg") is.name(an) # TRUE mode(an) # name typeof(an) # symbol # }
Documentation reproduced from package base, version 3.5.1, License: Part of R 3.5.1

Community examples

Looks like there are no examples yet.