2

こんにちは申し訳ありませんが、まだここで学習しており、コード引数の学習が遅いです。

関数の特定の部分が何を意味するのか、誰でも説明できるのではないかと思っています。

x = sum(abs(apply(embed(y, 4), 1, prod)))

それは紙の上で以下を与えます:

#sum(y|{j}|*y|{j-1}|*y|{j-2}|*|y{j-3}|)

私は何をするのだろう1か?(y, 4)平均 y に y を加えた 3 ラグがあると思いprodます。

この特定の関数は、次のように変更しようとしているために作成されました。

#sum((|y{j}|^3/2)*(|y{j-1}|^3/2)*(|y{j-2}|^3/2)*(|y{j-3}|^3/2))

したがって、基本的には、y を ^3/2 に上げるように変更した関数を計算する必要があるかどうか疑問に思っています。

x = sum(abs(apply(embed((y^3/2), 4), 1, prod)))

または:

x = sum(abs(apply(embed(y, 4), 3/2, prod)))

または別の?

何か助けはありますか?

ご意見をお寄せいただきありがとうございます

4

1 に答える 1

2

1applyと呼ばれる引数の関数の一部ですMARGIN。これが、引数名を指定することを推奨する理由です。とにかく、apply関数はデータフレーム、配列、行列の行 (1) または列 (2) を「ループ」します...式または評価されたオブジェクトはX、最初の引数として渡す必要があります。いくらかレイズしたい場合yは、次の行の 1 つで示したように行う必要がありますy^(3/2)

つまり、このコマンドは行全体のすべての要素を合計します。

apply(X = my.object, MARGIN = 1, FUN = sum)

または列を越えて:

apply(X = my.object, MARGIN = 2, FUN = sum)
于 2012-06-19T20:14:58.220 に答える