vectorproduces 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.
xis 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")
"expression"or (except for
is.vector()allows any type (see
mode, and when mode is not
is.vector(x, mode)is almost the same as
typeof(x) == mode.
length > .Machine$integer.max, it has to be of type
"double". Supplying an argument of length other than one is an error.
vector, a vector of the given length and mode. Logical vector elements are initialized to
FALSE, numeric vector elements to
0, character vector elements to
"", raw vector elements to
nulbytes and list/expression elements to
as.vector, a vector (atomic or of type list or expression). 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. For
is.vector(x, mode = "numeric")can be true for vectors of types
is.vector(x, mode = "double")can only be true for those of type
as.vectorneed 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
mode = "any"this means an atomic vector or list.
is.vector(as.vector(x, m), m)should be true for any mode
m, including the default
mode = "any",
TRUEfor the atomic modes,
expression. For any
mode, it will return
xhas any attributes except names. (This is incompatible with S.) On the other hand,
as.vectorremoves all attributes including names for results of atomic mode (but not those of mode
"expression"). Note that factors are not vectors;
as.vectorconverts a factor to a character vector for
mode = "any".
df <- data.frame(x = 1:3, y = 5:7) ## Error: try(as.vector(data.frame(x = 1:3, y = 5:7), mode = "numeric")) 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")
Run the code above in your browser using DataCamp Workspace