通常情况下,R 包包含多个函数,这些函数创建 some 的对象,由包指定,具有适用于该类的所有对象的class
泛型或非泛型。methods
尽管通常很容易找到包中的函数,但我还没有找到任何同样直接的方法来找到class
S3 类本身的精确描述。我认为这至少部分是故意的。类定义可以被视为一种内部工作方式,一方面,用户不应该考虑,另一方面,可以由包创建者更改,他希望人们不依赖它们。
但是,我发现有时我想创建class
与作为方法的包函数一起使用的相同对象的其他对象class
。并且,要推断出一个对象必须具有哪些特征才能被对它的对象执行各种操作的包函数使用并不总是那么容易class
,尤其是当由不同函数创建的实例可能具有或可能不具有完全相同的结构时。
我目前正在研究的示例是由包forecast
的各种功能创建的对象forecast
。预测包提供了大量以预测对象为输入的函数。Rob Hyndman 的这篇博客文章描述了一个进行交叉验证的函数,并且需要一个类对象forecast
作为参数tsCV
函数文档说它需要一个“forecastFunction”作为参数,它必须返回一个类对象forecast
并且具有单变量时间序列它的第一个对象(预测,一个假设)并且有一个参数h
给出了地平线。嗯,这听起来很容易。但随后在海德曼的相关教科书中,第 3.6 节,我们被告知预测对象包含有关预测方法、数据、点预测、预测区间、残差和拟合值的信息。这是很多事情,我不确定它们是否都是强制性的,或者是否有些是可选的,或者仅当您打算使用某些方法时才需要。而且我对班级的强制性内部结构一无所知。
最后,我特别想知道作为预测包替换的新fable包是否使用相同的预测类机制并需要相同的内部结构。如果不是,它们有何不同。我无法在fpp3或其他地方找到任何描述更改或包含class forecast
.
如果有一些简单的功能,我会很尴尬,
you_should_know_this_dummy(package = “forecast”, class = “forecast”)
,
返回类的详细描述。但是我已经以我能想到的各种方式寻找了这样的功能,但没有找到。