私のパッケージでは、提供さTheBaseClass
れたパッケージからクラスをサブクラス化したいです (そのため、私の手の届かないところにあります)。このクラスのオブジェクトを作成する関数があります。そのコードの最小限の例を次に示します。
setClass("TheBaseClass", representation(a="numeric"))
initBase <- function() new("TheBaseClass", a=1) # in reality more complex
サブクラスのコンストラクターとして単純に使用したいのですinitBase
が、新しいクラスを設定する方法がわかりません
setClass("MyInheritedClass", contains="TheBaseClass")
initInher <- function() {
res <- initBase()
class(res) <- "MyInheritedClass" # this does not work for S4
}
最後の行を変更して機能させるにはどうすればよいですか? 関数のコピーと貼り付けは、呼び出しinitBase
を伴うため、オプションではありません。.C
について読みましsetIs
たが、これは適切な機能ではないようです。
どんなヒントでも大歓迎です!