【发布时间】:2012-05-18 14:42:08
【问题描述】:
我有一个看起来像这样的数据框:
| id | length_bgn | length_end |
--------------------------------
| 1 | 209 | 215 |
| 2 | 324 | 125 |
| 3 | 167 | 156 |
| .. | ... | ... |
--------------------------------
我想制作一个散点图,其中 X 轴上的长度(每行)最小值和 Y 轴上每行的最大值。我试过了:
qplot(min(length_bgn, length_end), max(length_bgn, length_end), data=df)
但是,这会绘制两列最小值与两列最大值的单个点。我是否使用了错误的功能?或者以某种方式操纵数据框会更好吗?请原谅任何天真,我对 R 和 ggplot2 还是很陌生。
任何帮助将不胜感激。
编辑:使用上述代码的示例图:
【问题讨论】:
-
您的解释必须更清楚。我在您的 df 中每行只看到三个值,其中只有一个是 length_bgn。你在做什么?
-
抱歉,我正在尝试绘制,例如 id==2、x=125 和 y=324。 IE。我希望每行的最小值与每行的最大值相对。我希望这更清楚,但如果没有,请告诉我。
-
啊,我明白了。您将需要重新排列您的 df 以便列对应于您要绘制的变量。即每行中的最小值都应该在一列中。我会使用
apply进行两次调查。 -
id 列是唯一的。这就是我的意思,min(length_bgn, length_end),就像这两列之间的最小值,每行。我只是不确定如何在 ggplot2 中正确执行此操作;如果有帮助,我将发布一个示例图。
标签: r ggplot2 data-manipulation