2017-08-24 50 views
-1

我有一个很大的行(+ 50k)的大数据框。有一些列,但重要的列是“日期”,“股票”,“Units_Sells”。数据帧是一样的东西:ggplot_line来自具有不同列和变量的大数据框

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轴的单位,因为该值(系)应是股票和VTA。 我的意思是,我愿做这样一个图表,每个商店 - 产品: LINK TO THE GRAPH EXAMPLE

我的意思是,一个图每个商店&产品。我不知道我是否在解释,因为英语不是我的母语。

谢谢

+0

你尝试过这么远吗?如果您显示一些代码,则更容易排除故障。 –

+0

嗯,很抱歉,我正在学习R,我不知道如何开始....^_^ – Marcusson

回答

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") 
+0

感谢您的快速回答。也许我没有直面自己。我附上了一张图片到我的初始帖子,告诉你我是如何看待图表的。 :) – Marcusson

+0

我刚刚编辑我的帖子。它现在应该做你想做的。 – Stan125

+0

发布的解决方案是否有效?如果确实如此,请考虑通过点击复选标记来接受答案。这向更广泛的社区表明,您已经找到了解决方案,并为答复者和您自己提供了一些声誉。没有义务这样做。 – Stan125

相关问题