| mode {base} | R Documentation |
The (Storage) Mode of an Object
Description
mode and storage.mode provide means of determining the
type or storage mode of an object. Both return a character string
giving the (storage) mode of the object – often the same – both
relying on the output of typeof(x), see the example
below.
The two assignment versions are currently identical. Both
mode(x) <- newmode and storage.mode(x) <- newmode change
the mode or storage.mode of object x to
newmode.
Usage
mode(x)
mode(x) <- "<mode>"
storage.mode(x)
storage.mode(x) <- "<mode>"
Details
As storage mode "single" is only a pseudo-mode in R, it will not be
reported by mode or storage.mode: use
attr(object, "Csingle") to examine this. However, the
assignment versions can be used to set the mode to "single",
which sets the real mode to "double" and the "Csingle"
attribute to TRUE. Setting any other mode will remove the
"Csingle" attribute.
See Also
typeof for the R-internal “mode”,
attributes.
Examples
sapply(options(),mode)
cex3 <- c("NULL","1","1:1","1i","list(1)","data.frame(x=1)", "pairlist(pi)",
"args", "lm", "formals(lm)[[1]]", "formals(lm)[[2]]",
"y~x","(y~x)[[1]]", "expression(x <- pi)[[1]][[1]]")
lex3 <- sapply(cex3, function(x) eval(parse(text=x)))
mex3 <- t(sapply(lex3, function(x) c(typeof(x), storage.mode(x), mode(x))))
dimnames(mex3) <- list(cex3, c("typeof(.)","storage.mode(.)","mode(.)"))
mex3
## This also makes a local copy of `pi':
storage.mode(pi) <- "complex"
storage.mode(pi)
rm(pi)