2017-02-03 4 views
-1

ここでは、私のデータの例である:データ集計週によって、または3日までに

Date  Prec  aggregated by week (output) 

     1/1/1950 3.11E+00 4.08E+00 

     1/2/1950 3.25E+00 9.64E+00 

     1/3/1950 4.81E+00 1.15E+01 

     1/4/1950 7.07E+00  

     1/5/1950 4.25E+00  

     1/6/1950 3.11E+00  

     1/7/1950 2.97E+00  

     1/8/1950 2.83E+00  

     1/9/1950 2.72E+00  

     1/10/1950 2.72E+00  

     1/11/1950 2.60E+00  

     1/12/1950 2.83E+00  

     1/13/1950 1.70E+01  

     1/14/1950 3.68E+01  

     1/15/1950 4.24E+01  

     1/16/1950 1.70E+01  

     1/17/1950 7.07E+00  

     1/18/1950 3.96E+00  

     1/19/1950 3.54E+00  

     1/20/1950 3.40E+00  

     1/21/1950 3.25E+00 

私は長い時系列降水量データを持っていると私は出力が3列目にある(ような方法でそれを集約したいです;私はそれから計算した)は次の通りです

私は毎週 の出力= 1日目から7日目の平均精度で集計します。 2番目のセルに出力する =平均値は8〜14日です。 3番目のセルでの出力=平均15〜21日の予報

3日で集計すると、1番目のセルでの出力= =平均1日から3日の平均です。 2番目のセルで出力された =平均4日から6日。

私は "prec"と "time step"入力を提供します。私はループを試して、lubridatePOSIXct、および他のいくつかの関数を使用しましたが、3番目の列のように出力を把握できません。

私はエラーなしで走ったが、出力はボット正しい。 datは私のデータセットです。

tt=as.POSIXct(paste(dat$Date),format="%m/%d/%Y") #converting date formate 
    datZoo <- zoo(dat[,-c(1,3)], tt) 
    weekly <- apply.weekly(datZoo,mean) 
    prec_NLCD <-data.frame (weekly) 

また、私は関数の形で書きたいと思っていました。あなたの提案は参考になります。

答えて

1

最後の注記に再現性のあるデータがあると仮定すると、週単位の手段zmを作成し、zにマージします。

(手段は、計算された時点で手段をマージする方が意味があるように思えます。つまり、##と書かれた行の代わりにmerge(z, zm)の部分にマージする方がいいでしょう。以下のデータの先頭)

library(zoo) 

z <- read.zoo(text = Lines, header = TRUE, format = "%m/%d/%Y") 

zm <- rollapplyr(z, 7, by = 7, mean) 
merge(z, zm = zoo(coredata(zm), head(time(z), length(zm)))) ## 

与える:。

   z  zm 
1950-01-01 3.11 4.081429 
1950-01-02 3.25 9.642857 
1950-01-03 4.81 11.517143 
1950-01-04 7.07  NA 
1950-01-05 4.25  NA 
1950-01-06 3.11  NA 
1950-01-07 2.97  NA 
1950-01-08 2.83  NA 
1950-01-09 2.72  NA 
1950-01-10 2.72  NA 
1950-01-11 2.60  NA 
1950-01-12 2.83  NA 
1950-01-13 17.00  NA 
1950-01-14 36.80  NA 
1950-01-15 42.40  NA 
1950-01-16 17.00  NA 
1950-01-17 7.07  NA 
1950-01-18 3.96  NA 
1950-01-19 3.54  NA 
1950-01-20 3.40  NA 
1950-01-21 3.25  NA 

注:

Lines <- "Date  Prec  
    1/1/1950 3.11E+00 
    1/2/1950 3.25E+00 
    1/3/1950 4.81E+00 
    1/4/1950 7.07E+00  
    1/5/1950 4.25E+00  
    1/6/1950 3.11E+00  
    1/7/1950 2.97E+00  
    1/8/1950 2.83E+00  
    1/9/1950 2.72E+00  
    1/10/1950 2.72E+00  
    1/11/1950 2.60E+00  
    1/12/1950 2.83E+00  
    1/13/1950 1.70E+01  
    1/14/1950 3.68E+01  
    1/15/1950 4.24E+01  
    1/16/1950 1.70E+01  
    1/17/1950 7.07E+00  
    1/18/1950 3.96E+00  
    1/19/1950 3.54E+00  
    1/20/1950 3.40E+00  
    1/21/1950 3.25E+00" 
+0

ありがとうGrothendieckロールアプリと動物園が働いた – Wisconsin

関連する問題