問題タブ [rollapply]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - R のパネル データのローリング ウィンドウに関数を適用する
カテゴリごとに、ローリングウィンドウに関数(標準偏差など)を適用しようとしています:
次のデータがあります。
cat ごとに 2 年間のウィンドウの標準偏差を推定する新しい列 (sd など) を作成したいと思います。
これが私が考えている結果です:
これを達成する方法について何かアドバイスはありますか?
r - R - ave rollapply エラー: k <= n は TRUE ではありません
R で複数のディメンションでグループ化された値のローリング平均を計算しようとしています。次の方法で SQL で行うこと:
いくつかのディメンションのみを選択すると、次のように機能するようです。
ディメンションの完全なセットを選択すると、次のエラーが発生します。
実行すると同じエラーが発生します。
問題は、ディメンションの組み合わせによっては、平均を計算するのに十分な値がないことだと思います。
どうすればそれを克服できますか?これらの組み合わせの結果として NA を取得しても問題ありません。どんな助けでも大歓迎です..
r - 定義された間隔で平均グループをロール適用する
1) グリッド ID 2) 種コード (SPCD) 3) 関連する値 (インデックス) 4) 関連する値 (index1) および 5) 緯度。
ただし、GridID には複数の SPCD があるため、GridID は一意の番号ではありません。たとえば、
SPCDで±0.5緯度バンド群の移動平均を求めたい。
私がしたことは
上記のアプローチは機能しますが、非常に時間がかかります。これを行うためのより良い方法があるかどうか疑問に思います。Zoo と rollapply は私が学んでいるものです。しかし、それを機能させることができませんでした。
r - データフレームの行を使用して (rollapply で) 関数を定義する
まず、5 行 10 列のデータフレーム (「年」と呼びましょう) があります。(x1-x2)/x1 を実行する新しいものを作成する必要があります。x1 は列の最初の要素、x2 は「年」の列の 2 番目の要素、次に (x2-x3)/x2 などです。rollapply
タスクに最適なツールだと思いましたが、そのような関数を定義してに挿入する方法がわかりませんrollapply
。
私はRが初めてなので、質問が基本的すぎないことを願っています。とにかく、ここで同様の質問を見つけることができなかったので、誰かが私を助けてくれたら本当に感謝しています.
r - R の行列におけるローリング標準偏差
以下は、株式の毎日のリターン マトリックスの例です ( ret_matriz )
例として、5 日間の移動ウィンドウを考えてみましょう。結果として、以下に説明する新しいマトリックスが必要です。
Zooパッケージを使用して結果に到達できましたが、少し遅いです.同じ結果に到達する速度を改善する方法についてのアイデアはありますか?
動物園コード怒鳴る:
r - R の期間を変更した移動平均
を使用して移動平均を行っている abc という名前のデータフレームがありますrollapply
。次のコードが機能します。
forecast <- rollapply(abc, width=12, FUN=mean, align = "right", fill=NA)
ここで、幅を可変にして同じことをしたいと思います。つまり、最初の月は空になり、2 番目の月は最初の月の値が来ます。3 か月目は (1 か月目 + 2 か月目/2) になります。つまり、i か月目の場合、 の場合i<=12
、値は になり(sum(1:i-1)/(i-1))
、i>=12
によって行われた過去 12 か月の平均になりforecast
ます。助けてください。
r - 動物園とサブデイリーデータを使用したrollapply
不等間隔の観測を含むデータセットがあり、頻繁に観測が 1 日に複数回発生します。関数をデータのウィンドウに適用したいのですが、ウィンドウを行ではなく時間で定義したいと考えています。たとえば、データセット内の 1 ~ 5 日、2 ~ 6 日などの平均を計算したい場合、1 ~ 5 日は行 1 ~ 13 に対応し、2 ~ 6 日は行 3 ~ に対応する場合があります。 18等
rollapply
関数がオブジェクトを受け入れることzoo
がわかり、上記のように機能すると仮定しました (つまり、行で定義されたウィンドウではなく、時間で定義されたウィンドウに関数を適用します)。ただし、そうではないようです。
1 日に 1 回ではなく 2 回の観測があるため、とはmean2
異なると予想されます。ただし、オブジェクトからの時間ではなく、行を使用してウィンドウを定義しているようです。これに対する回避策はありますか? または、おそらく代わりに使用する必要がある他の関数?mean1
mean2
rollapply
zoo
rollapply