我正在做一个图表来显示一些网站的点击率。我有以下数据框架:
Time1 Time2 Sitio hits Time
1 2014-4-11 8:0 Gmail 1 2014-04-11 08:00:00
2 2014-4-11 8:0 Google 18 2014-04-11 08:00:00
3 2014-4-11 8:0 Twitter 4 2014-04-11 08:00:00
4 2014-4-11 8:0 Facebook 13 2014-04-11 08:00:00
5 2014-4-11 8:0 Youtube.com 110 2014-04-11 08:00:00
6 2014-4-11 8:0 Mediavida.com 3 2014-04-11 08:00:00
7 2014-4-11 8:0 Grooveshark.com 4 2014-04-11 08:00:00
8 2014-4-11 8:0 teleconlanparty.org 20 2014-04-11 08:00:00
9 2014-4-11 7:56 Twitter 2 2014-04-11 07:56:00
10 2014-4-11 7:56 Facebook 6 2014-04-11 07:56:00
11 2014-4-11 7:56 Youtube.com 8 2014-04-11 07:56:00
12 2014-4-11 7:56 teleconlanparty.org 11 2014-04-11 07:56:00
13 2014-4-11 7:57 Gmail 36 2014-04-11 07:57:00
14 2014-4-11 7:57 Google 1 2014-04-11 07:57:00
15 2014-4-11 7:57 Twitter 79 2014-04-11 07:57:00
16 2014-4-11 7:57 Facebook 194 2014-04-11 07:57:00
17 2014-4-11 7:57 Series.ly 2 2014-04-11 07:57:00
18 2014-4-11 7:57 Hotmail.com 81 2014-04-11 07:57:00
19 2014-4-11 7:57 Meneame.com 4 2014-04-11 07:57:00
20 2014-4-11 7:57 Youtube.com 173 2014-04-11 07:57:00
21 2014-4-11 7:57 Mediavida.com 12 2014-04-11 07:57:00
22 2014-4-11 7:57 teleconlanparty.org 95 2014-04-11 07:57:00
23 2014-4-11 7:58 Gmail 34 2014-04-11 07:58:00
24 2014-4-11 7:58 Google 13 2014-04-11 07:58:00
25 2014-4-11 7:58 Twitter 83 2014-04-11 07:58:00
26 2014-4-11 7:58 Facebook 99 2014-04-11 07:58:00
27 2014-4-11 7:58 Series.ly 2 2014-04-11 07:58:00
28 2014-4-11 7:58 Hotmail.com 5 2014-04-11 07:58:00
29 2014-4-11 7:58 Meneame.com 1 2014-04-11 07:58:00
30 2014-4-11 7:58 Youtube.com 247 2014-04-11 07:58:00我在做一个每个网页都有一条线的图表:
ggplot(traficoweb, aes(Time,Hits,colour=Sitio)) + geom_line()
![incomplete representation][1]但是有些网站并不是每时每刻都会被访问,所以有时它们没有被定义。当网站没有被访问一分钟时,我想分配0。因此,我可以正确地绘制图表。
谢谢你的帮助!
发布于 2014-07-27 19:47:26
在尝试绘制之前,您需要进行转换。您可以创建所有时间和站点的列表,并将它们合并以创建缺少的行。例如(假设时间列是一个适当的POSIXct时间类)
alltime<-seq(min(traficoweb$Time), max(traficoweb$Time), by="1 min")
mm<-merge(traficoweb,
expand.grid(Sitio=unique(traficoweb$Sitio), Time=alltime), all.y=T)
mm$hits[is.na(mm$hits)]<-0然后再用
ggplot(mm, aes(Time,hits,colour=Sitio)) + geom_line()

https://stackoverflow.com/questions/24983380
复制相似问题