abstract: Turn S3 Objects Into Templates

View source: R/abstract.R

abstractR Documentation

Turn S3 Objects Into Templates

Description

Create templates for use by alike. Currently somewhat experimental; behavior may change in future.

Usage

abstract(x, ...)

## S3 method for class 'data.frame'
abstract(x, ...)

## Default S3 method:
abstract(x, ...)

## S3 method for class 'array'
abstract(x, ...)

## S3 method for class 'matrix'
abstract(x, ...)

## S3 method for class 'list'
abstract(x, ...)

## S3 method for class 'lm'
abstract(x, ...)

## S3 method for class 'environment'
abstract(x, ...)

## S3 method for class 'ts'
abstract(x, what = c("start", "end", "frequency"), ...)

Arguments

x

the object to abstract

...

arguments for methods that require further arguments

what

for time series which portion of the ts attribute to abstract, by default all three are abstracted, but you can select, any one, two, or all

Details

abstract is intended to create templates for use by alike. The result of abstraction is often a partially specified object. This type of object may not be suited for use in typical R computations and may cause errors (or worse) if you try to use them as normal R objects.

There is no guarantee that the abstracted object is suitable for use as a template to alike as is. You may need to modify it further so that it suits your purposes.

abstract is an S3 generic. The default method will dispatch on implicit classes, so if you attempt to abstract an object without an explicit abstract method, it will get abstracted based on its implicit class. If you define your own abstract method and do not wish further abstraction based on implicit classes do not use NextMethod.

S4 and RC objects are returned unchanged.

Value

abstracted object

Time Series

alike will treat time series parameter components with zero in them as wildcards. This function allows you to create these wild card time series attributes since R does not allow direct creation/modification of ts attributes with zero values.

Make sure you do not try to use the templates you create with this for anything other than as alike templates since the result is likely undefined given R expects non zero values for the ts attribute and attempts to prevent such attributes.

Examples

iris.tpl <- abstract(iris)
alike(iris.tpl, iris[1:10, ])
alike(iris.tpl, transform(iris, Species=as.character(Species)))

abstract(1:10)
abstract(matrix(1:9, nrow=3))
abstract(list(1:9, runif(10)))

vetr documentation built on June 22, 2024, 12:07 p.m.