0

日次データ (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)

よろしくお願いします。

4

1 に答える 1