我有一个数据集,在 5 年内观察到两个变量(发生率(0-100)和严重性(0-5)。它看起来像这样。
cbb.incidence avg.severity Year
1 86.666667 2.0333333 2009
2 83.333333 1.8666667 2009
3 20.000000 1.2000000 2009
4 26.666667 1.2666667 2010
5 86.666667 1.9000000 2010
6 86.666667 1.8666667 2010
7 86.666667 2.0333333 2011
8 83.333333 1.8666667 2011
9 20.000000 1.2000000 2012
10 26.666667 1.2666667 2012
11 86.666667 1.9000000 2013
12 86.666667 1.8666667 2013
我想要得到的是一个每年有两个箱线图的数字,每个变量一个。我在这里发现了关于堆栈溢出的完全相同的问题:在一张图中绘制多个箱线图
因此,我按照示例中的描述“融化”了数据,然后将其绘制为描述的:
meltedData<-melt(incidence_all, id.var='Year')
ggplot(data=meltedData, aes(x=Year, y=value)) +
geom_boxplot(aes(fill=variable))
数据似乎是正确的格式融化的数据看起来像这样(这是一个子集,有 >2000 行):
Year variable value
1017 2009 avg.severity 1.5333333
1018 2009 avg.severity 2.1333333
1019 2009 avg.severity 2.0666667
1020 2009 avg.severity 2.0000000
1021 2009 avg.severity 2.0666667
1022 2009 avg.severity 1.6333333
1023 2009 avg.severity 1.5666667
1024 2009 cbb.incidence 16.777775
1025 2009 cbb.incidence 35.888865
请问各位R-wizards请告诉我我做错了什么?
另外,我已经知道我的两个变量的比例非常不同(发生率是 0-100,严重性是 1-5)所以如果我简单地用相同的 y 轴比例绘制两个变量,较小的值将是不可读的. 我想要一个双 y 轴,一个在左边,一个在右边,每个变量都被缩放到不同的 y 轴。我还没有看到具有此功能的箱线图示例。有人可以推荐如何解决这个问题,最好是在ggplot中吗?
谢谢你!!