Learn R Programming

spatstat.geom (version 3.7-0)

hyperframe: Hyper Data Frame

Description

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=NULL)

Arguments

Value

An object of class "hyperframe".

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, factor, or an object of class "Date" or "Surv")

  • 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.

See Also

as.hyperframe, as.hyperframe.ppx, plot.hyperframe, [.hyperframe, with.hyperframe, split.hyperframe, as.data.frame.hyperframe, cbind.hyperframe, rbind.hyperframe

Examples

Run this code
 # 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)
if(require(spatstat.random)) {
  X <- solapply(as.list(lambda), rpoispp)
} else {
  X <- solapply(as.list(lambda), function(lam) runifrect(rpois(1, lam)))
}
  h <- hyperframe(lambda=lambda, X=X)
  h

  h$lambda2 <- lambda^2
  h[, "lambda3"] <- lambda^3
  h[, "Y"] <- X

  h[[2, "lambda3"]]

Run the code above in your browser using DataLab