ggvis - 如何绘制条形图

时间:2014-12-28 02:49:16

标签: r layer ggvis

我不知道我的代码有什么问题。但我得到这个错误:

> Visitas_Por_Fuente %>% ggvis(~Campanas1, ~sessions) %>% layer_bars()
Error in .subset2(x, i, exact = exact) : subscript out of bounds

我只是想创建一个条形图,它显示了我们拥有多少个源。

我使用此代码(但'我没有看到图表):

我有一个包含以下数据类型的data.frame:

Visitas_Por_Fuente %>% ggvis(~Campanas1, ~sessions) %>% layer_bars()

这是我的data.frame上的str()函数的输出:

Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   4177 obs. of  8 variables:
$ date         : Date, format: "2014-09-01" "2014-09-01" "2014-09-01" ...
$ dayOfWeekName: chr  "Monday" "Monday" "Monday" "Monday" ...
$ userType     : chr  "New Visitor" "New Visitor" "New Visitor" "New Visitor" ...
$ source       : chr  "(direct)" "amazon.es" "bing" "col128.mail.live.com" ...
$ Medium       : chr  "(none)" "referral" "organic" "referral" ...
$ campaign     : chr  "(not set)" "(not set)" "(not set)" "(not set)" ...
$ sessions     : num  97 1 2 1 5 2 124 1 35 1 ...
$ Campanas1    : Factor w/ 7 levels "Adwords","Campañas",..: 3 5 6 4 5 7 6 7 5 5 ...

头(Visitas_Por_Fuente)

来源:本地数据框[6 x 8]

    date dayOfWeekName    userType                   source   Medium  campaign    sessions    Campanas1
1 2014-09-01        Monday New Visitor             (direct)   (none) (not set)       97      Directo
2 2014-09-01        Monday New Visitor            amazon.es referral (not set)        1  Referencias
3 2014-09-01        Monday New Visitor                 bing  organic (not set)        2          SEO
4 2014-09-01        Monday New Visitor col128.mail.live.com referral (not set)        1        Email
5 2014-09-01        Monday New Visitor         eloi.go.com referral (not set)         5  Referencias
6 2014-09-01        Monday New Visitor         facebook.com referral (not set)        2 Social Media

1 个答案:

答案 0 :(得分:3)

我认为解决方案与术语有关:"整洁数据"。

步骤:

1.-使用"选择"简化您的data.frame;来自" Dplyr":

Visitas_Por_Fuente3 <- select(Visitas_Por_Fuente, Campanas1, sessions)

2.-融化&#34;融化&#34;来自&#34; reshape2&#34;:

Visitas_Por_Fuente6 <- melt(Visitas_Por_Fuente3)

3.-使用ggvis制作图表:

Visitas_Por_Fuente6 %>% ggvis(~Campanas1, ~value) %>% layer_bars()

注意:

如果您只是尝试制作图表而不重塑它,它就不会起作用。

我不知道为什么。他们看我一样,在这里你有2个data.frames的头:

A)Visitas_Por_Fuente3 - 不重塑它:

     Campanas1    sessions
1      Directo        97
2  Referencias        1
3          SEO        2
4        Email        1
5  Referencias        5
6 Social Media        2

B)Visitas_Por_Fuente6 - 重塑它:

     Campanas1 variable value
1      Directo sessions    97
2  Referencias sessions     1
3          SEO sessions     2
4        Email sessions     1
5  Referencias sessions     5
6 Social Media sessions     2

为什么?有什么想法吗?

这就是我想要的,并得到了。但是,有没有办法为每列添加值?感谢

enter image description here