按因子级别创建日期序列

时间:2016-04-12 20:07:00

标签: r date

我有一个包含100个观察单位和一系列日期的清单:

unit <- c(1:100)
date <- seq.Date(as.Date("2012-01-01"),as.Date("2012-12-01"), by = "month")

我想创建一个新的数据帧,每个观察单位都有一个时间单位。例如:

Unit     Date
 1    "2012-01-01"
 1    "2012-02-01"
 1    "2012-03-01"
 1    "2012-04-01"
 ................
 100   "2012-01-01"
 100   "2012-02-01"
 100   "2012-03-01"
 100   "2012-04-01"

2 个答案:

答案 0 :(得分:3)

您可以使用以下内容:

expand.grid(unit = unit, date = date)

如果这是您的想法。

您可以选择按单位排序:

df <- expand.grid(unit = unit, date = date)
df <- df[order(df$unit), ]

答案 1 :(得分:3)

不像expand.grid那样简洁,但更明确地说,你可以这样做:

examp <- data.frame(Unit = rep(unit, each = length(date)), 
                    Date = rep(date, times = length(unit)))