在R中正确定义类的成员和不变量

在R中正确定义类的成员和不变量,r,R,我们有一个特定用途的R包。基本数据结构是一个相关函数,它是一个实数/复数函数,用于少量(100)个时间片。我们对它有多个测量(N),所以它的核心是一个N×T矩阵。但它还可以成为更多的东西: 我们可以用R个样本引导它,使它成为R×T矩阵。但是,我们希望保留原始数据,因此有一个字段用于R×T矩阵,另一个字段用于N×T矩阵 它可以被对称化,这将把T一分为二,也可以改变与这些对象一起工作的各种其他功能 此外,它还可以移动,以获取连续元素之间的差异,从而降低一个时间片。然后,矩阵中的第一列对应于t=1,

我们有一个特定用途的R包。基本数据结构是一个相关函数,它是一个实数/复数函数,用于少量(100)个时间片。我们对它有多个测量(N),所以它的核心是一个N×T矩阵。但它还可以成为更多的东西:

  • 我们可以用R个样本引导它,使它成为R×T矩阵。但是,我们希望保留原始数据,因此有一个字段用于R×T矩阵,另一个字段用于N×T矩阵

  • 它可以被对称化,这将把T一分为二,也可以改变与这些对象一起工作的各种其他功能

  • 此外,它还可以移动,以获取连续元素之间的差异,从而降低一个时间片。然后,矩阵中的第一列对应于
    t=1
    ,不再对应于
    t=0
    ,这对于数据拟合非常重要

  • 相关函数可以具有虚部,这被存储为第二实矩阵。但他们可能不会

  • 当对数据执行非线性操作时,我们对原始数据和每个引导样本的平均值执行一次。如果结果是另一个相关函数,则该对象将没有“原始数据”,只有平均值

所以基本上我们有一个类,它可以有不同的字段,只有原始数据的平均值才是真正常见的

更糟糕的是,对于可能的成员及其相关的不变量,没有正式的文档。来自C++的简洁的类定义允许我封装,R中的S3类系统看起来是不一致的邀请。 当某个函数以这种相关函数为参数,并期望某个字段存在而该字段不存在时,这种情况会出现几次。代码中充满了行,这些行在执行操作时只向类中添加了另一个字段


长话短说:在S3类系统中是否有一些自动可执行的方法来拥有一个类可以拥有的所有字段的详尽列表?现在我只看到在构造函数中记录(英文)的可能性,只希望没有人遗漏添加字段的一行。

非常好而且简单。它们也是可锁定的,您可以使用它来强制执行所需的限制?只是一个想法~~我没有想到一个更现代的班级制度,尽管我知道至少还有S4。这个图书馆是10年前建立的,所以也许那时只有S3系统。-我们有一堆代码在使用这个库,所以将最重要的数据结构更改为另一个类系统可能会破坏一切,我必须研究一下R6类系统。我们需要在团队中讨论是否投入这些努力。听起来很明智,祝你好运:p