2017-01-28 8 views
0

によってデータフレームに対して計算を実行します。は、私は次の形式でRのデータフレームを持っている日

ここで、特定の日付の間にデータフレームの操作を実行する方法がわかりました。たとえば、平均日時を2012年5月18日の日の平均値に設定したいとします。 2012年5月19日の価格、同様に2012年5月20日の価格については、どのようにすればよいですか?前もって感謝します。

編集:2つの日付を比較するために同じ(x、y)関数を使用していましたが、非常に大きなデータフレーム(約300,000行)であるため、 )

+0

をし、そのような平均的な何かを data%>%group_by(RecordDate)%>%summarize(av = mean(Price)); ' –

+0

'?aggregate'で読んでください – Sotos

+0

@DimitriPetrenko依存関係も指定してください。 –

答えて

3

aggregateを使用できます。 `ライブラリ(dplyr);:

x <- Sys.time() 
y <- seq(from = x, to = x + 5 * 3600*24, by = "day") 
xy <- data.frame(date = rep(y, each = 5), 
       value = rnorm(length(y))) 

aggregate(value ~ date, data = xy, FUN = mean) 

       date  value 
1 2017-01-28 10:07:29 0.2921081 
2 2017-01-29 10:07:29 0.9039815 
3 2017-01-30 10:07:29 0.5616696 
4 2017-01-31 10:07:29 0.9297463 
5 2017-02-01 10:07:29 0.5149972 
6 2017-02-02 10:07:29 0.4353255 

> aggregate(value ~ date, data = xy, FUN = length) 
       date value 
1 2017-01-28 10:07:29  5 
2 2017-01-29 10:07:29  5 
3 2017-01-30 10:07:29  5 
4 2017-01-31 10:07:29  5 
5 2017-02-01 10:07:29  5 
6 2017-02-02 10:07:29  5 
4

あなたは日付によってグループに試してみて、そのような平均的な何かを行うことができます:あなたは日付によってグループに試すことができ

library(dplyr); 
data %>% group_by(RecordDate) %>% summarise(av = mean(Price)); 
関連する問題