r - 用 ggplot2 和图例显示显示不显着的系数
问题描述
我试图为不显着的系数(p>0.05)和那些不显着的系数显示不同的颜色。另外,如果有人有办法显示图例或表示颜色也会很好..
有任何想法吗?
示例代码:
library(nycflights13)
library(dplyr)
library(dotwhisker)
library(MASS)
flights <- nycflights13::flights
flights<- sample_n (flights, 500)
m1<- glm(formula = arr_delay ~ dep_time + origin+ air_time+ distance , data = flights)
#m1<- glm(formula = arr_delay ~ . , data = flights)
m1<- stepAIC(m1)
p<- dotwhisker::dwplot(m1)
z<- p +
geom_vline(xintercept=0, linetype="dashed")+
geom_segment(aes(x=conf.low,y=term,xend=conf.high,
yend=term,col=p.value<0.05)) +
geom_point(aes(x=estimate,y=term,col=p.value<0.05)) +
xlab("standardized coefficient") +
ylab("coefficient") +
ggtitle("coefficients in the model and significance")
print(z)
解决方案
您的代码已经可以满足您的需求。问题是产生的对象p
已经dwplot
有一个geom_segment
层和一个geom_point
带有许多美学映射的层。它们的颜色当前映射到变量model
,这只是一个因素级别,允许在并排比较模型时使用不同的颜色。但是可以覆盖它们:
p$layers[[1]]$mapping[5] <- aes(color = p.value < 0.05)
p$layers[[2]]$mapping[4] <- aes(color = p.value < 0.05)
您可以使用更改图例标签
p$labels$colour <- "Significant"
默认情况下,dwplot
也隐藏图例,但我们可以重置它:
p$theme <- list()
因此,无需添加任何新的几何图形或创建对象z
,我们就有:
p
请注意,这p
仍然是一个有效且内部一致的 ggplot,因此您可以继续根据需要对其进行样式设置,例如:
p + theme_bw() + geom_vline(xintercept = 0, lty = 2)
推荐阅读
- firebase - firebase 中基于角色的身份验证
- elasticsearch - 如何将默认索引更改为我在 kibana.index 中的索引?
- reactjs - 修改对象数组中的某个对象但是具有相同属性名称的对象都在变化(React)
- python - 根据将区域中的一小部分像素与图像文件夹进行比较来对图像进行排序,并将它们移动到单独的文件夹中
- javascript - Changing the input type of a field to text from passworfd in Ext JS
- amazon-web-services - 按实例类型划分的 AWS 成本管理器组 - 没有实例类型?
- javascript - 如何清除 Azure Map 的绘制形状
- uwp-xaml - CanvasVirtualControl ,Invalidate 作为异步工作以及如何使其等待?
- python - pymongo.errors.InvalidOperation:执行查询后无法设置选项
- python - LInux 上 python 3 和 sqlite 的 Unicode 错误