本节摘要:开工前先备齐工具。R 是引擎,RStudio 是驾驶舱;本节完成两者的安装与初始配置,认清四个工作面板,并执行第一批勘验命令,为鸢尾花案立案做好一切准备。
只装 R 也能干活——那个原始控制台白底黑字,能用,但像在毛坯房里办案。RStudio 是叠在 R 之上的集成开发环境:脚本编辑、命令执行、变量查看、绘图输出一屏排开。引擎和驾驶舱的关系记住了,后面就不会装混:先装 R,再装 RStudio,顺序反了 RStudio 会找不到引擎。
安装来源只有一句话:R 从其官方综合归档网络下载,RStudio 从其官方站点下载桌面版,都选适合自己操作系统的安装包,一路默认即可。写到这里不放链接,是因为平台不允许,搜索引擎里两个名字都是第一位。
装好后打开 RStudio,在控制台(Console)里试着执行这几条,确认引擎运转正常:
# 查看版本,确认引擎装好了 R.version.string # 最简单的一次计算——R 控制台就是一台超级计算器 2 + 3 * 4 # 你的第一个"证据登记":把结果存起来 case_id <- "IRIS-1936" case_id
<- 是 R 的赋值箭头,读作"把右边的东西登记到左边的名下"。用 = 也能赋值,但 R 社区的手记传统是用箭头,方向感更明确。
| 面板 | 破案时的角色 |
|---|---|
| Console | 口头问话:敲一条命令立刻拿到回答 |
| Source | 笔录本:写成脚本可反复重放、可存档 |
| Environment | 证物柜:当前登记了哪些变量、数据框 |
| Files / Plots / Packages | 案卷管理、证据图展示、工具借用登记 |
⚠️ 常见坑:在 Console 里敲的命令关掉就没了。凡是值得保留的勘验步骤,都写进 Source 脚本再整体执行——脚本是可复查的笔录,控制台只是草稿纸。
getwd() 查看、setwd() 修改,或在 RStudio 里通过菜单设定;建议每个案子单建一个文件夹。install.packages("ggplot2") 是把工具买回家(一次即可),library(ggplot2) 是每次办案时把工具摆上桌(每个会话都要)。?mean 弹出函数说明书,??regression 做关键词全文检索。💡 关键直觉:把 RStudio 当成"案卷工作台"而不是"代码编辑器",你会自然养成脚本化、可复现的分析习惯——这正是数据分析和随手算一算的本质区别。
光有引擎和驾驶舱还不够,勘验至少要配三个包:tidyverse(数据整理全家桶)、ggplot2 已含其中,另加一个 datasets 自带不用装。下面这段脚本完整演示包的"采买—清点—借用—归还"全流程,建议原样跑一遍:
# 1. 采买:一次买齐,装过就跳过(加了判断,重复执行不报错) need <- c("tidyverse", "skimr") for (p in need) { if (!requireNamespace(p, quietly = TRUE)) { install.packages(p) } } # 2. 清点:看看证物柜里已经有哪些包、装在哪个位置 head(installed.packages()[, c("Package", "Version")], 5) .libPaths() # 包的实际存放位置,迁移电脑时要记得这里 # 3. 借用:每场办案开始时把工具摆上桌 library(skimr) # 4. 归还:从当前会话移出(包还在硬盘上,下次还能借) detach("package:skimr", unload = TRUE)
输出里 installed.packages() 是一张 包名 + 版本 的大表,head(..., 5) 只看前 5 行。真跑一次这四步,install 与 library 的区别就再也忘不掉了——一个是往硬盘写,一个是往内存读。
新手第一周几乎都会撞上这几类故障,这里按"报错原文 → 病因 → 处置"整理成速查条目:
1. 报错:unable to access index for repository ... 病因:默认镜像在国外,网络不稳。 处置:换国内镜像。install.packages 之前先执行 options(repos = c(CRAN = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/")) 2. 报错:there is no package called 'xxx' 病因:包没装就 library,或者装到了另一个 R 版本的库里。 处置:先 requireNamespace 检查;升级 R 后旧包不跟走,需要重装。 3. 警告:package 'xxx' was built under R version 4.x.y 病因:包编译时的 R 版本比当前旧。 处置:多数情况只是警告可忽略;若运行报错,update.packages() 一把梳过。 4. 现象:RStudio 打开后 Console 一直转圈 病因:R 没装或装坏了,RStudio 找不到引擎。 处置:Tools 里 Global Settings 检查 R 版本指向,必要时重装 R。
这张排错表的价值在于"先看报错原文再动手"——R 的报错信息精确度很高,把原文整句贴进搜索引擎,命中率远高于自己描述症状。
library() 函数名是历史遗留,实际动作是"加载",别被字面意思带偏。attach(iris) 是把数据框的列名挂到搜索路径上,方便直接写 Sepal.Length,但容易引发"同名覆盖"悬案,团队协作代码里一律禁用。<- 赋值:R 的证据登记动作,社区惯例优先于等号