【问题标题】:A very simple histogram with R?一个非常简单的直方图 R?
【发布时间】:2014-10-24 08:32:03
【问题描述】:

我刚开始使用 R 编程。我正在使用 RStudio 进行考试,我必须以图形方式表示数据集上某些计算的结果。 我有这样的结构:

我想做的是用每行的 3 个平均值制作一些直方图,中位数和修剪后的平均值也是如此。

第一个问题:这是用图形表示这类数据的正确方法吗?或者有更好的情节。

第二个问题: 谁能给我代码,让我在 x 和 3 个字符串(“Lobby”、“R & D”、“ROE”)和 y 上绘制图表轴是一个包含结果的值的尺度,以便得到表示在 lobbing、r & d 和获得的 roe 方面的投资差异的直方图。

希望我已经足够清楚了,如果我没有指定相关的内容,请询问我。

【问题讨论】:

  • 问题是,如果你把数字放在同一个情节中,像 0.0084 和 6 这样不同尺度的数字,你无法从零中辨别出第一个数字......例如试试这个: barplot(t(as.matrix(yourDataFrame)),beside = TRUE) # 用你的 data.frame 的名称替换 yourDataFrame

标签: r plot dataset histogram rstudio


【解决方案1】:

听起来您想要执行以下操作。使用 csv 调用中的数据 bar.csv 具有以下格式:

Dept    Mean    Median  Trimmed_Mean
Lobby   0.008   0.0018  0.0058
R & D   6.25    3.2     4.78
ROE     19.08   16.66   16.276

您可以使用library(ggplot2)library(reshape) 以及此处列出的命令

dat.m<-read.csv("bar.csv")
dat.m<-melt(dat.m,id.vars="Dept")

ggplot(dat.m, aes(x = Dept, y = value,fill=variable)) + geom_bar(stat='identity')+
facet_wrap(~ Dept, ncol = 3,scales="free_y") #facet wrapped

ggplot(dat.m, aes(x = Dept, y = value,fill=variable)) + geom_bar(stat='identity') 
#stacked bar

显示下面的图表:

正如 zhaoy 所说,直方图(通常)使用原始数据 - 而您拥有的是汇总数据。此外,您可以使用library(ggplot2) 生成这样的箱线图摘要图(使用 ggplot2 库中的spray 数据):

library(ggplot2)
p<-qplot(spray,count,data=InsectSprays,geom='boxplot')
p<-p+stat_summary(fun.y=mean,shape=1,col='red',geom='point')
print(p)

或者简单地使用标准的boxplot 命令,使用相同的数据,添加显示手段的功能:

boxplot(count ~ spray, data = InsectSprays, col = "lightgray")
means <- tapply(InsectSprays$count,InsectSprays$spray,mean)
points(means,col="red",pch=18)

【讨论】:

    【解决方案2】:

    回答问题1:直方图的目的是显示连续数据的密度或频率。如果您想比较 row.name 列中 3 个类别的平均值/中值/修剪平均值,我建议使用条形图。我不确定比较单个图表中的平均值/中值/修剪平均值是否与查看者一致,因此生成 3 个条形图可能是理想的。

    回答问题 2:如果您打算使用多列数据比较 row.name 列中的 3 个类别,我建议使用箱线图。我意识到箱线图传统上不包括均值,但它是比较跨类别数据的最佳可视化之一。示例请参见r-bloggers.com/box-plot-with-r-tutorial

    【讨论】:

    • 不,我的想法是:3 个不同的图表,一个用于平均值,一个用于中位数,一个用于修剪平均值。在每一个图表中,我比较了大厅、研发和 roe 的值。顺便说一句,谢谢您的回答,我会按照教程进行操作,希望对我有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 2010-12-21
    相关资源
    最近更新 更多