试图在R中的名称和产品中添加缺少的四分之一
我有一个类似于此示例的数据集,除了数千行不同的名称和产品之外:试图在R中的名称和产品中添加缺少的四分之一,r,R,我有一个类似于此示例的数据集,除了数千行不同的名称和产品之外: Name <- c(rep("Tom",24), rep("Jake",8), rep("Jill",5)) Product <- c(rep("Orange",12),rep("Apples",12), rep("Orange",8),rep("Apples",5)) Quarter <- c("2013-03-31","2013-06-30","2013-09-30",
Name <- c(rep("Tom",24),
rep("Jake",8),
rep("Jill",5))
Product <- c(rep("Orange",12),rep("Apples",12),
rep("Orange",8),rep("Apples",5))
Quarter <- c("2013-03-31","2013-06-30","2013-09-30","2013-12-31",
"2014-03-31","2014-06-30","2014-09-30","2014-12-31",
"2015-03-31","2015-06-30","2015-09-30","2015-12-31",
"2013-03-31","2013-06-30","2013-09-30","2013-12-31",
"2014-03-31","2014-06-30","2014-09-30","2014-12-31",
"2015-03-31","2015-06-30","2015-09-30","2015-12-31",
"2013-12-31","2014-03-31","2014-06-30","2014-09-30",
"2014-12-31","2015-03-31","2015-06-30","2015-09-30",
"2014-09-30","2014-12-31","2015-03-31","2015-06-30",
"2015-12-31")
sample <- cbind(Name,Product,Quarter)
Name首先,我们将sample
转换为data.frame
df <- data.frame(sample)
其中:
#Source: local data frame [48 x 3]
#
# Name Product Quarter
# (fctr) (fctr) (fctr)
#1 Jake Orange 2013-03-31
#2 Jake Orange 2013-06-30
#3 Jake Orange 2013-09-30
#4 Jake Orange 2013-12-31
#5 Jake Orange 2014-03-31
#6 Jake Orange 2014-06-30
#7 Jake Orange 2014-09-30
#8 Jake Orange 2014-12-31
#9 Jake Orange 2015-03-31
#10 Jake Orange 2015-06-30
#.. ... ... ...
df <- data.frame(sample)
tidyr::expand(df, nesting(Name, Product), Quarter)
#Source: local data frame [48 x 3]
#
# Name Product Quarter
# (fctr) (fctr) (fctr)
#1 Jake Orange 2013-03-31
#2 Jake Orange 2013-06-30
#3 Jake Orange 2013-09-30
#4 Jake Orange 2013-12-31
#5 Jake Orange 2014-03-31
#6 Jake Orange 2014-06-30
#7 Jake Orange 2014-09-30
#8 Jake Orange 2014-12-31
#9 Jake Orange 2015-03-31
#10 Jake Orange 2015-06-30
#.. ... ... ...