Extract or replace a subset of a hyperframe.

```
# S3 method for hyperframe
[(x, i, j, drop, strip=drop, …)
# S3 method for hyperframe
[(x, i, j) <- value
# S3 method for hyperframe
$(x, name)
# S3 method for hyperframe
$(x, name) <- value
```

x

A hyperframe (object of class `"hyperframe"`

).

i,j

Row and column indices.

drop,strip

Logical values indicating what to do when the hyperframe has only one row or column. See Details.

…

Ignored.

name

Name of a column of the hyperframe.

value

Replacement value for the subset. A hyperframe or (if the subset is a single column) a list or an atomic vector.

A hyperframe (of class `"hyperframe"`

).

These functions extract a designated subset of a hyperframe, or replace the designated subset with another hyperframe.

The function `[.hyperframe`

is a method for the subset operator
`[`

for the
class `"hyperframe"`

. It extracts the subset of `x`

specified by the row index `i`

and column index `j`

.

The argument `drop`

determines whether the array structure
will be discarded if possible. The argument `strip`

determines
whether the list structure in a row or column or cell will be discarded if
possible.
If `drop=FALSE`

(the default), the return value is always
a hyperframe or data frame.
If `drop=TRUE`

, and if the selected subset has only one row,
or only one column, or both, then

if

`strip=FALSE`

, the result is a list, with one entry for each array cell that was selected.if

`strip=TRUE`

,if the subset has one row containing several columns, the result is a list or (if possible) an atomic vector;

if the subset has one column containing several rows, the result is a list or (if possible) an atomic vector;

if the subset has exactly one row and exactly one column, the result is the object (or atomic value) contained in this row and column.

The function `[<-.hyperframe`

is a method for the
subset replacement operator `[<-`

for the
class `"hyperframe"`

. It replaces the designated
subset with the hyperframe `value`

.
The subset of `x`

to be replaced is designated by
the arguments `i`

and `j`

as above.
The replacement `value`

should be a hyperframe with the
appropriate dimensions, or (if the specified subset is a single
column) a list of the appropriate length.

The function `$.hyperframe`

is a method for `$`

for hyperframes. It extracts the relevant column of the hyperframe.
The result is always a list (i.e. equivalent to using
`[.hyperframe`

with `strip=FALSE`

).

The function `$<-.hyperframe`

is a method for `$<-`

for hyperframes. It replaces the relevant column of the hyperframe.
The replacement value should be a list of the appropriate length.

# NOT RUN { h <- hyperframe(X=list(square(1), square(2)), Y=list(sin, cos)) h h[1, ] h[1, ,drop=TRUE] h[ , 1] h[ , 1, drop=TRUE] h[1,1] h[1,1,drop=TRUE] h[1,1,drop=TRUE,strip=FALSE] h[1,1] <- list(square(3)) # extract column h$X # replace existing column h$Y <- list(cells, cells) # add new column h$Z <- list(cells, cells) # }