【问题标题】:Making multiple plots in R dependent on two different categorical variables在 R 中制作多个图取决于两个不同的分类变量
【发布时间】:2015-06-11 08:57:52
【问题描述】:

我是 R 新手,我试图在 RStudio 中通过使用对多个变量进行 1000 多次观察的数据集在单个图形中生成多个条形图。以下是数据集的片段:

Municipality    Production  Type
Atima           690         Reverification
Atima           120         Reverification
Atima           220         Reverification
Comayagua       153         Initial
Comayagua       193         Initial
Comayagua       138         Initial
Comayagua       307         Reverification
Copán           179         Initial
Copán           100         Initial
Copán           236         Reverification
Copán           141         Reverification
Danlí            56         Reverification
...

数据集的结构是

Classes ‘tbl_df’, ‘tbl’ and 'data.frame':   1543 obs. of  3 variables:
$ Municipality    : chr  "Atima" "Atima" "Atima" "Comayagua" ...
$ Production      : num  98 690 153 307 179 ...
$ Type            : chr  "Reverification" "Reverification" "Reverification" "Initial" ...

我想提出一个条形图,显示一对条形图(每个自治市 1 对条形图),一个条形图显示一个自治市在“初始”中的生产量,另一个条形图显示“重新验证”中的产量。

我尝试过各种命令,例如 barplot、barchart 和 ggplot,但到目前为止都没有成功。

我应该将 Type 变量拆分为每个类别的 2 和 1 吗?我还尝试根据类型将其仅用于生产,并收到以下消息:

barplot(table(dataset$Production[dataset$Type=="Initial"]), names.arg = Municipality)
Error in barplot.default(dataset$Production[dataset$Type=="Initial"]), names.arg = 
Municipality, : incorrect number of names

我在 Windows 7 中使用 Rstudio 版本 0.99.441。

提前感谢您的帮助。

【问题讨论】:

    标签: r graph plot


    【解决方案1】:

    试试这个:

    library(ggplot2)
    library(data.table)
    df_s <- 
        as.data.table(df)[ , .("Production_Sum" = sum(Production)),
                          by = .(Municipality, Type)]
    
    ggplot(df_s, aes( x = Municipality, y = Production_Sum, fill = Type)) +
        geom_bar(stat = "identity", position = position_dodge())
    

    我正在使用以下数据(您在 OP 中指定):

    df <- read.table(header = TRUE, text = "Municipality    Production  Type
    Atima           690         Reverification
    Atima           120         Reverification
    Atima           220         Reverification
    Comayagua       153         Initial
    Comayagua       193         Initial
    Comayagua       138         Initial
    Comayagua       307         Reverification
    Copán           179         Initial
    Copán           100         Initial
    Copán           236         Reverification
    Copán           141         Reverification
    Danlí            56         Reverification
    ")
    

    【讨论】:

    • 嗨 grrgrrbla,我收到此错误消息:错误:ggplot2 不知道如何处理类函数的数据我的错误是什么?感谢您的帮助。
    • 你应该使用的data.frame应该被命名为df,你在ggplot-function-call的开头输入它所以ggplot(data = df,.....),所以不管你的data.frame放在那里而不是df被称为,我猜你的不是叫 df 而是不同的东西,我编辑了问题以包含我使用的数据
    • 这需要更多的工作,重新塑造和总结数据...我编辑了我的帖子,请点击勾选标记接受答案并点击向上箭头投票
    • 没关系,很高兴它成功了,我会查看一个关于 ggplot2 的好教程,将永远帮助你
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多