【发布时间】:2013-11-27 21:44:31
【问题描述】:
我正在尝试按与每个值相关的观察次数对分类/非数字 y 轴进行重新排序。
我导入一个如下所示的表:
View(ranges)
ID | Time | Value | obs
B1 | 1:11 | 1 | 91
B1 | 1:12 | 2 | 91
...
U30 | 2:22 | 99 | 101
然后重新排序:
ranges <- ranges[with(ranges, order(obs, ID)), ]
然后绘制:
p <- ggplot(ranges, aes(x=Time, y=ID, fill=Value))
p <- p + geom_tile(colour = "white")
p
但 y 轴上的顺序并不反映每个 ID 的观察次数。
如何对 y 轴进行排序以反映数据框中 ID 的频率?非常感谢。
示例数据,逗号分隔:
ID,DATE,VALUE,OBS
B9148,41275,0133,7
B9148,41276,3344,7
B9148,41277,7907,7
B9148,41278,2052,7
B9148,41279,6617,7
B9148,41280,9411,7
B9148,41281,6302,7
U1821,41275,7585,11
U1821,41276,5086,11
U1821,41277,5731,11
U1821,41278,5358,11
U1821,41279,9977,11
U1821,41280,1446,11
U1821,41281,2728,11
U1821,41282,5369,11
U1821,41283,8171,11
U1821,41284,5817,11
U1821,41285,0166,11
F7484,41275,8971,10
F7484,41276,5635,10
F7484,41277,8629,10
F7484,41278,5832,10
F7484,41279,4775,10
F7484,41280,4519,10
F7484,41281,1527,10
F7484,41282,7861,10
F7484,41283,5713,10
F7484,41284,0824,10
S3804,41275,0573,4
S3804,41276,0123,4
S3804,41277,8468,4
S3804,41278,6258,4
B8088,41275,9117,7
B8088,41276,8489,7
B8088,41277,0902,7
B8088,41278,8684,7
B8088,41279,7229,7
B8088,41280,3587,7
B8088,41281,0907,7
【问题讨论】:
-
也许使用
reorder(),如示例所示here. -
按您创建的新列对它们进行排序,然后照常绘制。
-
这似乎不起作用。我将使用更具体的代码进行编辑。
-
您的数据非常具体。我可以人工生成它,但这比回答问题本身需要更长的时间。换句话说,提供一些数据。
-
添加了示例数据。谢谢。