【发布时间】:2016-11-25 17:00:15
【问题描述】:
当读取 .rdata 文件中保存的对象时,是否有可能定义一个加载的库。例如:运行后:
library(data.table)
dt1 = data.table(a=1:10,b=letters[1:10])
save(dt1,file="dt.rdata")
dt1 保存为 dt.rdata。
唉,当将该文件读入原始 R 会话时(例如,通过在 Windows 资源管理器中双击该文件)dt1 可用,但相应的 data.table 命令只能在发出附加命令后使用
library(data.table)
在新打开的 R 会话中。是否有某种方法可以在数据文件中定义,在读取相应文件之前/之后要加载某些包或执行某些其他命令?
【问题讨论】:
-
也许最简单的方法是将其放入一个函数中。像
myReader <- function(fileName) {; require(data.table); load(fileName);};这样的东西。然后读入数据myReader("dt.rdata")。 -
双击文件并不能完全使其成为可重现分析工作流程的一部分。 “一次性”很好,但根据我的经验,“一次性”很快就会充满脚本并拥有所有适当的脚手架(
library()调用,设置默认值,数据读取部分,数据清理部分,EDA 、模型、图表)从长远来看可以省去很多麻烦。
标签: r packages autoloader data-files