图形展示
图形解读
❝此图使用经典的企鹅数据集进行展示,在散点图的基础上按照分组添加拟合曲线及回归方程与R,P值,后使用ggExtra添加密度曲线与数据分布直方图,使用已有R包进行绘制非常的方便,此图大概有以下几点注意事项。 ❞
1.拟合曲线的添加
❝拟合曲线的添加在R中常用的大概有两个函数geom_smooth与ggmpisc::stat_poly_line。两者均可用于在R图形中添加平滑线或拟合线,需要选择正确的模型。它们有一些相似之处,但也有一些关键的区别。 ❞
stat_poly_line 是一个在 ggplot2 图形中添加多项式回归线的函数。这个函数直接计算多项式回归模型,并将拟合线添加到图形上。它允许指定多项式的阶数,即回归方程中最高次项的次数。可直接在图形上添加拟合线,而不是基于数据点的平滑。
geom_smooth是一个更通用的函数,用于在 ggplot2 图形中添加平滑曲线或拟合线。它支持多种平滑方法,包括局部回归(loess)、光滑样条(smooth spline)和线性模型。它可以自动选择平滑参数,还可以显示拟合线周围的置信区间。
回归方程的添加
❝stat_poly_eq:用于添加多项式回归方程和相关统计量(如 R2、p 值等)的标签。这个函数不仅仅限于线 性回归,还可以用于更高阶的多项式回归。 ❞
加载R包
代码语言:javascript复制library(tidyverse)
library(ggsci)
library(ggExtra)
library(ggpmisc)
library(palmerpenguins)
构建标签数据
代码语言:javascript复制labels <- tibble(species = c("Chinstrap", "Adelie", "Gentoo"),
species_x = c(190, 205, 228),
species_y = c(56, 38, 43))
数据可视化
代码语言:javascript复制p <- ggplot(penguins, aes(flipper_length_mm, bill_length_mm, color=species))
geom_point(aes(size = body_mass_g), alpha = 0.5) # 添加散点图层,点的大小表示体重
stat_poly_line(formula = y ~ x) # 添加线性回归线
stat_poly_eq(formula = y ~ x, # 添加线性回归方程和统计量
aes(label = use_label(c("eq", "adj.R2", "p"), sep = "*"; "*")),
size = 3, label.x.npc = "right", label.y.npc = "bottom", rr.digits = 3)
geom_text(data = labels, # 添加文本标签
aes(x = species_x, y = species_y, label = species, colour = species), size = 4.5)
scale_color_npg()
labs(x = "Flipper length (mm)n", y = "Bill length (mm)") # 设置坐标轴标签
guides(colour = FALSE, size = FALSE) # 不显示颜色和大小的图例
theme_classic()
添加密度曲线
代码语言:javascript复制ggMarginal(p, type = "densigram", groupColour = TRUE, groupFill = TRUE, alpha = 0.4)
❝本节内容介绍到此结束,过程仅供参考;有需要学习时间可视化的朋友,欢迎到小编的「淘宝店铺」 「R语言数据分析指南」购买「2023年度会员文档」同步更新中「售价149元」,内容主要包括各种「高分论文的图表分析复现以及一些个性化图表的绘制」均包含数据 代码;按照往年数据小编年产出约在150 以上 ❞