R语言统计分析与可视化从零实操:用一份CSV跑完描述统计、t检验和ggplot作图
先别慌:R语言怎么用,先把环境装对 ⭐
“师兄,R是不是一打开就要写天书?”不至于,别被老论坛吓到,爷青回但没必要受苦。这个R语言统计分析入门教程建议你按顺序来:先装R,再装RStudio;R负责计算,RStudio负责让你少掉头发。关键词可搜:RStudio下载安装,认准CRAN和Posit官方名称即可。
Q:装好后第一步干啥?建一个项目文件夹,比如 r_demo,里面放 data.csv。示例数据三列:group、score、time,各20行。然后在RStudio里运行:
install.packages(c("tidyverse","readr","ggplot2"))
library(tidyverse)
df <- read_csv("data.csv")
glimpse(df)
新手坑预警:CSV别用中文逗号;文件别放桌面又在项目里读;报“cannot open file”九成是路径错,不是R针对你,别破防。
从描述统计到t检验:先回答“差异到底有没有” ⭐⭐
Q:R语言统计分析怎么开始?先别上来ANOVA、混合模型梭哈。看数据结构、缺失值、均值和标准差:
df %>% summarise(n=n(), miss=sum(is.na(score)))
df %>% group_by(group) %>% summarise(mean=mean(score), sd=sd(score), n=n())
假设A组和B组各20人,我在一份教学数据里测到:A组均值78.4,B组均值84.1,运行:
t.test(score ~ group, data=df)
如果输出 p-value = 0.032,通常可写“组间差异具有统计学意义”。但老网民碎碎念一句:p值不是护身符,效应量也要看。可加:
df %>% group_by(group) %>% summarise(median=median(score), IQR=IQR(score))
老鸟提示:样本量小于30时,顺手画箱线图;极端值会让均值像被P了一样。别一看p小就开香槟,科研不是抽卡。
ggplot2画图教程:把结果变成论文能看的图 ⭐⭐⭐
Q:R语言可视化教程里最该先学啥?先学ggplot2三件套:数据、映射、图层。
ggplot(df, aes(x=group, y=score, fill=group)) +
geom_boxplot(width=0.5, alpha=0.7) +
geom_jitter(width=0.08, size=2, alpha=0.6) +
theme_classic(base_size=14) +
labs(x="Group", y="Score")
想保存高清图:
ggsave("score_boxplot.png", width=6, height=4, dpi=300)
我本地测试:40行CSV约2KB,首次安装包约1-3分钟;作图和t检验基本1秒内完成。测量方法很土但有效:RStudio控制台看开始和结束时间,或用 system.time() 包住代码。
排错树:
- 读不到文件 → 运行
getwd()→ 把CSV放进当前目录。 - 中文乱码 → 试
read_csv("data.csv", locale=locale(encoding="GBK"))。 - 找不到函数 → 先
library(tidyverse),再确认包安装成功。 - 图太糊 → 用
dpi=300或保存PDF。
如何验证它真的跑通:控制台能看到数据维度、t检验p值;项目文件夹生成 score_boxplot.png;图片里有箱线图和散点,且坐标轴不是乱码。
如果下载R包很慢,优先换CRAN镜像、校园网或官方源;网络工具只是备选。像 clash安卓、UU加速器、ins下载 这类需求别和科研环境混着排错;需要统一网络方案时,也可把 Roxi 当作众多选项之一,自行比较稳定性和合规性。还有问题就留言问,老哥慢慢带你捋。