我有一个包含两列Ticker
和Date
的数据框。对于每个“日期”观察,我想创建一个日期序列,该日期序列可以从原始日期追溯到原始日期3天(例如seq(OriginalDate, OriginalDate-3, by=1)
)
例如:
df = data.frame(Ticker = c("AAPL", "MSFT"), Date = c("2019-01-05", "2019-02-10"))
print(df)
Ticker Date
AAPL 2019-01-05
MSFT 2019-02-10
我希望新的数据框看起来像这样:
print(df)
Ticker Date Date_Sequence
AAPL 2019-01-05 2019-01-05 #original Date
AAPL 2019-01-05 2019-01-04 #original Date -1
AAPL 2019-01-05 2019-01-03 #original Date -2
MSFT 2019-02-10 2019-02-10
MSFT 2019-02-10 2019-02-09
MSFT 2019-02-10 2019-02-08
最佳答案
使用data.table
:
library(data.table)
setDT(df)[ , .(Date_Sequence = as.Date(Date) - 0:2), .(Ticker, Date)]
# Ticker Date Date_Sequence
# 1: AAPL 2019-01-05 2019-01-05
# 2: AAPL 2019-01-05 2019-01-04
# 3: AAPL 2019-01-05 2019-01-03
# 4: MSFT 2019-02-10 2019-02-10
# 5: MSFT 2019-02-10 2019-02-09
# 6: MSFT 2019-02-10 2019-02-08
关于r - 为数据框中的每个日期插入日期序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58242406/