很多人一听“统计学习”就觉得头大,以为非得数学博士才能搞明白。其实真不是这样。比如你平时想分析一下自己记账数据里的消费规律,或者看看公司销售数据有没有什么趋势,R 就是个趁手的工具。
为什么选 R?
R 本来就是为统计分析生的,它不像 Python 那样啥都能干,但干统计这件事,它特别专注。像线性回归、聚类分析、主成分分析这些方法,在 R 里几行代码就能跑出来。而且它自带的数据可视化能力很强,画个箱线图、散点矩阵图都不在话下。
从装包开始
R 的扩展靠“包”来实现。比如你想做机器学习相关的分析,caret 包就很实用,它把很多模型的训练流程统一了。安装也简单:
install.packages("caret")
library(caret)
再比如处理数据常用的 dplyr,能让你像写日常语言一样筛选、分组、汇总数据:
library(dplyr)
data %>%
filter(sales > 1000) %>%
group_by(region) %>%
summarise(avg_sale = mean(sales))
动手做个简单预测
假设你手里有过去一年的月销售额,想试试看能不能用广告投入来预测销量。这种场景就适合用线性回归。
# 假设你的数据叫 sales_data
model <- lm(sales ~ ad_spend, data = sales_data)
summary(model)
运行完你会看到每个变量的显著性、R² 值这些指标。如果系数是正的,说明广告花得多,销量确实可能跟着涨。你还能用这个模型去预测下个月的情况:
new_data <- data.frame(ad_spend = 5000)
predict(model, new_data)
别怕报错
刚开始写 R 代码,最常见的是“找不到对象”或者“数据类型不匹配”。比如你读了个 CSV 文件,结果发现某一列本该是数字,却成了字符型。这时候可以用 as.numeric() 转一下。出错不可怕,关键是看懂提示信息,一步步调试。
还有人习惯直接在控制台敲命令,建议还是用 RStudio 写脚本。一边写一边运行,改起来方便,以后复现也省事。
真实场景中的小技巧
你在分析用户行为数据时,可能会遇到缺失值。R 里用 NA 表示空值。直接做分析会出问题,得先处理。比如用均值填充:
sales_data$age[is.na(sales_data$age)] <- mean(sales_data$age, na.rm = TRUE)
或者干脆删掉缺失太多的行:
clean_data <- na.omit(sales_data)
这些操作看着琐碎,但在真实项目里天天碰得到。
学 R 统计学习,不用一开始就啃大部头理论。找点自己感兴趣的小数据,比如健身打卡记录、打车费用、甚至外卖订单,拿 R 试一试,慢慢就上手了。