我正在使用 ggplot2 制作随机森林中六个相关变量重要性结果的点图。我的数据(我已经使用 reshape2 将其转换为长格式)如下所示(我的真实数据集有点大):
Factor Group Value
Gender A 0.000127
Age A 0.000383
Informant A -0.000191
Gender B -0.000255
Age B 0.000389
Informant B -0.000312
Gender C -0.000285
Age C 0.000389
Informant C -0.000282
我可以像这样制作点图:
ggplot(mydata, aes(x = Value, y = Factor, colour = Group)) + geom_point()
here is an example of what this looks like with a different dataset:
然而,我想要画一条线来指示哪些因素对每个组都很重要。如第 4 页所述本指南 http://www.stanford.edu/~stephsus/R-randomforest-guide.pdf,在这样的数据集中“如果变量的重要性值高于最低负分变量的绝对值,则变量可以被认为是信息丰富且重要的”.
我想要一个类似于上面的图,同时每个组都有单独的重要性线。这段代码让我很接近,但没有为每个组做单独的行。有人知道该怎么做吗?我尝试过将美学颜色映射到组,但显然缺少一些东西。
ggplot(mydata, aes(x = Value, y = Factor, colour = Group)) +
geom_point() +geom_vline(data=mydata, aes(xintercept=abs(min(Value)),
colour=Group))