vector produces a vector of the given length and mode.
as.vector, a generic, attempts to coerce its argument into a vector of mode
mode (the default is to coerce to whichever vector mode is most convenient): if the result is atomic all attributes are removed.
x is a vector of the specified mode having no attributes other than names. It returns
vector(mode = "logical", length = 0) as.vector(x, mode = "any") is.vector(x, mode = "any")
- character string giving an atomic mode or
"list", or (except for
- a non-negative integer specifying the desired length. For a long vector, i.e.,
length > .Machine$integer.max, it has to be of type
"double". Supplying an argument of length other than one is an error.
- an R object.
The atomic modes are
mode = "any",
is.vector may return
TRUE for the atomic modes,
expression. For any
mode, it will return
x has any attributes except names. (This is incompatible with S.) On the other hand,
as.vector removes all attributes including names for results of atomic mode (but not those of mode
vector, a vector of the given length and mode. Logical vector elements are initialized to
FALSE, numeric vector elements to
"", raw vector elements to
nul bytes and list elements to
as.vector, a vector (atomic or of type list). All attributes are removed from the result if it is of an atomic mode, but not in general for a list result. The default method handles 24 input types and 12 values of
type: the details of most coercions are undocumented and subject to change.
Writers of methods for
as.vector need to take care to follow the conventions of the default method. In particular
"any", any of the atomic modes,
"pairlist"or one of the aliases
- The return value should be of the appropriate mode. For
mode = "any"this means an atomic vector or list.
- Attributes should be treated appropriately: in particular when the result is an atomic vector there should be no attributes, not even names.
is.vector(as.vector(x, m), m)should be true for any mode
m, including the default
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
"expression" are allowed but have long been undocumented: they are used to implement
as.expression, and those functions should preferably be used directly. None of the description here applies to those
modes: see the help for the preferred forms.
df <- data.frame(x = 1:3, y = 5:7) ## Not run:## Error: as.vector(data.frame(x = 1:3, y = 5:7), mode = "numeric") ## End(Not run) x <- c(a = 1, b = 2) is.vector(x) as.vector(x) all.equal(x, as.vector(x)) ## FALSE ###-- All the following are TRUE: is.list(df) ! is.vector(df) ! is.vector(df, mode = "list") is.vector(list(), mode = "list")
Documentation reproduced from R 3.0.1. License: GPL-2.