昨日回答をいただきましたが、100%正しく機能していないことが1つあります。私のデータフレームSHORT:
ID  IDaxis  Y   Date-Time               Tdiff  
1   1       5   2012-06-11  13:10:30    0.00    
1   1       10  2012-06-11  15:10:30    2.00    
1   1       20  2012-06-11  17:10:30    2.00    
1   3       15  2012-06-11  13:20:30    0.00    
1   3       30  2012-06-11  14:20:30    1.00    
1   3       45  2012-06-11  17:20:30    3.00    
1   6       9   2012-06-11  13:35:30    0.00        
1   6       15  2012-06-11  15:35:30    2.00    
1   6       30  2012-06-11  18:35:30    3.00    
3   2       8   2012-06-11  13:50:30    0.00  
3   2       14  2012-06-11  14:55:30    1.083   
3   2       20  2012-06-11  16:55:30    2.00    
3   2       30  2012-06-11  19:00:30    2.083   
3   5       10  2012-06-11  13:40:30    0.00    
3   5       15  2012-06-11  16:45:30    3.083
ID-植物
IDaxis-植物の葉
Y-葉の長さ
日付-時間-測定の日付と時刻Tdiff-測定
間の時間(h)間隔  
私はやってみたいです:
- 列SHORT$TtotのIDaxisのTdiffを合計します
 - 列SHORT$YdiffのIDaxisのYの行間の差を計算します
 - 列SHORT$YtotのIDaxisのYdiffを合計します
 
コード:
SHORT$Ttot <- ave(SHORT$Tdiff, SHORT$IDaxis, FUN = cumsum)よく働くSHORT$Ydiff <- ave(SHORT$Y, SHORT$IDaxis, FUN = diff)
ここで問題があります。Ydiffは次のようになります(新しいIDxaisの最初の各行はequal = 0です):
ID  IDaxis  Y   Ydiff
1   1       5   0
1   1       10  5
1   1       20  10
1   3       15  0
1   3       30  15
1   3       45  15
1   6       9   0
しかし、Ydiffは次のようになります。
ID  IDaxis  Y   Ydiff
1   1       5   5
1   1       10  10
1   1       20  -5
1   3       15  15
1   3       30  15
1   3       45  15
1   6       9  -36
これはすべてコードを台無しにします:
3.3。SHORT$Ytot  <- ave(SHORT$Ydiff, SHORT$IDaxis, FUN = cumsum)   
非常に役立つコードで答えることができれば。
Rで作業を開始したばかりですが、これはデータフレームの簡略化されたバージョンです-問題を示すためだけです。それぞれ700IDの3つのデータフレームがあり、それぞれに100のIDaxisと25の変数があります。