2013-04-03 43 views
3

有沒有辦法來引用上一行apply的R中?參照上一行r使用

例如,我在data.frame日期的順序排序,我想找到以前的行和當前行的日期之間的差異。這在循環中很容易。

for(i in 2:nrow(Y)) { 
     Y[i,]$window = as.numeric(as.Date(Y[i, ]$start_date) - 
         as.Date(Y[i-1, ]$end_date)) 
} 

我可以使用apply嗎?

+3

我不會用'apply',我會使用一個簡單的量化形式:'Y $窗口= C(NA,as.numeric(如。日期(尾(Y $起始日期,-1)) - as.numeric(as.Date(頭(Y $ END_DATE,-1))))' – 2013-04-03 23:34:37

+0

是什麼意思在'I = 1'做代碼情況 – Alex 2013-04-03 23:34:51

+0

@ Ferdinand.kraft? - 卡(不回答王牌評論) – mnel 2013-04-03 23:36:08

回答

1

嘗試使用head(或tail

Y$window <- as.numeric(c(NA, as.Date(tail(y$start.date,-1)) - as.Date(head(y$end.date,-1))))