日次データ (4011 日) と指標 (1-平日、2-週末) があります。対応する指標で週ごとの最大値を見つけたいです。たとえば(たとえば)、データは次のとおりです。
mydat <- matrix(c(0.027,0.034,0.019,0.021,0.026,0.024,0.058,0.026,0.064,
0.066,0.026,0.101,0.069,0.054,rep(2,2),rep(1,5),rep(2,2),rep(1,5)), ncol=2)
次のコードを試してみました。最大シーケンス (この場合は毎週の最大値) を取得できましたが、インジケーターに最大シーケンスは必要ありません。ここにコードがあります
week.max <- function(vec){
if(length(vec[is.na(vec)]) == 7){
return(NA)
}
else{
return(max(vec, na.rm = T))
}
}
max.week.dat <- apply(mydat, 2, function(x) tapply(x, rep(1:(length(x)/7),
each=7, len=length(x)), week.max))
そして結果
matrix(c(0.058,0.101,2,2),ncol=2)
次のような出力が必要です。
matrix(c(0.058,0.101,1,1),ncol=2)
よろしくお願いします。