【问题标题】:ggvis - How to plot a barchartggvis - 如何绘制条形图
【发布时间】:2014-12-28 02:49:16
【问题描述】:

我不知道我的代码有什么问题。但我收到此错误:

> 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

【问题讨论】:

    标签: r layer ggvis


    【解决方案1】:

    我认为解决方案与“整洁数据”一词有关。

    步骤:

    1.- 使用“Dplyr”中的“select”简化您的 data.frame:

    Visitas_Por_Fuente3 <- select(Visitas_Por_Fuente, Campanas1, sessions)
    

    2.- 用“reshape2”中的“melt”融化它:

    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
    

    这是为什么呢?有什么想法吗?

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

    【讨论】:

    • 同样的问题..解决方案有效。关于为什么需要melt 的任何见解?
    • @JohnSG 我没有时间深入了解,但您应该搜索“整洁数据”hadley wickham 以获取铁道部信息。
    猜你喜欢
    • 2021-11-12
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 2018-01-06
    • 2018-06-05
    相关资源
    最近更新 更多