【发布时间】:2023-04-05 07:30:01
【问题描述】:
假设我有一个这样的数据框df:
> df <- data.frame(ID = c("A","B","C"),
value = c(1,2,3))
> df
ID value
1 A 1
2 B 2
3 C 3
我想通过添加一系列日期值的列Date 来扩展df。日期列应根据ID 重复。所以结果看起来像:
> df_new
ID value Date
1 A 1 2017-4-1
2 A 1 2017-4-2
3 A 1 2017-4-3
1 B 2 2017-4-1
2 B 2 2017-4-2
3 B 2 2017-4-3
1 C 3 2017-4-1
2 C 3 2017-4-2
3 C 3 2017-4-3
我发现这个post 与我的问题相似,但该解决方案不适用于我的问题。以下是我尝试使用tidyr:
date <- c(seq(as.Date('2017-4-1'),as.Date('2017-4-3'), by = "days"))
df_new <- df %>% group_by(ID) %>%
mutate(Date = date)
Error: Column `Date` must be length 1 (the group size), not 3
有什么想法吗?提前致谢。
【问题讨论】: