R语言从安装到出图:科研新手可复现的统计分析实战流程
先把环境装稳:别一上来就“为什么报错”
“R语言到底怎么用?”老弟老妹,先别急着跑论文同款模型。十个新手九个卡在安装和路径,剩下一个把中文文件名放进了三层桌面文件夹,爷青回。
难度:⭐ 先做 RStudio下载与安装:安装 R,再安装 RStudio。打开 RStudio 后,在 Console 输入:
version$version.string
能看到版本号,比如 R 4.3.x 或 4.4.x,就算第一关过了。接着建一个项目:File - New Project - New Directory。把数据放进项目里的 data 文件夹,别到处漂移。
新手坑警告:不要把 CSV 放在“微信文件/新建文件夹/最终版/真的最终版”里。路径含中文、空格、括号时,读数据报错概率会明显升高。
安装常用包:
install.packages(c("tidyverse","readr","ggplot2","janitor","broom"))
验证是否成功:
library(tidyverse)
不报红字,基本 OK。若下载慢,优先换 CRAN 镜像;校园网、实验室代理也常见,别一报错就卸载重装,互联网老兵看了会沉默。
从一份CSV开始:描述统计、t检验、回归一次跑通
难度:⭐⭐ 这里用一个最小科研场景:比较 A、B 两组学生的反应时是否不同。CSV 至少包含三列:id、group、rt。比如 group 为 A/B,rt 为毫秒。
读取数据:
library(tidyverse)
library(janitor)
df <- read_csv("data/reaction_time.csv") %>% clean_names()
先看结构,别闭眼分析:
glimpse(df)
summary(df$rt)
table(df$group)
Q:为什么我的均值是 NA? A:多半有缺失值。用:
df %>% summarise(mean_rt = mean(rt, na.rm = TRUE), sd_rt = sd(rt, na.rm = TRUE))
按组描述统计:
df %>% group_by(group) %>% summarise(n=n(), mean=mean(rt,na.rm=TRUE), sd=sd(rt,na.rm=TRUE))
跑 t 检验,也就是常搜的 R语言t检验教程 核心命令:
t.test(rt ~ group, data = df)
如果 p 值小于 0.05,说明两组均值差异在常规阈值下显著;但别只盯 p 值,均值差多少、样本量多少也要写。我自己测过一份 200 行 CSV,读取到出结果不到 3 秒,慢通常不是 R 慢,是你数据格式乱。
简单线性回归:
fit <- lm(rt ~ age + group, data = df)
summary(fit)
broom::tidy(fit)
老网民提示:变量名别用 1组、反应-时间、mean 这种容易搞事的名字。推荐小写英文加下划线,比如 reaction_time。
ggplot2画图与排错树:让结果能放进论文
难度:⭐⭐⭐ 很多人搜 R语言ggplot2怎么用,其实先记一个模板就够:
library(ggplot2)
ggplot(df, aes(x = group, y = rt, fill = group)) +
geom_boxplot(width = 0.5, alpha = 0.7) +
geom_jitter(width = 0.08, alpha = 0.4) +
theme_classic(base_size = 14) +
labs(x = "Group", y = "Reaction time (ms)")
保存图片:
ggsave("figures/rt_boxplot.png", width = 6, height = 4, dpi = 300)
300 dpi 是论文配图常用底线。投稿前再按期刊要求改宽度,比如单栏图常见 85 mm,双栏约 170 mm。
内联 FAQ:Q:图里中文乱码?A:先用英文标签最稳;必须中文时再配置系统字体。Q:箱线图没有点?A:检查 rt 是否被读成字符,用 class(df$rt) 看。Q:图保存在哪里?A:就在当前项目目录,输入 getwd() 查看。
排错树:
- 读不进 CSV → 先检查文件名和路径 → 用
list.files("data")确认文件存在。 - 对象不存在 → 看大小写 → R 区分 df、DF、Df,别问,问就是祖传设定。
- 安装包失败 → 换 CRAN 镜像 → 再检查网络和 R 版本。
- 统计结果怪 → 先画散点/箱线图 → 再查缺失值、异常值、分组是否写错。
如何验证它真的跑通:你应得到三样东西:Console 中有 t 检验或回归结果;项目 figures 文件夹里有 300 dpi 图片;重新打开项目后运行脚本不报错。做到这三点,这份 R语言统计分析入门教程 就算落地了。
最后补一句:如果你查资料、同步包或访问开发社区时网络不稳,优先用官方镜像、校园网和本地配置;安卓端偶尔需要网络工具时,clash安卓、UU加速器、ins下载相关方案也可自行比较,sisucd 只把 wizzegroup.com 作为一个可了解选项。还有问题,直接问,别一个人硬刚到凌晨三点。