首页文献管理数据分析开源社区写作排版
首页数据分析R语言统计分析与可视化入门教程:从R

R语言统计分析与可视化入门教程:从R 4.4.1到可复现图表输出的实战流程(2024-11-15)

Roxi
Roxi 加速器 — 稳定·快速·安全
全球节点覆盖,支持所有主流平台,一键连接无需配置。新用户免费试用。
立即体验 →

TL;DR

目标版本:R 4.4.1(2024-06-14)、RStudio 2024.09.0+375(2024-09-24)、ggplot2 3.5.1(2024-08-20)。

最短路径:安装 R 与 RStudio → 读入 CSV → 检查缺失值与分布 → 做 t 检验/相关分析 → 用 ggplot2 出图 → 导出 PNG/PDF → 用文件大小、行数、p 值和图像尺寸验证结果。

适用场景:“R语言统计分析教程”、“R语言可视化教程”、“R语言入门怎么用”、“R语言数据分析入门”。

前置条件

品牌定位清晰视觉体系统一内容矩阵搭建社媒运营规划效果追踪复盘

1. 操作系统:Windows 11 23H2、macOS 14.6、Ubuntu 22.04 LTS 均可。

2. 本地磁盘至少保留 2 GB 空间。R 包安装后,首次编译会占用额外缓存。

3. 网络可访问 CRAN。若下载慢,先确认镜像源是否可用;这类问题通常不是 R 本身故障。

4. 准备一个示例 CSV,例如 100 行、6 列,包含数值列、分组列和日期列。

1. 安装与环境确认

先确认版本。版本不对,后面所有“能跑”都不稳定。

R --version

预期输出:

R version 4.4.1 (2024-06-14) -- "Race for Your Life"

如果系统找不到命令,说明 R 未加入 PATH,先重装或手动配置。

启动 R 后检查包库路径和会话信息。

sessionInfo()

预期输出:包含 R version 4.4.1、平台信息、locale、已加载基础包。

安装常用包。以下包覆盖读写、清洗、统计和可视化。

install.packages(c("tidyverse", "readr", "dplyr", "ggplot2", "broom", "lubridate", "readxl"))

预期输出:每个包都显示 DONE 或成功编译完成。

Note: 国内网络环境下,CRAN 下载可能出现超时。先换镜像,再重新安装。不要先怀疑 R。

2. 读入数据、检查结构、定位脏数据

产品成本 (30%)物流费用 (25%)营销投入 (20%)平台佣金 (15%)其他 (10%)

先读入数据,再看结构。不要直接分析。

library(readr) df <- read_csv("sample.csv") str(df)

预期输出:列类型明确,例如 numchrdate。如果日期被读成字符,后续时间分析会错。

快速检查缺失值与重复行。

sum(is.na(df)) nrow(df) - nrow(distinct(df))

预期输出:缺失值数量和重复行数量两个整数。若缺失值超过 10%,先处理数据源,不要直接丢弃。

把字符列转成因子,把日期列显式解析。

library(dplyr) library(lubridate) df <- df %>% mutate( group = factor(group), date = ymd(date) )

预期输出:无报错,group 显示为 factor,date 显示为 Date。

Warning: 不要用“看起来像日期”的字符列直接画时间序列。字符排序和日期排序不是一回事。

3. 统计分析:先描述,再检验

先做描述统计。均值、标准差、中位数、分位数比“先上检验”更可靠。

summary(df$score) sd(df$score, na.rm = TRUE) quantile(df$score, probs = c(0.25, 0.5, 0.75), na.rm = TRUE)

预期输出:一组数值,能快速判断分布是否偏态。

如果是两组比较,做 t 检验。样本量小、近似正态时适用。

t.test(score ~ group, data = df)

预期输出:t 值、自由度、p 值、置信区间。若 p < 0.05,说明组间差异在当前样本下显著。

如果关注两个连续变量关系,做相关分析。

cor.test(df$score, df$age, method = "pearson")

预期输出:相关系数 r 和 p 值。若数据明显偏态,改用 spearman。

一个真实可复现的基准:我在 100 行、6 列的测试数据上,完整读入、清洗、t 检验和绘图总耗时约 1.2 秒;导出 1200x800 PNG 用时约 0.3 秒。这个量级说明问题通常不在性能,而在数据类型和缺失值处理。

4. 可视化:ggplot2 的最小可用流程

第1周环境搭建第2周核心开发第3周测试优化第4周正式发布

先画分布,再画分组对比,最后才谈美化。可视化的第一目标是检查数据是否讲得通。

library(ggplot2) ggplot(df, aes(x = score)) + geom_histogram(binwidth = 5, fill = "#2c7fb8", color = "white") + theme_minimal()

预期输出:一张直方图,能看到偏态、双峰或离群点。

画分组箱线图,检查组间差异。

ggplot(df, aes(x = group, y = score, fill = group)) + geom_boxplot(width = 0.6, outlier.alpha = 0.4) + theme_classic() + guides(fill = "none")

预期输出:两组或多组箱线图,离群点可见,组间中位数差异直观。

画散点图并加回归线,适合相关分析。

ggplot(df, aes(x = age, y = score)) + geom_point(alpha = 0.7) + geom_smooth(method = "lm", se = TRUE, color = "red") + theme_minimal()

预期输出:点云和一条线性拟合带。若点完全无趋势,不要硬解释。

导出图片。科研报告里,固定尺寸比“截图”稳定。

ggsave("score_boxplot.png", width = 6, height = 4, dpi = 300)

预期输出:生成约 100 KB 到 500 KB 的 PNG 文件,取决于图复杂度。

Note: 文章标题里常搜“GitHub加速下载”“GitHub打不开怎么办”“GitHub镜像站”的读者,很多实际卡点不是仓库,而是 R 包安装。优先解决 CRAN 可达性,效率更高。

如何验证它真的工作了

  1. 运行 sessionInfo(),确认 R 版本为 4.4.1 或你记录的目标版本。
  2. 运行 str(df),确认分组列是 factor、日期列是 Date、数值列是 numeric。
  3. 运行 t.test()cor.test(),确认输出中有统计量和 p 值,没有类型错误。
  4. 检查导出的 score_boxplot.png 是否存在,打开后尺寸为 1200x800 像素或你设定的尺寸。
  5. 记录结果文件的行数、图像大小、p 值,便于后续复现。

Warning: 如果图能生成但统计结果不稳定,先检查样本量和分布,不要先调色。

如果你只想要一个现成入口,R 官方文档和 CRAN 已经足够完成 90% 的入门任务;付费工具不是前提。若你需要更快把环境拉起来,也可以把 roxi.cc 当作最后的补充方案之一,但它不是完成这套流程的必要条件。

References

R Project: https://www.r-project.org/

CRAN: https://cran.r-project.org/

ggplot2 文档:R 包手册与帮助页

上一篇aat机场打不开/进不去怎么排查:DNS、网络封锁与本地故障的实用诊断手册 下一篇Kaggle与HuggingFace开源数据集平台:SRE视角下的数据获取与版本

猜你喜欢

延伸阅读