2

私はメッセージを受け取っています

parent.frame() のエラー: ノード スタック オーバーフロー ラップアップ中のエラー: ノード スタック オーバーフロー

S4コマンド「as」を使用してオブジェクトを構築しようとしたとき、ただしスーパークラスが「VIRTUAL」と宣言されている場合のみ。

クラス階層は次のとおりです。

PivotBasic を含む Pivot を含む モデル

Pivot および Pivot Basic の setClass コマンドと PivotBasic のコンストラクターを以下に示します。クラス Pivot にはコンストラクターがありません。モデル コンストラクターは大きすぎてここに挿入できません。

setClass の表現引数から「VIRTUAL」キーワードを削除すると、すべてが正常に機能するため、これは大したことではありません (私はそう思います)。しかし、私は問題の理由に興味があります。誰かがそれについての洞察を持っていますか?

ありがとう、

フェルナンド・サルダーニャ

setClass(Class = "Pivot", 
  representation = representation(
    pivotName = "character",
    pivotNames = "character",
    pivotData = "data.frame",
    "VIRTUAL"
  ),
  contains = "Model"
)

setClass(Class = "PivotBasic", 
  representation = representation(),
  contains = "Pivot"
)

pivotBasic <- function(
  portfolio,
  assets,

  controlVariableList,

  pivotData = NULL, # pivotName is ignored if pivotData is not null
  pivotName = "N_WEEKDAY_3_6",

  firstPredictionDate = as.Date(integer(), origin = "1970-01-01"),
  name = NULL,
  tags = "Event"
) {
  if (missing(portfolio)) stop("[PivotBasic: pivotBasic] - Missing portfolio argument")
  if (missing(assets)) stop("[PivotBasic: pivotBasic] - Missing assets argument")
  if (missing(controlVariableList)) stop("[PivotBasic: pivotBasic] - Missing controlVariableList argument")

  object <- model(
    portfolio,
    assets,
    controlVariableList,
    firstPredictionDate,
    name,
    tags)

  # The error message happens when this command is executed
  mdl <- as(object, "PivotBasic") 

  # Other code

  mdl
} # end pivotBasic
4

1 に答える 1