問題タブ [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 - リストをzooに変換し、リストでrollapplyを使用します
zoo
リスト オブジェクトを変換してから、オブジェクトに適用rollapply
したいと考えていzoo
ます。以下に簡単な例を示します (UNIX を使用して、90,000 個のそのようなファイルを処理する必要があります:))。リストに 2 つのデータフレームがあるとします。
1)各データフレームの日付を次の形式に変換したいと思います。
これができることは理解lapply
していますが、成功しませんでした。
オブジェクトを取得したらzoo
、次を使用したいと思いますrollapply
。
上記のコードが行うことは、zooobject のデータフレームの各列に 3 日間のウィンドウを配置し、値を合計することです。その、3日間の合計の年間最大値が抽出されます。
出力は次のようになります。
月 c(12,1,2) の値のみが必要です。
r - rollapply: 各スライディング ウィンドウの開始観測を修正しますか?
単純な動物園のオブジェクトは
開始観測を固定することは可能ですか?つまり、日付「1970-02-04」では、平均が「12, 13, 14」ではなく「11, 12, 13, 14」などになりますか? もちろん、ループを介してそれを行うこともできますが、問題がもう少し複雑な場合、ループは非常に遅く、apply
、またはと同じくらい速いものを探していましたrollapply
。
r - 行ごとの分布テストを効率的に実行する
各行が分布からのサンプルであるマトリックスがあります。ks.test
を使用して分布のローリング比較を行い、それぞれの場合に検定統計を保存したいと考えています。これを概念的に実装する最も簡単な方法は、ループを使用することです。
ただし、私の実際のデータには、1 つの例で最大 400 列と最大 300,000 行があり、多くの例があります。だから早くしてほしい。コルモゴロフ-スミルノフ検定は数学的にそれほど複雑ではないので、答えが「で実装する」である場合、Rcpp
私はそれをしぶしぶ受け入れますが、少し驚いています.1つのペアで計算するのはすでに非常に高速です. Rで。
私が試したがうまくいかなかった方法: dplyr
using rowwise/do/lag
、zoo
using rollapply
(これは私がディストリビューションを生成するために使用するものです)、およびdata.table
a をループに投入します (編集: これは機能しますが、それでも遅いです)。
r - 過去 365 日のウィンドウで累計を実行する効率的な方法
これは私のデータフレームがどのように見えるかです:
ライブラリ (data.table)
最後の列は、過去 365 日間のローリング ウィンドウでの SalesAmount (名前ごと) の累積合計である私の目的の列であり、@6pool の助けを借りてこれを実行しました。彼の解決策は次のとおりです。
ただし、データフレームが 150 万行を超えるため、df$RunningTotal365 <- f(1:nrow(df)) には長い時間がかかります (これまでのところ 1.5 日以上)。最初の質問で「rollapply」を提案されましたが、この場合の使用方法を理解するのに苦労しました。親切に助けてください。
r - rollapply は過去 5 年間の平均
私は、z を収集したような動物園 obj を持っています。
2013-12-01 0.0
2013-12-02 0.0
2013-12-03 0.0
2013-12-04 0.0
2013-12-05 0.2
2013-12-06 0.0
2013-12-07 0.0
2013-12-08 0.2
2013-12-09 0.0
....
降雨量の毎日の値を保存します。
rollapply usingi を使用して、5 日間の累積を計算できます。
大丈夫そうです
> m["2013-12",1]
Allerona
2013-12-01 0.0
2013-12-02 0.0
2013-12-03 0.0
2013-12-04 0.0
2013-12-05 0.2
2013-12-06 0.2
2013-12-07 0.2
2013-12-08 0.2
2013-12-09 0.2
...
5年前の各日のテーマ平均を計算するにはどうすればよいですか?
ありがとう
r - このエラーについての無知: 'by' 引数のサインインが間違っています
次のデータセットがあります。
コードを実行すると:
次のエラーが表示されます。
ただし、このコードによる team1 によるグループ化は問題なく機能します。
なぜこれが起こっているのか、まったくわかりません。どんな助けでも大歓迎です。
r - rollapply の位置合わせとオフセット
移動ウィンドウの統計を計算しようとしていて、zoo パッケージで rollapply を使用しています。私の質問は、現在の観測ではなく、前の n 個の観測にその関数を適用するために rollapply を取得する方法と、前の n-1 個の観測を整列させるようにするにはどうすればよいかということです。
これは ?rollapply によって答えられる予感があります。 width の長さが 1 の場合, width は by 番目のポイントごとに再利用されます. width がリストの場合, リストの i 番目のコンポーネントが位置 i + width[[i]] の時点を参照するように, そのコンポーネントは整数のオフセットを表します. ." しかし、Rコードに関してそれが何を意味するのかはわかりません。例は提供されていません。
r - 修正開始点を使用したローリング ウィンドウ adfTest
adfTest
withlag=0
とtype="c"
をループで実行したいので、開始ウィンドウは でlength=5
、終了ウィンドウはlenght=nrow(Data)
です。問題は、開始ウィンドウを修正したいので、データに10個のデータポイントが含まれている場合、最初の結果は から1:5
、2番目の結果は1:6
で終了するまで続き1:10
ます。
私はrollapplyでそれをやろうとしましたが、このようには機能しません.私が持っているコードは次のとおりです:
それが行うことは、開始ウィンドウのおかげで、対応する失われたデータを使用して、後で他の計算に使用するマトリックスを作成することです。しかし、問題は、開始ウィンドウが修正されていないことです。そのため、最初の観測は から行われます1:5
が、2 番目の観測は から行われ2:6
ます。また、ADFを計算しますが、 oflag=1
を使用して関数のオプションを追加する方法がわかりません。rollapplyr
lag=0
より明確にするために、私がそうrollapplyr(C$Dividend, 5, FUN=mean,by=sample_interval)
し、その後のデータが私が得た結果であり、私が望むものであると仮定します。
ウィンドウがデータセット全体のサイズになるまで、ループを終了するたびに幅を増やしたいので、ループで実行したいことに注意してください。