スライディング/ラギングウィンドウを実装するにはどうすればよいですか?

デニス

ですから私はzoo::rollapply()かなり信心深く使ってきましたが、私が見ている問題には適切ではないと思います。縮小ローリングウィンドウを実装したいという要件があります。たとえば、次のサンプルデータがあります。

v <- data.frame(date=as.Date("2012-1-2") + 0:4, vals=c(1,2,3,4,5))
v
        date vals
1 2012-01-02    1
2 2012-01-03    2
3 2012-01-04    3
4 2012-01-05    4
5 2012-01-06    5

ローリングウィンドウを日付の降順で移動させrev(v$date)たいので、順序については、次のように値を合計します[ウィンドウごとに1ずつ遅れます](下の各行はウィンドウです)。

5 + 4 + 3 + 2 + 1 = 15
    4 + 3 + 2 + 1 = 10
        3 + 2 + 1 = 6
            2 + 1 = 3
                1 = 1

したがって、data.frameは次のようになると思います。

#        date vals new_val
#1 2012-01-02    1       1
#2 2012-01-03    2       3
#3 2012-01-04    3       6
#4 2012-01-05    4      10
#5 2012-01-06    5      15

注:上記の例では、sum(x)関数を使用して各ウィンドウを計算するとします。これを任意に一般化するのは素晴らしいことfunction(x)です。まあ言ってみればfunction(x) { (min(x) + max(x)) * length(x) * sum(x) }

注:私はベースRの実装を好みますが、適用できる可能性のある他のパッケージも興味深いでしょう

作物

これが使用しているものです sapply

v <- data.frame(date=as.Date("2012-1-2") + 0:4, vals=c(1,2,3,4,5))

v <- data.frame(v[order(rev(v$date)), ],
                  "new_val" = sapply(1:nrow(v), function(x) sum(v[order(rev(v$date)), "vals"][x:5])))

> v
        date vals new_val
5 2012-01-06    5      15
4 2012-01-05    4      10
3 2012-01-04    3       6
2 2012-01-03    2       3
1 2012-01-02    1       1

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Excelテーブルでスライディングウィンドウを実行するにはどうすればよいですか?

分類Dev

Scalaを使用してSparkでスライディングウィンドウランクを設定するにはどうすればよいですか?

分類Dev

スライディングウィンドウでPyTorchテンソルのサイズを変更するにはどうすればよいですか?

分類Dev

リストのリストから要素のスライディングウィンドウを選択するにはどうすればよいですか?

分類Dev

画像(2D配列)シーケンススライディングウィンドウをテンソルフローに実装するにはどうすればよいですか?

分類Dev

時間ベースのスライディングウィンドウを使用して行数を計算するにはどうすればよいですか?

分類Dev

ウィンドウのサイズ変更時にこのjQueryプラグインを再実行するにはどうすればよいですか?

分類Dev

Pythonでgtkウィンドウを作成し、バックグラウンドでコードを実行するにはどうすればよいですか?

分類Dev

NCursesにウィンドウパディングを追加するにはどうすればよいですか?

分類Dev

データタスクを使用してバックグラウンドフェッチを実装するにはどうすればよいですか?

分類Dev

Qt:メインウィンドウにIDでドラッグされた要素にアクセスするにはどうすればよいですか?

分類Dev

ラップアラウンドを使用して、ndarray上にスライディングウィンドウを作成するにはどうすればよいですか?

分類Dev

Swiftで双方向バインディングを実装するにはどうすればよいですか?

分類Dev

ストリーミングメディアプレーヤーをフォアグラウンドサービスとして実装するにはどうすればよいですか?

分類Dev

Xウィンドウでマウストラッキングを再開するにはどうすればよいですか?

分類Dev

ブラウザでのグーグル検索をウィンドウサイズに合わせるにはどうすればよいですか?

分類Dev

Ionicのドラッグアンドドロップディレクティブを実装するにはどうすればよいですか?

分類Dev

リソース名をバックグラウンドプロパティにバインドするにはどうすればよいですか?

分類Dev

グラフィカルアプリをバックグラウンドモードで実行するにはどうすればよいですか?

分類Dev

グループ化サイズの倍数ではないシーケンス上の値のスライディングウィンドウを処理するにはどうすればよいですか?

分類Dev

コマンドラインからiTermウィンドウでコマンドを実行するにはどうすればよいですか?

分類Dev

