在 R 中,.rdata 文件是通过 save() 函数创建的。
- 使用 save() 函数可以将一个或多个 R 对象保存到 .rdata 文件中。
- 使用 load() 函数可以将 .rdata 文件中的对象恢复到当前工作环境中。
1.创建并保存对象到.rdata
假设有一个基于 iris 数据集训练的线性回归模型,并希望将其保存到一个 .rdata 文件中:
# 加载必要的包
library(tidymodels)
# 使用 iris 数据集训练一个简单模型
set.seed(123) # 设置随机种子以确保结果可重复
model <- linear_reg() %>%
set_engine("lm") %>%
fit(Sepal.Length ~ Petal.Width, data = iris)
# 查看模型摘要
summary(model)
# 将模型保存为 .rdata 文件
save(model, file = "models/tidymodels_iris.rdata")
- 使用 tidymodels 包中的 linear_reg() 函数训练了一个线性回归模型。
- 使用 save() 函数将模型对象(model)保存到 models/tidymodels_iris.rdata 文件中。
2.保存多个对象到同一个.rdata 文件
# 创建一些额外的对象
predictions <- model %>% predict(new_data = iris)
metrics <- metrics(truth = iris$Sepal.Length, estimate = predictions$.pred)
# 将模型、预测值和评估指标一起保存
save(model, predictions, metrics, file = "models/tidymodels_iris.rdata")
- models/tidymodels_iris.rdata 文件中将包含三个对象:model、predictions 和 metrics。
3.加载并检查保存的内容
# 加载 .rdata 文件
load("models/tidymodels_iris.rdata")
# 查看工作环境中的对象
ls()
# 检查某个对象的具体内容
summary(model)
head(predictions)
print(metrics)
4.注意事项
- 路径问题:确保保存和加载文件时的路径是正确的。如果路径不正确,R 可能无法找到文件。
- 对象命名:保存到 .rdata 文件中的对象名称会被保留。因此,在加载文件后,可以直接通过名称访问这些对象。
- 版本兼容性:.rdata 文件是二进制格式,可能依赖于 R 的版本和操作系统。尽量在同一环境中保存和加载文件。