1  Hyper Data Frame

ImportantDisclaimer

These packages (Note 1) are a one-person project undergoing rapid evolution. Backward compatibility (per Hadley Wickham) is provided as a courtesy rather than a guarantee.

Until further notice, these packages should

  • not be used as a basis for research grant applications,
  • not be cited as an actively maintained tool in a peer-reviewed manuscript,
  • not be used to support or fulfill requirements for pursuing an academic degree.

In addition, work primarily based on these packages (Note 1) should not be presented at academic conferences or similar scholarly venues.

Furthermore, a person’s ability to use these packages (Note 1) does not necessarily imply an understanding of their underlying mechanisms. Accordingly, demonstration of their use alone should not be considered sufficient evidence of expertise, nor should it be credited as a basis for academic promotion or advancement.

These statements do not apply to the contributors (Tip 1) to these packages (Note 1) with respect to their specific contributions.

These statements do not apply when the maintainer of these packages (Note 1), Tingting Zhan, is credited as the first author, the lead author, and/or the corresponding author in a peer-reviewed manuscript, or as the Principal Investigator or Co-Principal Investigator in a research grant application and/or a final research progress report.

These statements are advisory in nature and do not modify or restrict the rights granted under the GNU General Public License https://www.r-project.org/Licenses/.

Caution 1.1: Chapter 1 Prerequisite

The S3 object-oriented programming system in R.

data.frame

datasets::Formaldehyde
#   carb optden
# 1  0.1  0.086
# 2  0.3  0.269
# 3  0.5  0.446
# 4  0.6  0.538
# 5  0.7  0.626
# 6  0.9  0.782

Note 1.1

