R中按组的计数数据的条形图

Vic*_*ria 2 plot r

我正在尝试在R中创建条形图,类似于此问题中的条形图如果可能的话,我宁愿不使用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
Run Code Online (Sandbox Code Playgroud)

共有130个观测值,其中三个级别的物种和深度范围高达40英尺。我想创建一个条形图,以便能够可视化数据,沿x轴的深度并在y轴上计数,以便对于每英尺深度,并排绘制每种物种的总数(指的是链接的问题,我的深度将是他们的触发,我的种类将是Rtime / Btime)。

我尝试使用barplot,hist,histogram和ggplot,但都存在多种错误。显然,我没有掌握某些东西,但是经过数小时的互联网搜索和实验,我的理解却还很遥远!

任何人都可以提供任何帮助,我将不胜感激。

Axe*_*man 5

在使用之类的功能之前barplot,您需要正确格式化数据。看看?table。如果mydata是您的数据框:

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

barplot(tbl, beside = TRUE, legend = TRUE)
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

或使用ggplot

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

在此处输入图片说明