2017-05-30 79 views
-1

我有這樣滯後,使用R

MSFT  AAPL  GOOGL 
1 21.11067 4.975767 94.04000 
2 20.91273 5.663524 97.50684 
3 20.05333 5.681336 90.57909 

一個數據幀要創建與前一數據的一個滯後文件等

MSFT  AAPL  GOOGL 
1 20.91273 5.663524 97.50684 
2 20.05333 5.681336 90.57909 
3 20.09447 5.239416 99.60738 

試圖此代碼來解決它

Lagcolmean <- lapply(names(colmean), function(x){lag(colmean[[x]],k=1) 
}) 

但它不工作。在這方面你能幫助我嗎?

回答

1

1)索引lag通常與時間序列如"ts""zoo""xts"對象使用。如果你想在代碼中的問題用rollapply因爲那就試試這個

DF[-1, ] 

2)rollapplyr

rollapplyr(DF, 2, function(x) x[2]) 

或者等價地爲數據幀,只是刪除了第一行:

rollapplyr(DF, 2, "[", 2) 

3)dplyr或者,dplyr包不限定leadlag哪些與數據幀一起工作:

library(dplyr) 
DF %>% mutate_all(lead) 
+0

非常感謝你G.格洛騰迪克 –