2

我正在尝试从以下论文(http://dx.doi.org/10.1016/j.envsci.2011.08.004)复制图表图 1 的概念:

在此处输入图像描述

它是一个直方图,其 bin 宽度取决于 的值而变化x,其高度取决于 variable y。图表中的精确值无关紧要 - 而是了解如何重现它。

下面的代码为每个创建一个具有两个特征 (abatementcost)的数据框measure。的宽度measure是减排量,高度measure是成本。measure应该从最低成本到最高成本进行排序。

measure <- c(LETTERS)
abatement <- c(sample(1:100, 26))
cost <- c(sample(-100:250, 26))
data <- data.frame(cbind(measure, abatement, cost))
4

2 回答 2

3

从技术上讲,这是一个条形图而不是直方图(直方图专门指用于表示连续变量的分箱频率的条形图)......

cbind()把事情搞砸了(转换abatementcost因素):

data <- data.frame(measure, abatement, cost)

这是一个开始:

with(dplyr::arrange(data,cost),
     barplot(width=abatement,height=cost,space=0))
于 2015-04-27T16:49:37.917 回答
0

也许我不太明白问题是什么,但如果您正在寻找订购数据框,我认为这可能是一个很好的解决方案:

data2 <- data[ order(cost), ]

或者您可以使用dplyr包及其arrange功能。

于 2015-04-27T16:39:15.510 回答