【问题标题】:Inserting axis breaks into histograms in R将轴插入R中的直方图
【发布时间】:2018-12-14 13:14:04
【问题描述】:

我之前在 Stack Overflow 上看到过有关在直方图中插入轴中断的建议,例如,请参见此处:

Break X Axis in RPut a break in the Y-Axis of a histogram

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

这三个物种由以下首字母表示:“HG”、“GB”和“LB”。使用每只鸟 15 秒 (sec) 的观察单位,为每个受试者收集以下行为图信息:(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 秒。数据总计 2,329 次鸟类观测。

三个物种中的每一个的行为数据都作为 R 中的单独数据集存在,标题为“HGbehaviour”、“GBbehaviour”和“LBbehaviour”。我还有一个名为“行为”的完整数据集,其中包含所有三个物种的 2,329 次鸟类观察结果。

我可以为每个物种生成“标准”直方图。例如,对于物种“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 轴上产生中断吗?

【问题讨论】:

  • 嗨@Brianna,欢迎您。为了解决您的问题,请发送reproducible example。另外,请查看this,了解如何提问。
  • 如果你想看看good example。简短,可重现,已解决。
  • 这可能是复制和粘贴错误,但gap.barplot (HGbehaviour, gap =c (200, 250)), xlab= "No. pecks", ytics=c(0,5,10,15,20), ylab = "Frequency", main = "HG no. pecks" 行在c (200, 250) 后面多了一个不正确的右括号
  • 这是一个有趣的问题,但我认为如果您专注于“如何最好地显示这些数据以进行我想要的比较?”,您可能会得到更好的答案。而不是“我如何打破轴”?正如其他人所建议的那样,如果您可以发布一些具有代表性的数据,那么有人可能会提出一个很好的解决方案。

标签: r histogram


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2023-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    相关资源
    最近更新 更多