1.清理环境
rm(list = ls())
gc()
rm(list = ls())
作用 :删除当前 R 工作环境中所有的对象(变量、函数、数据框等)。
解释 :
ls():列出当前环境中所有对象的名字。
list = ls():将这些名字作为一个列表传给 rm() 函数。
rm():移除这些对象。
效果:相当于"清空内存",让工作空间恢复到干净状态。
gc()
作用 :手动触发垃圾回收(garbage collection)。
效果 :
释放 R 不再使用的内存空间;
在处理大数据后运行 gc() 可以帮助释放内存资源;
虽然 R 会自动进行垃圾回收,但有时手动调用有助于优化性能或查看内存使用情况。
2.<-
符号的作用
R 语言中用于赋值
<-
和 =
的区别(在 R 中)
操作符 | 是否推荐 | 使用场景说明 |
---|---|---|
<- |
✅ 推荐 | 主要用于变量赋值,更符合 R 的风格 |
= |
✅ 可用 | 多用于函数参数赋值,也可用于变量赋值 |
小技巧
- 在 RStudio 中,可以用快捷键 Alt + - (Windows)或 Option + - (Mac)快速输入
<-
。 <-
是 R 社区的标准写法,许多 R 包、CRAN 文档和《R 语言定义》都推荐使用它
3.%>%符号的作用
是 R 语言中 magrittr
包提供的"管道操作符" ,它被广泛用于数据处理流程中,尤其是在 dplyr
、tidyr
等 tidyverse 包中。
中文解释:管道操作符 %>%
💡 类比理解:
你可以把 %>%
想象成英文中的 "然后(then) " 或中文里的 "接着做......"。
它把左边的结果 自动传给右边函数的第一个参数,从而让代码更清晰易读。
原始写法(嵌套函数):
result <- summary(mean(filter(data, age > 20)))
这种写法很难一眼看出执行顺序。
使用 %>%
改写:
library(dplyr) result <- data %>%
filter(age > 20) %>%
mean() %>%
summary()
这段代码的意思是:
- 从
data
开始; - 然后过滤出
age > 20
的数据; - 接着计算平均值;
- 最后输出统计摘要。
是不是更容易读懂了?
小技巧:%>%
和 .
占位符配合使用
如果你想把数据传到不是第一个参数的位置,可以用 .
明确指定位置:
"Hello" %>% paste(., "World") # 输出 "Hello World"
4.设置当前工作目录
script_path <- normalizePath(dirname(rstudioapi::getActiveDocumentContext()$path))
-
rstudioapi::getActiveDocumentContext()
:- 获取当前在 RStudio 中打开的文档(即正在运行的脚本)的信息。
- 返回的内容中包含文件路径
$path
。
-
dirname(...)
:- 提取该脚本文件所在的文件夹路径(去掉文件名部分)。
-
normalizePath(...)
:- 将相对路径转换为绝对路径;
- 并统一格式(如去除多余的
.
、..
等)。
-
整体作用:
-
把当前脚本所在文件夹的完整路径保存到变量
script_path
中。setwd(script_path)
-
-
设置当前工作目录(working directory)为刚刚获取的脚本所在目录。
-
这样你在脚本中使用相对路径读写文件时就不会出错。