問題タブ [zoo]
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:なぜ私のベクトルは無秩序なのですか?
私はこの動物園のベクトルを持っているとしましょう
そして、いくつかの要素をいくつかの順序で抽出したい
できます!。しかし今、私は別の方法でそれをやろうとしています
なぜ違う順番で入手するのかわかりません。どうすれば欲しい順序、リストの順序を維持できますか?リスト、ベクトル、列、行のいずれでも構いませんが、要求した順序で取得したいと思います。
乾杯
r - Rで週ごとに集計
zoo
RIでは、次のようなものを使用して、月ごとに日次データを頻繁に集計します。
result <- aggregate(x, as.yearmon, "mean", na.rm=TRUE)
週ごとにこれを行う方法はありますか?
r - R のワイド Zoo オブジェクト全体に xts ベクトル操作をすばやく適用する
これは、について学んだ昨日の質問の延長ですapply.weekly
。zoo
これはうまく機能しますが、幅の広いオブジェクトに対してこれを実行したいと考えています。apply.weekly
ワイドで使用するzoo
と、列が合計され、週ごとの集計が実行されます。
apply
一連の演算子を試しましたが、それらはzoo
日付インデックスを取り除いているようです。ループで実行できますが、実際には時間がかかります (周期性の関数for
よりも 4 倍以上遅くなります)。ループは次のとおりです。aggregate
as.yearmon
for
どちらが機能しますか(つまり、各ベクトルを別々に保ちます):
を使用してすべての列をすばやく操作する方法はありますapply.weekly
か? ありがとう!
colMeans
更新: Joshua Ulrich は、列を認識する関数 (または など)が必要だと指摘していますcolSums
。これを行うと、正しい答えが得られますが、転置行列として得られます。再クラスして先に進むべきですか?または、オプション/設定が間違っていますか?
r - YahooFinanceデータを使用した2つの株式の共和分のテスト
Yahoo Financeのデータを使用して、2つの株式の共和分テストを実行しようとしています。私が読んでいることから、Yahooデータを取得するためのそれほど複雑でない方法があります。2つの証券を取得して定義し、取得したデータの時間枠を調整できるようにする必要がありstk1
ますstk2
。これが私がこれまでに持っているものです。
これをより簡単に、および/またはより堅牢にするためにどのようなツールが存在しますか?
r - zoo :: rollmean関数に、入力と同じ長さのベクトルを返すように強制する方法はありますか?(または他の関数を使用しますか?)
出力:
しかし、私がそれを結合しようとすると:
十分に賢く、ベクトルの両端でデータを取得せず、出力を計算し、そのデータのみに基づいて出力を計算しなくても諦めない関数を使用したいと思います。たとえば、input [1]では、右からの平均のみを計算します
r - 2つの列でRollapplyを使用する
私はここで求めていたのと同じようなことをしようとしていますが、残念ながらそれを解決することはできません。
これは私のデータフレーム(データ)、価格の時系列です:
Rに伝えたいのですが
- 「Vol」の最初の値を取り、それを「Price」の20番目の値で割ってから
- 「Vol」の2番目の値を取り、それを「Price」の21番目の値で除算します。
- 「Vol」の3番目の値を取り、それを「Price」の22番目の値で割ってから
- 等
私の他の投稿では、この関数を使用して、20日間の保有期間にわたるリターンを計算することができました。
上記の問題に対して非常に似たようなことをする方法はありますか?だから何かのような
ここで、xは「Vol」、yは「Price」で、「rollapply」を適用しますか?
どうもありがとうございます
更新:@ Dr G:ご提案ありがとうございます。少し変更を加えるだけで、私が望んでいたことを実行できました。
私の問題は、結果のデータフレームが次のようになることです。
結果としてNAが存在する必要があることはわかっていますが、最初の20の観測ではなく、最後の20の観測に対してのみです。上記の式は正しい値を計算しますが、最初の行ではなく21番目の行から値を計算します。どうすればそれを変えることができるか知っていますか?
r - read.zoo を使用して時系列テーブルを読み取る
私はあちこちを見ましたが、この質問が以前に尋ねられた場所を見つけることができません。
このデータを適切な動物園シリーズに入れるクリーンな方法は何ですか? このバージョンは、この投稿を簡単にするためのコピー/貼り付けですが、常に次の表形式で提供されます (テキスト ファイルから)。私の read.zoo() ステートメントは年をインデックスとして読み取りますが、四半期 (Qtr1、Qtr2 など) は列名として読み取られます。列をインデックスの「四半期」部分として読み取るガベージ以外の方法を見つけようとしましたが、ずさんです (投稿するにはあまりにもずさんです)。この問題はすでに解決されていると思いますが、見つかりません。
as.yearqtr() ドキュメントから、ターゲットは次のようになります。
datetime - 頻度=23の不規則な(as.Date)時系列から通常の時系列を作成します
Rで次の問題が発生します。不規則な時系列(つまり、日付とデータ値のリスト)からts()オブジェクト(つまり、通常の時系列)を作成したいと思います。
次のデータセットとRスクリプトを使用して、問題を再現できます。
しかし、毎日の時間ステップを含む非常に長い定期的な時系列を取得するため、これは機能しません。NAとしてデータが利用できない位置を正しく示す頻度=23のtsオブジェクトを取得したいと思います。
ここにリストされている例に基づいて、毎年のデータをすべて試しています 。不規則な時系列を通常の時系列に変換します
ただし、頻度が23のデータ(つまり、年間23の値)では機能しません。設定を避ければ解決できると思いますdd$DATUM
as.Date()
が、年に23個の値を持つ時系列として注文できる動物園のオブジェクトとして。
何か案は?
ご協力いただきありがとうございます
r - 「成長する」ウィンドウでrollapply
みんな、通常あなたが次のようなことをするとき:
当然rollapply
のことながら、10個の要素が使用可能になった瞬間から値の計算を開始します。
残念ながら、最初の10回の観測にできるだけ多くのデータを使用するものが必要です。基本的に、スライディングウィンドウを使用するのに十分なデータが得られるまでデータのウィンドウが大きくなります(例:1、1:2、1:3、1:4など)。 。少なくとも10個の要素ができるまで、通常どおりウィンドウをスライドさせます。
醜いforループよりもこれを行うためのより良い方法はありますか?
r - 関数 stl() に 1 時間ごとの動物園の時系列をフィードする
質問する前に、はい、これだけのデータを表示する必要があります。stl() には、2 つの期間のデータが必要です。この場合、1 ピリオドは 24 個の値であるため、stl() は少なくとも 48 個の値を必要とします。
また、stl() ヘルプから:
「....これは、頻度が 1 より大きいクラス "ts" のオブジェクトでなければなりません....」
私のデータが動物園の形式になるように、いくつかの古い計算をアップグレードしています。これまでのところ、stl() の速度の問題はありましたが、月次および日次のデータを目立った問題なくアップグレードしました。私は今、1時間ごとのデータに落ちています。
コードを実行すると、「1 回目の試行」と「2 回目の試行」は失敗し、「3 回目の試行」は機能します。なんで?私が見逃した本当に明らかなことは何ですか?「次に何が起こるかを通知する」セクションから、この問題を引き起こしているのは、動物園シリーズから ts シリーズへの stl() の内部変換ですか?