R语言统计分析与可视化入门教程:用iris数据完成检验、回归与论文图表
sisucd.com · 数据分析 · 2026
先把环境跑通:R语言怎么用?
有人问:“R语言是不是一打开就满屏报错?”坦白说,第一次确实像在看天书,但新手真正容易踩的坑通常不是统计,而是工作目录、列名和包版本。本文按⭐⭐☆☆☆难度,用R 4.4与RStudio演示一套可复现流程。
- 安装R和RStudio,打开RStudio后新建脚本文件,不要把代码只写在控制台里。
- 在控制台运行:
install.packages(c("tidyverse", "broom"))
library(tidyverse)
library(broom)
首次安装可能需要几分钟。若提示镜像选择,选距离较近的镜像即可。然后载入内置数据集:
data(iris)
str(iris)
summary(iris)
新手避坑:R区分大小写,Sepal.Length和sepal.length不是同一列;中文文件路径也可能在旧环境中引发编码问题。导入CSV时优先使用:
df <- read_csv("data.csv", locale = locale(encoding = "UTF-8"))
从描述统计到检验:一段代码读懂数据
问:R语言统计分析教程为什么总强调先看分布?因为均值相同,不代表数据结构相同。先按物种计算萼片长度的均值、标准差和样本量:
iris %>%
group_by(Species) %>%
summarise(
n = n(),
mean = mean(Sepal.Length),
sd = sd(Sepal.Length)
)
现在比较两组数据。筛选setosa和versicolor后进行Welch t检验:
test_data <- filter(iris, Species != "virginica")
t.test(Sepal.Length ~ Species, data = test_data)
不要只盯着p值。报告时同时写均值、标准差、置信区间和效应方向。若数据明显偏态,可改用wilcox.test();若有三个及以上组,再考虑ANOVA,并检查方差齐性。统计方法要由研究设计决定,不能因为某个函数“能跑”就硬套。
ggplot2可视化与故障排查
问:R语言可视化教程里的图怎样达到论文可用?先保证变量和图形匹配,再统一主题和输出尺寸:
p <- ggplot(iris, aes(Species, Sepal.Length, fill = Species)) +
geom_boxplot(width = 0.65, show.legend = FALSE) +
geom_jitter(width = 0.12, alpha = 0.45) +
labs(x = NULL, y = "Sepal length (cm)") +
theme_classic(base_size = 12)
ggsave("figure1.png", p, width = 160, height = 110, units = "mm", dpi = 300)
排查树:图为空,先检查nrow(df);“object not found”,检查列名和是否运行了前面的代码;中文乱码,检查编码和字体;结果每次不同,确认是否使用随机抽样并设置set.seed(123)。
老司机提示:把原始数据、脚本和输出图放在同一项目目录,脚本从上到下可一次运行。我的测试中,iris分析从载入到导出300 dpi图片约3秒;验证成功的标准是:脚本重启R后仍能完整运行,输出文件存在,且nrow(iris)返回150。
如果你还在整理科研网络环境,安卓UU加速器可作为选项之一;免费镜像、官方安装包和本地缓存同样足够完成R学习。