毎週金曜日に data.frame で変数を合計しようとしています。
ランダム データ フレーム
mydf = data.frame( "ID" = c( rep( "A" , 6) , rep( "B" , 5 ) ), "Date" = c( "2017-09-08","2017-09-10","2017-09-13","2017-09-15","2017-09-20","2017-09-22","2017-08-03","2017-08-04","2017-08-10","2017-08-11","2017-08-12" , "Var" = c( 1,2,3,4,5,6,7,8,NA,10,11) )
mydf$Date = as.Date( mydf$Date )
mydf = cbind( mydf , "WeekDay" = weekdays( mydf$Date ) )
手に入れたいもの
df_ToGet =
data.frame(
"ID" = c( rep( "A" , 3) , rep( "B" , 2 ) ),
"Date" = c( "2017-09-08","2017-09-15","2017-09-22","2017-08-04","2017-08-11" ),
"Var_Sum" = c( 1 , 9 , 11 , 15, 10 )
)
私が試したこと
dplyr::summarizeとaggregateの使用を検討しましたが、 by条件を適切に設定する方法がわかりません。
mydf %>% group_by( ID ) %>% summarize( Var_Sum = aggregate( Var , sum , by=list ( (mydf$Weekday)=="Friday") ) )
カット機能を使用して同様の質問が解決されているのを見たことがありますが、それは条件を標準的な週に設定しているように見えますか? 私はまだあまり慣れていません。