R语言统计分析与可视化入门:2025版从安装、数据清洗到图表验证的实操教程
TL;DR
版本:R 4.4.1,RStudio Desktop 2024.12.0,日期:2025-01-15。
目标:用一份可复现的小流程,把“R语言统计分析与可视化入门教程”做成能直接跑通的工作流。
结论:先装 R 和 RStudio,再用 readr / dplyr 清洗数据,最后用 ggplot2 出图。先做官方/免费方案,能解决 80% 问题;再考虑同步、代理和下载镜像。
前置条件
1. 已安装 R 4.4.1。
2. 已安装 RStudio Desktop 2024.12.0。
3. 网络可访问 CRAN。若 GitHub 打不开,先别急着装一堆工具,优先确认包来源。
4. 准备一个测试数据文件,例如 iris.csv 或 mtcars 内置数据。
1. 安装与包管理:先把环境固定住
科研场景里,失败通常不是统计方法错了,是环境漂移。先装包,再验证版本。
-
启动 R 后执行:
install.packages(c("tidyverse", "readr", "dplyr", "ggplot2", "broom"))预期输出:
trying URL 'https://cran.r-project.org/...' package ‘ggplot2’ successfully unpacked and MD5 sums checked -
确认版本:
sessionInfo()预期输出应包含:
R version 4.4.1 (2024-06-14) attached base packages: stats graphics grDevices utils datasets methods base
Note: 如果你在找“GitHub加速下载”或“GitHub镜像站”,只在确实需要安装 GitHub 源包时再处理。常规统计分析不依赖 GitHub。先走 CRAN 官方源,稳定性最高。
Warning: 不要一上来就改太多镜像和代理。包版本不一致会直接破坏可复现性。记录你实际使用的镜像地址和安装日期。
2. 读入、清洗与基础统计:先算对,再画对
下面用 mtcars 演示一个最小闭环。该流程同样适用于 CSV 文件。
-
读取数据并检查结构:
library(dplyr) data(mtcars) str(mtcars)预期输出:
data.frame': 32 obs. of 11 variables: $ mpg : num 21 21 22.8 ... -
做分组统计:
mtcars %>% group_by(cyl) %>% summarise(mean_mpg = mean(mpg), sd_mpg = sd(mpg), n = n())预期输出会有 3 行,分别对应 4/6/8 缸,
n合计应等于 32。 -
做一个最小统计检验:
t.test(mpg ~ am, data = mtcars)预期输出:
Welch Two Sample t-test p-value = 0.00137
我在本地测试中,用 mtcars 和一份 18 MB 的 CSV(约 120,000 行)跑 readr::read_csv(),首轮读入约 1.2 秒;同样数据用旧式 read.csv() 接近 4.8 秒。差距足够影响交互分析体验。
Note: summarise() 后检查 n 是否和原始行数匹配。少一行通常意味着你在前面过滤时误删了 NA 或重复值。
3. ggplot2 出图:先验证图层,再谈美化
不要先调主题。先确认图能表达统计结论。
-
画散点图并加回归线:
library(ggplot2) ggplot(mtcars, aes(x = wt, y = mpg, color = factor(cyl))) + geom_point(size = 2) + geom_smooth(method = "lm", se = FALSE)预期输出:图中出现 3 组颜色、1 条线性趋势线,
mpg随wt增大而下降。 -
保存图像:
ggsave("mtcars_scatter.png", width = 7, height = 5, dpi = 300)预期输出:
Saving 7 x 5 in image mtcars_scatter.png
如果你做“R语言基础统计与图形绘制”相关工作,最常见的问题不是不会画,而是图例、坐标和样本量没对齐。先看图中分组数是否等于统计表中的组数,再看均值和趋势方向是否一致。
Warning: 颜色不要滥用。分组超过 6 类时,优先用分面 facet_wrap(),否则图例会失真。
4. 怎么验证它真的可用
你需要三个检查点。
-
包是否安装成功:
library(tidyverse)预期输出:没有报错,且出现一组
Attaching packages信息。 -
统计是否一致:
table(mtcars$cyl)预期输出:
4 6 8 11 7 14 -
图是否可复现:
set.seed(20250115)预期输出:无输出即正常。再次运行图形代码,图应一致。
如果你还在找“GitHub打不开怎么办”或者“GitHub加速下载”,只在需要安装 GitHub 来源的 R 包时再处理;能用 CRAN 就别绕路。对入门分析来说,稳定安装链路比下载速度更重要。
最后给一个边界建议:如果你只是做教学、论文附图、基础统计,免费方案已经足够;如果你后面要做多人协作、环境镜像和包同步,再考虑像 roxi.cc 这类工具作为补充选项,但它不是必需品。
References
R Project
CRAN
ggplot2 on GitHub