私はこれに数時間取り組んでいますが、解決策が見つからないようです。非常に大きなデータ フレーム (150 万行以上) があり、かなり具体的な操作を実行したいと考えています。まず、私のデータは次のようになります。
STATION DATE Precip
COOP 310 -7788 .24
COOP 310 -7788 .15
COOP 310 -6654 .59
COOP 310 -6654 .10
COOP 499 -7122 .64
COOP 499 -7122 .36
COOP 499 -7122 .14
COOP 499 -2350 .11
COOP 499 -2350 .85
気象ステーション ID (STATION)、UNIX エポック形式の日付 (DATE)、および降水値 (雨が降った場合の 15 分のデータ間隔) があります。私がやろうとしてきたことは、ステーションごとに雨が降った日ごとの毎日の降雨量の合計を決定することです. 望ましい出力は次のようになります。
STATION DATE 24-hour_PRECIP
COOP 310 -7788 0.39
COOP 310 -6654 0.69
COOP 499 -7122 1.14
COOP 499 -2350 0.96
SPLIT
これは基本的に、同じ STATION 値に基づいてすべてのデータを分割し、次に同じ DATE 値に基づいて 2 回操作を行うことを意味していると思いました。理論的には、この出力は操作によって実行され、各一意の日付/ステーション セット内のデータ セットに関数がSAPPLY
適用されます。SUM
私のアプローチ(間違っていますが):
データ フレーム名は「dfhour」です。
sp1<-split(dfhour$Precip,dfhour$STATION)
このデータに対してsapply関数をうまく実行できますが、sapplyを使用する前にさらに分割したいと思います。私は次のようなことをしていることを知っています
sapply(split(split(dfhour$Precip, dfhour$STATION),dfhour$DATE),FUN=sum)
関数の出力はsplit
リストであり、次のsplit
関数はリストを引数として受け入れることができないため、機能しません。この問題に関するガイダンスはありますか? 必要な場所に到達するのに役立つ他の機能は何ですか?