hyperframe
Hyper Data Frame
Create a hyperframe: a two-dimensional array in which each column consists of values of the same atomic type (like the columns of a data frame) or objects of the same class.
Usage
hyperframe(...,
row.names=NULL, check.rows=FALSE, check.names=TRUE,
stringsAsFactors=default.stringsAsFactors())
Arguments
- ...
- Arguments of the form
value
ortag=value
. Eachvalue
is either an atomic vector, or a list of objects of the same class, or a single atomic value, or a single object. Eachvalue
will become a - row.names,check.rows,check.names,stringsAsFactors
- Arguments passed to
data.frame
controlling the names of the rows, whether to check that rows are consistent, whether to check validity of the column names, and whether to convert character co
Details
A hyperframe is like a data frame, except that its entries can be objects of any kind.
A hyperframe is a two-dimensional array in which each column consists of values of one atomic type (as in a data frame) or consists of objects of one class.
The arguments ...
are any number of arguments of
the form value
or tag=value
. Each value
will
become a column of the array. The tag
determines the name
of the column.
Each value
can be either
- an atomic vector or factor (i.e. numeric vector, integer vector, character vector, logical vector, complex vector or factor)
- a list of objects which are all of the same class
- one atomic value, which will be replicated to make an atomic vector or factor
- one object, which will be replicated to make a list of objects.
All columns (vectors, factors and lists) must be of the same length, if their length is greater than 1.
Value
- An object of class
"hyperframe"
.
Methods for Hyperframes
There are methods for
print
, plot
, summary
, with
,
[
, [<
,$
, $<-
,
names
, as.data.frame
as.list
,
cbind
and rbind
for the class of hyperframes. There is also
is.hyperframe
and as.hyperframe
.
See Also
as.hyperframe
,
as.hyperframe.ppx
,
plot.hyperframe
,
with.hyperframe
,
as.data.frame.hyperframe
,
cbind.hyperframe
,
rbind.hyperframe
Examples
# equivalent to a data frame
hyperframe(X=1:10, Y=3)
# list of functions
hyperframe(f=list(sin, cos, tan))
# table of functions and matching expressions
hyperframe(f=list(sin, cos, tan),
e=list(expression(sin(x)), expression(cos(x)), expression(tan(x))))
hyperframe(X=1:10, Y=letters[1:10], Z=factor(letters[1:10]),
stringsAsFactors=FALSE)
lambda <- runif(4, min=50, max=100)
X <- lapply(as.list(lambda), function(x) { rpoispp(x) })
h <- hyperframe(lambda=lambda, X=X)
h
h$lambda2 <- lambda^2
h[, "lambda3"] <- lambda^3
h[, "Y"] <- X