R可视化之美之科研绘图

R可视化之美之科研绘图

本内容为【科研私家菜】R可视化之美之科研绘图系列课程

快来收藏关注【科研私家菜】

01 残差分析( residual analysis)

拟合的数值和实际数值就是残差(( residual )。残差分析( residual analysis)就是通过残差所提供的信息,分析出数据的可靠性、周期性或其他干扰。用于分析模型的假定正确与否的方法。所谓残差是指观测值与预测值(拟合值)之间的差,即实际观察值与回归估计值的差。

library(ggplot2)

mydata<-read.csv("Residual_Analysis_Data.csv",stringsAsFactors=FALSE)

fit <- lm(y2 ~ x, data = mydata)

mydata$predicted <- predict(fit) # Save the predicted values

mydata$residuals <- residuals(fit) # Save the residual values

mydata$Abs_Residuals<-abs(mydata$residuals) #

ggplot(mydata, aes(x = x, y = y2)) +

geom_point(aes(fill =Abs_Residuals, size = Abs_Residuals),shape=21,colour="black") + # size also mapped

scale_fill_continuous(low = "black", high = "red") +

geom_smooth(method = "lm", se = FALSE, color = "lightgrey") +

geom_point(aes(y = predicted), shape = 1) +

geom_segment(aes(xend = x, yend = predicted), alpha = .2) +# > Color AND size adjustments made here...

guides(fill = guide_legend((title="Rresidual")),

size = guide_legend((title="Rresidual")))+

ylim(c(0,150))+

xlab("X-Axis")+

ylab("Y-Axis")+

theme(text=element_text(size=15,face="plain",color="black"),

axis.title=element_text(size=10,face="plain",color="black"),

axis.text = element_text(size=10,face="plain",color="black"),

legend.position = "right",

legend.title = element_text(size=13,face="plain",color="black"),

legend.text = element_text(size=10,face="plain",color="black"),

legend.background = element_rect(fill=alpha("white",0)))

效果如下:

02 残差图绘制及比较

d<-mydata

fit <- lm(y5 ~ x+I(x^2), data = d)

# Obtain predicted and residual values

d$predicted <- predict(fit) # Save the predicted values

d$residuals0 <- residuals(fit) # Save the residual values

d$Residuals<-abs(d$residuals0 )

ggplot(d, aes(x = x, y = y5)) +

geom_smooth(method = "lm",formula = y ~ x+I(x^2), se = FALSE, color = "lightgrey") +

geom_segment(aes(xend = x, yend = predicted), alpha = .2) +

geom_point(aes(fill =Residuals, size = Residuals),shape=21,colour="black") + # size also mapped

scale_fill_continuous(low = "black", high = "red") +

#scale_color_gradient2(low = "blue", mid = "white", high = "red") +

geom_point(aes(y = predicted), shape = 1) + # Size legend also removed

#ylim(c(0,150))+

xlab("X-Axis")+

ylab("Y-Axis")+

geom_point(aes(y = predicted), shape = 1) +

guides(fill = guide_legend((title="Rresidual")),

size = guide_legend((title="Rresidual")))+

theme(text=element_text(size=15,face="plain",color="black"),

axis.title=element_text(size=10,face="plain",color="black"),

axis.text = element_text(size=10,face="plain",color="black"),

legend.position = "right",

legend.title = element_text(size=13,face="plain",color="black"),

legend.text = element_text(size=10,face="plain",color="black"),

legend.background = element_rect(fill=alpha("white",0)))

采用黑色到红色渐变颜色和气泡面积大小两个视觉暗示对应残差的绝对值大小,用于实际数据点的表示;而拟合数据点则用小空心圆圈表示,并放置在灰色的拟合曲线上。用直线连接实际数据点和拟合数据点。残差的绝对值越大,颜色越红、气泡也越大,连接直线越长,这样可以很清晰地观察数据的拟合效果。

效果如下:

参考资料

《R语言数据可视化之美》

关注R小盐,关注科研私家菜(溦❤工众號: SciPrivate),有问题请联系R小盐。让我们一起来学习 R可视化之美之科研绘图

相关风雨

性的成语
beat365亚洲体育在线

性的成语

🌊 07-13 💨 阅读 6146
揭秘天梭手表:一图看懂真假鉴别技巧
365足球英超欧冠

揭秘天梭手表:一图看懂真假鉴别技巧

🌊 07-10 💨 阅读 6467
美团地图怎么用?看完这篇你就明白了!
365足球英超欧冠

美团地图怎么用?看完这篇你就明白了!

🌊 07-17 💨 阅读 4504
奥运男足决赛:内马尔求救赎 巴西盼64年首夺金
365足球英超欧冠

奥运男足决赛:内马尔求救赎 巴西盼64年首夺金

🌊 06-28 💨 阅读 9890