S3/S4 methods *.data.frame (R version 4.5.3 (2026-03-11))
visible from generic isS4
[.data.frame TRUE base base::[ FALSE
[[.data.frame TRUE base base::[[ FALSE
[[<-,data.frame-method TRUE base::`[[<-` TRUE
[[<-.data.frame TRUE base base::`[[<-` FALSE
[<-,data.frame-method TRUE base::`[<-` TRUE
[<-.data.frame TRUE base base::`[<-` FALSE
$<-,data.frame-method TRUE base::`$<-` TRUE
$<-.data.frame TRUE base base::`$<-` FALSE
aggregate.data.frame TRUE stats stats::aggregate FALSE
anyDuplicated.data.frame TRUE base base::anyDuplicated FALSE
anyNA.data.frame TRUE base base::anyNA FALSE
as.data.frame.data.frame TRUE base base::as.data.frame FALSE
as.list.data.frame TRUE base base::as.list FALSE
as.matrix.data.frame TRUE base base::as.matrix FALSE
as.vector.data.frame TRUE base base::as.vector FALSE
by.data.frame TRUE base base::by FALSE
cbind.data.frame TRUE base base::cbind FALSE
coerce,ANY,list-method TRUE methods methods::coerce TRUE
coerce,data.frame,data.table-method TRUE data.table methods::coerce TRUE
coerce,data.table,data.frame-method TRUE data.table methods::coerce TRUE
coerce,oldClass,S3-method TRUE methods::coerce TRUE
coerce<-,data.table,data.frame-method TRUE data.table methods::`coerce<-` TRUE
dim.data.frame TRUE base base::dim FALSE
dimnames.data.frame TRUE base base::dimnames FALSE
dimnames<-.data.frame TRUE base base::`dimnames<-` FALSE
droplevels.data.frame TRUE base base::droplevels FALSE
duplicated.data.frame TRUE base base::duplicated FALSE
edit.data.frame FALSE registered S3method utils::edit FALSE
filter.data.frame FALSE registered S3method stats::filter FALSE
format.data.frame TRUE base base::format FALSE
formula.data.frame FALSE registered S3method stats::formula FALSE
head.data.frame FALSE registered S3method utils::head FALSE
initialize,oldClass-method TRUE methods::initialize TRUE
intersect.data.frame FALSE registered S3method base::intersect FALSE
is.na.data.frame TRUE base base::is.na FALSE
Math.data.frame TRUE base methods::Math FALSE
merge.data.frame TRUE base base::merge FALSE
na.contiguous.data.frame FALSE registered S3method stats::na.contiguous FALSE
na.exclude.data.frame FALSE registered S3method stats::na.exclude FALSE
na.omit.data.frame FALSE registered S3method stats::na.omit FALSE
Ops,nonStructure,vector-method TRUE methods::Ops TRUE
Ops,structure,vector-method TRUE methods::Ops TRUE
Ops,vector,nonStructure-method TRUE methods::Ops TRUE
Ops,vector,structure-method TRUE methods::Ops TRUE
Ops.data.frame TRUE base methods::Ops FALSE
plot.data.frame FALSE registered S3method base::plot FALSE
print.data.frame TRUE base base::print FALSE
prompt.data.frame FALSE registered S3method utils::prompt FALSE
rbind.data.frame TRUE base base::rbind FALSE
row.names.data.frame TRUE base base::row.names FALSE
row.names<-.data.frame TRUE base base::`row.names<-` FALSE
rowsum.data.frame TRUE base base::rowsum FALSE
setdiff.data.frame FALSE registered S3method base::setdiff FALSE
setequal.data.frame FALSE registered S3method base::setequal FALSE
show,oldClass-method TRUE methods::show TRUE
slotsFromS3,data.frame-method TRUE methods::slotsFromS3 TRUE
sort_by.data.frame TRUE base base::sort_by FALSE
split.data.frame TRUE base base::split FALSE
split<-.data.frame TRUE base base::`split<-` FALSE
stack.data.frame FALSE registered S3method utils::stack FALSE
str.data.frame FALSE registered S3method utils::str FALSE
subset.data.frame TRUE base base::subset FALSE
summary.data.frame TRUE base base::summary FALSE
Summary.data.frame TRUE base methods::Summary FALSE
t.data.frame TRUE base base::t FALSE
tail.data.frame FALSE registered S3method utils::tail FALSE
transform.data.frame TRUE base base::transform FALSE
type.convert.data.frame FALSE registered S3method utils::type.convert FALSE
union.data.frame FALSE registered S3method base::union FALSE
unique.data.frame TRUE base base::unique FALSE
unstack.data.frame FALSE registered S3method utils::unstack FALSE
within.data.frame TRUE base base::within FALSE
xtfrm.data.frame TRUE base base::xtfrm FALSE

The spatstat.* family of packages,

library(spatstat)

A hyper data frame (hyperframe, Chapter 26, package spatstat.geom, v3.7.3, GPL (>= 2)) contains columns that are either atomic vectors, as in a standard data frame, or lists of objects of the same class—referred to as hypercolumns. This data structure is particularly well suited for spatial analysis contexts, such as medical imaging, where each element in a hypercolumn can represent the spatial information contained in a single image. For example, the hyper data frame demohyper (Section 10.9) from package spatstat.data (v3.1.9, GPL (>= 2)) contains a regular column Group, a point-pattern (ppp) hypercolumn Points, and a pixel-image (im) hypercolumn Image.

spatstat.data::demohyper
# Hyperframe:
#   Points Image Group
# 1  (ppp)  (im)     a
# 2  (ppp)  (im)     b
# 3  (ppp)  (im)     a

Note 1.2 summarizes the S3 methods for the class 'hyperframe' in

S3 methods *.hyperframe
visible generic isS4
[.hyperframe TRUE base::[ FALSE
[[.hyperframe TRUE base::[[ FALSE
[[<-.hyperframe TRUE base::`[[<-` FALSE
[<-.hyperframe TRUE base::`[<-` FALSE
$.hyperframe TRUE base::$ FALSE
$<-.hyperframe TRUE base::`$<-` FALSE
as.data.frame.hyperframe TRUE base::as.data.frame FALSE
as.hyperframe.hyperframe TRUE spatstat.geom::as.hyperframe FALSE
as.list.hyperframe TRUE base::as.list FALSE
cbind.hyperframe TRUE base::cbind FALSE
dim.hyperframe TRUE base::dim FALSE
dimnames.hyperframe TRUE base::dimnames FALSE
dimnames<-.hyperframe TRUE base::`dimnames<-` FALSE
edit.hyperframe TRUE utils::edit FALSE
head.hyperframe TRUE utils::head FALSE
is.na.hyperframe TRUE base::is.na FALSE
names.hyperframe TRUE base::names FALSE
names<-.hyperframe TRUE base::`names<-` FALSE
plot.hyperframe TRUE base::plot FALSE
print.hyperframe TRUE base::print FALSE
rbind.hyperframe TRUE base::rbind FALSE
row.names.hyperframe TRUE base::row.names FALSE
row.names<-.hyperframe TRUE base::`row.names<-` FALSE
split.hyperframe TRUE base::split FALSE
split<-.hyperframe TRUE base::`split<-` FALSE
str.hyperframe TRUE utils::str FALSE
subset.hyperframe TRUE base::subset FALSE
summary.hyperframe TRUE base::summary FALSE
tail.hyperframe TRUE utils::tail FALSE
with.hyperframe TRUE base::with FALSE
Caution 1.2: You Have Learned

The S3 class hyperframe.

1.1 with-Grammar

Caution 1.3: Section 1.1 Prerequisite

Caution 1.1 and Caution 1.2.

The S3 generic function with() and the method with.default().

The S3 method with.hyperframe()

1.1.1 Multi-Core Patch Fix

Caution 1.4: Section 1.1.1 Prerequisite

Caution 1.1, Caution 1.2 and Section 1.1.

The R packages for parallel computing,

  • parallel (R version 4.5.3 (2026-03-11)) on Unix-like operating systems; and
  • doParallel (v1.0.17, GPL-2) and foreach (v1.5.2, Apache License (== 2.0)) (Microsoft Corporation and Weston 2022a, 2022b) on Windows operating system.

1.2 within-Grammar

Caution 1.5: Section 1.2 Prerequisite

Caution 1.1 and Caution 1.2.

The S3 generic function within() and the methods within.list() and within.data.frame().