【问题标题】:How can I sort the X axis in a Barplot in R?如何在 R 的条形图中对 X 轴进行排序?
【发布时间】:2010-10-08 07:14:46
【问题描述】:

我已经合并了如下所示的数据:

  (8.048,18.05] (-21.95,-11.95] (-31.95,-21.95]   (18.05,28.05] (-41.95,-31.95]
             81              76              18              18             12
    (-132,-122]     (-122,-112]     (-112,-102]     (-162,-152]  (-102,-91.95]
              6               6               6               5              5
(-91.95,-81.95]     (-192,-182]   (28.05,38.05]   (38.05,48.05]  (58.05,68.05]
              5               4               4               4              4
  (78.05,88.05]     (98.05,108]     (-562,-552]     (-512,-502]    (-482,-472]
              4               4               3               3              3
    (-452,-442]     (-412,-402]     (-282,-272]     (-152,-142]  (48.05,58.05]
              3               3               3               3              3
  (68.05,78.05]       (118,128]       (128,138]     (-582,-572]    (-552,-542]
              3               3               3               2              2
    (-532,-522]     (-422,-412]     (-392,-382]     (-362,-352]    (-262,-252]
              2               2               2               2              2
    (-252,-242]     (-142,-132] (-81.95,-71.95]       (148,158]  (-1402,-1392]
              2               2               2               2              1
  (-1372,-1362]   (-1342,-1332]     (-942,-932]     (-862,-852]    (-822,-812]
              1               1               1               1              1
    (-712,-702]     (-682,-672]     (-672,-662]     (-632,-622]    (-542,-532]
              1               1               1               1              1
    (-502,-492]     (-492,-482]     (-472,-462]     (-462,-452]    (-442,-432]
              1               1               1               1              1
    (-432,-422]     (-352,-342]     (-332,-322]     (-312,-302]    (-302,-292]
              1               1               1               1              1
    (-202,-192]     (-182,-172]     (-172,-162] (-51.95,-41.95]  (88.05,98.05]
              1               1               1               1              1
      (108,118]       (158,168]       (168,178]       (178,188]      (298,308]
              1               1               1               1              1
      (318,328]       (328,338]       (338,348]       (368,378]      (458,468]
              1               1               1               1              1

如何绘制这些数据,以便将 bin 从左侧的最负值排序到右侧的最正值?目前我的图表看起来like this。请注意,它根本没有排序。特别是第二个栏 (value = 76) 放置在第一个栏的右侧:

 (8.048,18.05] (-21.95,-11.95]
            81              76

这是我用来绘图的命令:

barplot(x,ylab="Number of Unique Tags", xlab="Expected - Observed")

【问题讨论】:

  • “Hi”和两个换行符,这取决于数据库中的存储可能等于更多字符。至少两个。
  • 顺便说一句,谁让 Rich B 成为“可接受行为”的决定者。
  • 是的,字符数基于 HTML,而不是 Markdown。今天早些时候,我编辑了一篇文章,只是为了在一些代码周围添加反引号,默认的编辑摘要是“在正文中添加了 13 个字符”。 `` 不是 13 个字符,但 是。
  • 我们应该修改 Jeff 的博客文章说:“尊重原作者,或者尊重认为他知道原作者想要什么的编辑;或者尊重不喜欢你的更改和原作者随后批准您的更改。”
  • 我也有同样的问题。有谁知道如何订购垃圾箱?根据 FryGuy 的评论,bin 是一种数学符号,可以在 R 中使用“cut”或“cut2”轻松创建。像 neversaint 一样,我试图在我的 x 轴上订购这些。当 bin 都是正数时,排序正确。但如果一个箱子有一个负数,那就不行了! – WGray 6 分钟前

标签: r statistics


【解决方案1】:

我真的很想帮助回答你的问题,但我得告诉你,我无法对你的数据做出正面或反面。我看到很多左括号,但没有右括号。数据看起来按每行底部的值降序排序。我不知道如何利用像 "(8.048,18.05]" 之类的值

我是否遗漏了一些明显的东西?你能举一个更简单的例子,说明你的数据结构不是一个因素吗?

我通常希望数据框或矩阵具有两列,一列用于 X,一列用于 Y。

看看这个排序示例是否有帮助(我在这里有点摸不着头脑)

tN <- table(Ni <- rpois(100, lambda=5))
r <- barplot(tN)

#stop here and examine the plot
#the next bit converts the matrix to a data frame,
#  sorts it, and plots it again

df<-data.frame(tN)
df2<-df[order(df$Freq),]
barplot(df2$Freq)

【讨论】:

  • 他用的是一般数学范围记法,[]是闭区间,()是开区间。因此,对于他的第一个 bin:(8.048,18.05] = 81,这意味着对于范围 8.048
  • 噢噢噢!谢谢你把它理顺。我没有看到 R 的输出看起来像那样,所以我很困惑。
猜你喜欢
  • 2022-01-17
  • 2021-08-08
  • 1970-01-01
  • 2015-02-03
  • 2022-08-23
  • 1970-01-01
  • 2012-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多