1
我拥有股票和日期的数据框。我想添加一个“下一个日期”列。我应该怎么做?如何在R数据框中添加下一个日期的列
的数据是这样的:
df = data.frame(ticker = c("BHP", "BHP", "BHP", "BHP", "ANZ", "ANZ", "ANZ"), date = c("1999-05-31", "2000-06-30", "2001-06-29", "2002-06-28", "1999-09-30", "2000-09-29", "2001-09-28"))
df$date = as.POSIXct(df$date)
在人类可读的形式:
ticker | date
-----------------
BHP | 1999-05-31
BHP | 2000-06-30
BHP | 2001-06-29
BHP | 2002-06-28
ANZ | 1999-09-30
ANZ | 2000-09-29
ANZ | 2001-09-28
我要的是增加一列下一个日期:
ticker | date | next_date
------------------------------------
BHP | 1999-05-31 | 2000-06-30
BHP | 2000-06-30 | 2001-06-29
BHP | 2001-06-29 | 2002-06-28
BHP | 2002-06-28 | NA # (or some default value)
ANZ | 1999-09-30 | 2000-09-29
ANZ | 2000-09-29 | 2001-09-28
ANZ | 2001-09-28 | NA
你的第一个两种解决方案并不完全工作。你的data.table解决方案工作正常。 – lebelinoz
@lebelinoz对我来说,它使用你展示的例子正常工作。其实,我的意思是'c(x [-1],NA)',但忘了更新它 – akrun
@lebelinoz是的,我编辑它。我的意思是说,最初,我复制/粘贴它,然后在我的系统上进行更改,但忘记更新代码。 – akrun