我希望创建一个qplot()
包含三个响应变量的密度图。因此,该图将是密度 (y) 与高程 (x) 的关系,三个颜色编码的密度函数显示每个密度如何随着高程(x 轴)的变化而变化。
首先,我将三个响应变量(我的数据集“CAIRNGORM”中的 3 列)子集化为一个名为“ZONES”的小子集:
ZONES<-CAIRNGORM[c("prop_Cal", "prop_Emp", "prop_Jun")]
然后我尝试创建 qplot:
library(ggplot2)
qplot(Elevation, data=CAIRNGORM, geom="density", fill="ZONES", alpha=I(0.5))
它创建了一个图,但没有给我三个迹线,prop_Cal、prop_Emp 和 prop_Jun 各一个,我只有一个迹线,它似乎显示了我的高程数据的密度 - 一条直线!
我真的很感谢有人对此提供帮助 - 我如何指示 qplot 构建包含在“ZONES”而不是 x 变量中的三个轨迹?谢谢
编辑:我的数据的缩短版本(尝试在堆栈溢出中放置正确的代码格式):
> head(CAIRNGORM)
position group Elevation
1 Q1 A 680
2 Q2 A 730
3 Q3 A 780
4 Q4 A 830
5 Q5 A 880
6 Q6 A 930
prop_bar prop_Cal prop_Vac prop_Emp prop_Jun prop_Ces prop_Eri ZONES.prop_Cal
1 0.00 1.00 0.0 0 0 0.36 0.4 1.00
2 0.00 1.00 0.0 0 0 0.28 0.0 1.00
3 0.00 0.84 0.6 0 0 0.48 0.0 0.84
4 0.00 1.00 0.0 0 0 0.00 0.0 1.00
5 0.24 0.76 0.0 0 0 0.72 0.0 0.76
6 0.36 0.72 0.0 0 0 0.00 0.0 0.72
ZONES.prop_Emp ZONES.prop_Jun
1 0 0
2 0 0
3 0 0
4 0 0
5 0 0
6 0 0
> head(ZONES)
prop_Cal prop_Emp prop_Jun
1 1.00 0 0
2 1.00 0 0
3 0.84 0 0
4 1.00 0 0
5 0.76 0 0
6 0.72 0 0