1
的样本数据:滞后差异
Date <- as.Date(c('1-01-2008','2-01-2008', '3-01-2008','4-01-2008', '5-01-2008', '1-01-2008','2-01-2008', '3-01-2008','4-01-2008', '5-01-2008'), format = "%m-%d-%Y")
Country <- c('US', 'US','US','US', 'US', 'JP', 'JP', 'JP', 'JP', 'JP')
Category <- c('Apple', 'Apple', 'Apple', 'Apple', 'Apple', 'Apple', 'Apple', 'Apple', 'Apple', 'Apple')
Value <- c(runif(10, -0.5, 10))
df <- data.frame(Date, Country, Category, Value)
我使用下面的一块内的国家和范畴内计算值的滞后增长率:
df <- ddply(df, .(Country, Category), transform,
Growth6m=c(NA, NA, NA, exp(diff(log(Value), lag = 3))-1))
现在我试图让落后差异而不是增长率。这种精细的工作为先滞后(即减去前一行值)是这样的:
df <- ddply(df, .(Country, Category), transform,
Growth1m=c(NA, diff(Value)))
但是当我介绍高阶滞后,我得到的错误(例如减去第三行的第一行。)如:“参数意味着不同的行数:157,158”。我试着玩NA,但无济于事。
编辑:样本数据
请分享例如数据 – mtoto