繁体   English   中英

将轴中断插入到R中的直方图中

[英]Inserting axis breaks into histograms in R

我已经看到了有关在堆栈溢出中与在直方图中插入轴中断有关的先前建议,例如,请参见此处:

在R中断开X轴,在 直方图的Y轴中断开

但是,将这些帖子中给出的代码应用于我的数据已证明很困难。 我在64位Windows 10计算机上使用R Studio(版本3.4.3)。 我正在制作直方图,以比较与三种鸟类有关的四种觅食行为人种。

这三个种类用以下首字母表示:“ HG”,“ GB”和“ LB”。 使用每只鸟15秒(秒)的观察单位,并为每位受试者收集以下人口统计图信息:(a。)啄的次数,(b。)吞咽食物的次数,(c。)步速在4个类别中排名1:0 =无,1 = 1-4、2 = 5-10、3 => 10。 通过为每个等级分配以下步数来估计平均步行速度:1 = 2.5步,2 = 7.5步,3 = 15步,(d。)固定花费的时间比例被归为以下四个类别之一:0 =无,1 = 1-5秒,2 = 6-10秒,3 = 11-15秒。 通过为每个等级分配以下秒数来估算平均静止时间:1 = 2.5秒,2 = 7.5秒,3 = 12.5秒。 数据总计有2329例鸟类观测。

这三个物种中每个物种的行为数据都作为R中的单独数据集存在,分别为“ HG行为”,“ GB行为”和“ LB行为”。 我也有一个名为“行为”的完整数据集,其中包含所有三个物种的2329次鸟类观测。

在为每个物种生成“标准”直方图时,我都没有问题。 例如,对于物种“ HG”,以下代码在基数R中生成直方图:

attach (HGbehaviour) 
hist (Nopecks) 
hist (Noswallows) 
hist (Nopaces) 
hist (Time_stationary)

然而,问题在于试图比较物种之间的直方图。 每个物种的观测数量不同(HG n = 1961; GB n = 255; LB n = 113),这至少部分地加剧了这一事实。

我发现了一种限制x和y轴的方法,以便使用以下代码比较不同物种的固定轴直方图:

hist (Nopecks, xlim = c (0,21), ylim = c (0, 1000))

但是我的问题是,对于HG,某些频率要高得多。 这意味着我需要在y轴上创建中断。 对于某些行为,我可能还需要在x轴上中断。

这是我尝试过的一些代码:

gap.barplot (HGbehaviour, gap =c (200, 250)), xlab= "No. pecks",
             ytics=c(0,5,10,15,20), ylab = "Frequency", 
             main = "HG no. pecks"

但是,这会产生错误消息。

我已经花了两天时间在笔记本电脑前尝试解决此问题,但无济于事。

有人可以建议我如何在直方图的x和y轴上产生中断吗?

也许尝试axis.breaks或gap.plot https://www.rdocumentation.org/packages/plotrix/versions/3.7-4/topics/axis.break

有些人认为使用轴断裂会产生误导。 Hadley Wickham建议改用多面图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM