【问题标题】:Bar plot for count data by group in RR中按组计数数据的条形图
【发布时间】:2015-03-31 14:39:16
【问题描述】:

我正在尝试在 R 中创建一个条形图,类似于 this question. 中的条形图 如果可能的话,我宁愿不使用 ggplot - 尽管我经常使用它,但这只是统计教程的一小部分我正在创建,我不想让每个人都安装更多的软件包而不是关键。

这是我正在使用的数据框的一部分:

    Site Depth Substrate PoePres HaliPres Species
1      2   0.5      Sand       0        1  DMonte
2      2   0.5      Sand       0        1  DMonte
3      2   0.5      Sand       0        1  DMonte
4      2   0.5      Sand       0        1  DMonte
5      2   0.5      Sand       0        1  DMonte
6      2   0.5      Sand       0        1  DSandi
7      2   0.5      Sand       0        1  DSandi
8      2   0.5      Sand       0        1  DSandi
9      7   0.6      Sand       0        1  DMonte
10     7   0.6      Sand       0        1  DMonte
11     7   0.6      Sand       0        1  DMonte

共有 130 个观测值,物种分为三个级别,深度可达 40 英尺。我想创建一个条形图,只是为了能够可视化数据,沿 x 轴的深度并在 y 轴上计数,这样对于每英尺深度,每个物种的总计数并排绘制(参考链接的问题,我的 Depth 将是他们的 proc,而我的 Species 将是 Rtime/Btime)。

我尝试过使用 barplot、hist、histogram 甚至 ggplot,但都出现了各种错误。显然有些东西我没有掌握,但是几个小时的互联网搜索和实验并没有让我走得太远!

如果有人能提供任何帮助,我将不胜感激。

【问题讨论】:

  • 你先做表了吗? tbl <- with(dat, table(Species, Depth)); barplot(tbl, beside = TRUE, legend = TRUE)table中变量的顺序会影响沿x轴的分组
  • 感谢你们俩。需要一张桌子显然是我没有掌握的东西。 :)

标签: r plot


【解决方案1】:

在您可以使用像barplot 这样的函数之前,您需要正确格式化数据。看?table。如果mydata 是您的数据框:

tbl <- with(mydata, table(Species, Depth))

barplot(tbl, beside = TRUE, legend = TRUE)

或者使用ggplot:

library(ggplot2)
ggplot(as.data.frame(tbl), aes(factor(Depth), Freq, fill = Species)) +     
  geom_col(position = 'dodge')

【讨论】:

  • 我看到 rawr 打败了我(没有足够的代表发表评论)。
  • 有一些代表,添加情节代码和漂亮的图片:}
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-12
  • 1970-01-01
  • 2021-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多