我有一个包含大量行(+ 50k)的大数据帧。有一些列,但重要的是" Date"," Stock"," Units_Sells"。数据框如下:
df <- data.frame(Product=sample(LETTERS[1:4],15, replace=TRUE),
Stock=sample(1:15,15,replace=TRUE),
Store=sample(2340:2342,15,replace=TRUE),
Vta=sample(1:14,15,replace=TRUE),
Date=sample(seq(as.Date('1999/01/01'), as.Date('2000/01/01'), by="day"), 15))
我希望按商店和产品创建图形线存储,当x轴是日期,y轴是单位,因为值(线)应该是Stock和Vta。 我的意思是,我想为每个商店产品做一个这样的图表: LINK TO THE GRAPH EXAMPLE
我的意思是,每个商店和产品都有一张图表。我不知道我是否在解释,因为英语不是我的母语。
谢谢,
答案 0 :(得分:0)
所以,我收集的是你想为产品和商店的每个组合做一个图表。然后,每个组合都有两个图表,一个显示Vta
,另一个显示Stock
。
为此,我稍微改变了您的示例以包含更多观察结果:
df <- data.frame(Product=sample(LETTERS[1:4],100, replace=TRUE),
Stock=sample(1:15,100,replace=TRUE),
Store=sample(2340:2342,100,replace=TRUE),
Vta=sample(1:14,100,replace=TRUE),
Date=sample(seq(as.Date('1999/01/01'), as.Date('2000/01/01'), by="day"), 100))
然后,您必须重新整形数据框,以便在图表上有两行:
df <- tidyr::gather(df, key = "type", value = "value", -Store, -Date, -Product)
然后您可以像这样创建图表:
library(ggplot2)
# Stock/Vta graph
ggplot(df, aes(Date, value, col = type)) +
geom_line() +
facet_grid(Store~Product) +
ggtitle("Stock/Vta")