Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用R和ggplot2如何创建具有多列的图形_R_Ggplot2 - Fatal编程技术网

使用R和ggplot2如何创建具有多列的图形

使用R和ggplot2如何创建具有多列的图形,r,ggplot2,R,Ggplot2,我的R数据框(electronics)如下所示: date manufacture price 2019-11-22 11:30:04 Apple 600.00 2019-01-16 01:74:14 Samsung 877.00 2019-07-12 04:23:31 Apple 925.00 2019-07-12 01:21:54 Apple 1200.00 2019-

我的
R
数据框(
electronics
)如下所示:

date                  manufacture    price
2019-11-22 11:30:04   Apple          600.00
2019-01-16 01:74:14   Samsung        877.00
2019-07-12 04:23:31   Apple          925.00
2019-07-12 01:21:54   Apple          1200.00
2019-01-16 04:48:34   Samsung        1100.00
2019-07-12 12:20:22   Apple          1450.00    
2019-03-28 06:23:11   Apple          1250.00
我想做的是:

  • 获取每个给定日期(
    日期
    )的
    价格
    总和
    ,并创建一个图表,以查看每个
    制造商
    日期
  • 日期
    将位于
    x轴
    和具有制造价格的线图上
  • 基本上,我想看看每个制造商的销售加班总和
我做了什么?

ggplot(electronics,
   aes(date,sum(price))) +
   geom_point() + 
   geom_smooth(method="lm") +
   facet_grid(manufacture)

然而,我似乎没有得到正确的图表。请帮我解决这个问题。谢谢大家!

根据您的数据,我尝试了以下方法:

library(tidyverse)
electronics <- data.frame(date = c("2019-11-22 11:30:04",
"2019-01-16 01:74:14", "2019-07-12 04:23:31",
"2019-07-12 01:21:54", "2019-01-16 04:48:34",
"2019-07-12 12:20:22", "2019-03-28 06:23:11"), 
manufacture = c("Apple","Samsung","Apple","Apple",
"Samsung","Apple","Apple"), 
price = c(600,877,925,1200,1100,1450,1250))

electronics$date <- as.Date(electronics$date)

electronics %>% group_by(date,manufacture) %>% 
summarise(sum = sum(price)) %>% ggplot(aes(date,sum)) + 
geom_point() + geom_smooth(method="lm") + facet_grid(~manufacture)
库(tidyverse)
电子产品%
总结(总和=总和(价格))%>%ggplot(aes(日期,总和))+
geom_point()+geom_smooth(method=“lm”)+刻面网格(~制造)
根据您的问题和观察,我已经编辑了代码,因此现在您可以使用“group_by”进行聚合,在本例中是按日期和制造商进行聚合。然后,你总结价格的总和

希望能有帮助。问候,


亚历克西斯

在绘图前聚合数据。您在
facet\u网格(~manufacture)
@zx8754中缺少一个
~
,无法实时执行吗?如何先按
日期
和价格进行汇总?我应该取价格的
总和
,然后按
日期
进行分组。我不认为你每天都做
求和
。Hello@floss,我已经编辑了我的答案,所以现在它按日期和制造进行分组,并使用求和函数进行总结。希望能有帮助。