R:如何连续创建多个月

时间:2019-04-10 07:37:32

标签: r

我需要创建一个包含名为StoreProductMonth的三列的数据框。 如何创建从1/1/2010到12/1/2010的连续月份。 然后将其组合到商店和产品的每个组合中。

第一列是Store

Store <- c("Chain1", "Chain2")

第二列是“产品”:

Product <- c("ABC", "DEF", "GHI")

第三列应该是连续的几个月。 因此,商店和产品的每种组合都应有一个特定的月份。

我想要的结果应该是这样的。

Store   Product Month
Chain1  ABC     1/1/2010
Chain1  ABC     2/1/2010
Chain1  ABC     3/1/2010
Chain1  ABC     4/1/2010
Chain1  ABC     5/1/2010
Chain1  ABC     6/1/2010
Chain1  ABC     7/1/2010
Chain1  ABC     8/1/2010
Chain1  ABC     9/1/2010
Chain1  ABC     10/1/2010
Chain1  ABC     11/1/2010
Chain1  ABC     12/1/2010
Chain1  DEF     1/1/2010
Chain1  DEF     2/1/2010
Chain1  DEF     3/1/2010
Chain1  DEF     4/1/2010
Chain1  DEF     5/1/2010
Chain1  DEF     6/1/2010
Chain1  DEF     7/1/2010
Chain1  DEF     8/1/2010
Chain1  DEF     9/1/2010
Chain1  DEF     10/1/2010
Chain1  DEF     11/1/2010
Chain1  DEF     12/1/2010
Chain1  GHI     1/1/2010
Chain1  GHI     2/1/2010
Chain1  GHI     3/1/2010
Chain1  GHI     4/1/2010
Chain1  GHI     5/1/2010
Chain1  GHI     6/1/2010
Chain1  GHI     7/1/2010
Chain1  GHI     8/1/2010
Chain1  GHI     9/1/2010
Chain1  GHI     10/1/2010
Chain1  GHI     11/1/2010
Chain1  GHI     12/1/2010
Chain2  ABC     1/1/2010
Chain2  ABC     2/1/2010
Chain2  ABC     3/1/2010
Chain2  ABC     4/1/2010
Chain2  ABC     5/1/2010
Chain2  ABC     6/1/2010
Chain2  ABC     7/1/2010
Chain2  ABC     8/1/2010
Chain2  ABC     9/1/2010
Chain2  ABC     10/1/2010
Chain2  ABC     11/1/2010
Chain2  ABC     12/1/2010
Chain2  DEF     1/1/2010
Chain2  DEF     2/1/2010
Chain2  DEF     3/1/2010
Chain2  DEF     4/1/2010
Chain2  DEF     5/1/2010
Chain2  DEF     6/1/2010
Chain2  DEF     7/1/2010
Chain2  DEF     8/1/2010
Chain2  DEF     9/1/2010
Chain2  DEF     10/1/2010
Chain2  DEF     11/1/2010
Chain2  DEF     12/1/2010
Chain2  GHI     1/1/2010
Chain2  GHI     2/1/2010
Chain2  GHI     3/1/2010
Chain2  GHI     4/1/2010
Chain2  GHI     5/1/2010
Chain2  GHI     6/1/2010
Chain2  GHI     7/1/2010
Chain2  GHI     8/1/2010
Chain2  GHI     9/1/2010
Chain2  GHI     10/1/2010
Chain2  GHI     11/1/2010
Chain2  GHI     12/1/2010

1 个答案:

答案 0 :(得分:3)

您可以使用expand.grid函数:

Month <- format(seq.Date(from = as.Date("2010-01-01"), by = "m", length.out = 12), "%d/%m/%Y")

expand.grid(Store = Store, Product = Product, Month = Month, stringsAsFactors = F)