[R可視化]繪製線性迴歸模型係數的正負和大小

setwd("C:\\Users\\yangzifeng_i\\Desktop\\data")
library(readr)
dta0<-read.csv("forestfires.csv")
dta1<-dta0[,-which(names(dta0)%in%c("month","day"))]

#線性模型建模
all<-dta1
##變量標準化
for (i in 1:length(all))
{
  all[,i]<-(all[,i]-mean(all[,i]))/sd(all[,i])
}
##構造邏輯迴歸模型
lm_res<-lm(area~.,data=all)

#係數大小和正負可視化
library(ggplot2)
coef<-as.data.frame(lm_res$coefficients)
coef$var<-row.names(coef)
colnames(coef)[1]<-"coef"
coef<-coef[-1,]
coef$pos = coef$coef>0
ggplot(coef,aes(x = reorder(var,-coef),y = coef,fill = pos))+
  geom_bar(stat = 'identity',position = 'identity')+
  scale_x_discrete(labels = c("X","Y","FFMC","DMC","DC","ISI","temp","RH","wind","rain"))+
  theme(axis.text.x = element_text(angle = 50,hjust = 1,vjust = 1))+
  labs(fill = "係數正負",x = "變量",y="係數")

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章