我正在尝试在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,但都存在多种错误。显然,我没有掌握某些东西,但是经过数小时的互联网搜索和实验,我的理解却还很遥远!
任何人都可以提供任何帮助,我将不胜感激。
在使用之类的功能之前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)