Androidで、特定のBluetoothデバイスが接続されている場合にマイクをアクティブにするバックグラウンドサービスを実行するにはどうすればよいですか?

分類Dev

グーグルクラウド機能でフラスコルーティングを使用するにはどうすればよいですか?

分類Dev

GUIウィンドウを閉じずにPyQt5プログラムの実行を停止するにはどうすればよいですか?

分類Dev

ターミナルウィンドウを表示せずにCygwinプログラム(xemacs)を実行するにはどうすればよいですか?

分類Dev

コマンドラインでウィンドウの場所(デスクトップ上)を見つけるにはどうすればよいですか?

分類Dev

コマンドラインでウィンドウの場所(デスクトップ上)を見つけるにはどうすればよいですか?

分類Dev

ウィンドウなしでPythonプログラムを実行するにはどうすればよいですか?

分類Dev

Pythonスクリプトのバックグラウンドでオーディオ(playsound)を再生するにはどうすればよいですか?

Related 関連記事

  1. 1

    Excelテーブルでスライディングウィンドウを実行するにはどうすればよいですか?

  2. 2

    Scalaを使用してSparkでスライディングウィンドウランクを設定するにはどうすればよいですか?

  3. 3

    スライディングウィンドウでPyTorchテンソルのサイズを変更するにはどうすればよいですか?

  4. 4

    リストのリストから要素のスライディングウィンドウを選択するにはどうすればよいですか?

  5. 5

    画像(2D配列)シーケンススライディングウィンドウをテンソルフローに実装するにはどうすればよいですか?

  6. 6

    時間ベースのスライディングウィンドウを使用して行数を計算するにはどうすればよいですか?

  7. 7

    ウィンドウのサイズ変更時にこのjQueryプラグインを再実行するにはどうすればよいですか?

  8. 8

    Pythonでgtkウィンドウを作成し、バックグラウンドでコードを実行するにはどうすればよいですか?

  9. 9

    NCursesにウィンドウパディングを追加するにはどうすればよいですか?

  10. 10

    データタスクを使用してバックグラウンドフェッチを実装するにはどうすればよいですか?

  11. 11

    Qt:メインウィンドウにIDでドラッグされた要素にアクセスするにはどうすればよいですか?

  12. 12

    ラップアラウンドを使用して、ndarray上にスライディングウィンドウを作成するにはどうすればよいですか?

  13. 13

    Swiftで双方向バインディングを実装するにはどうすればよいですか?

  14. 14

    ストリーミングメディアプレーヤーをフォアグラウンドサービスとして実装するにはどうすればよいですか?

  15. 15

    Xウィンドウでマウストラッキングを再開するにはどうすればよいですか?

  16. 16

    ブラウザでのグーグル検索をウィンドウサイズに合わせるにはどうすればよいですか?

  17. 17

    Ionicのドラッグアンドドロップディレクティブを実装するにはどうすればよいですか?

  18. 18

    リソース名をバックグラウンドプロパティにバインドするにはどうすればよいですか?

  19. 19

    グラフィカルアプリをバックグラウンドモードで実行するにはどうすればよいですか?

  20. 20

    グループ化サイズの倍数ではないシーケンス上の値のスライディングウィンドウを処理するにはどうすればよいですか?

  21. 21

    コマンドラインからiTermウィンドウでコマンドを実行するにはどうすればよいですか?

  22. 22

    Androidで、特定のBluetoothデバイスが接続されている場合にマイクをアクティブにするバックグラウンドサービスを実行するにはどうすればよいですか?

  23. 23

    グーグルクラウド機能でフラスコルーティングを使用するにはどうすればよいですか?

  24. 24

    GUIウィンドウを閉じずにPyQt5プログラムの実行を停止するにはどうすればよいですか?

  25. 25

    ターミナルウィンドウを表示せずにCygwinプログラム(xemacs)を実行するにはどうすればよいですか?

  26. 26

    コマンドラインでウィンドウの場所(デスクトップ上)を見つけるにはどうすればよいですか?

  27. 27

    コマンドラインでウィンドウの場所(デスクトップ上)を見つけるにはどうすればよいですか?

  28. 28

    ウィンドウなしでPythonプログラムを実行するにはどうすればよいですか?

  29. 29

    Pythonスクリプトのバックグラウンドでオーディオ(playsound)を再生するにはどうすればよいですか?

ホットタグ

アーカイブ