我正在研究R软件包,并且在尝试加载数据以供内部使用时非常糟糕。
软件包设置为LazyData: false
,数据本身位于params.csv
目录中名为data
的文件中。如果在我的一个函数中,我写了以下内容:
data(params, envir=environment())
然后文件加载,我可以在代码中使用它。 但如文档中所述,它加载了read.table(file, sep=";")
并且我有字符值,我不想将其视为因素。如果这是一次正常的read.table
通话,那么我会添加stringsAsFactors=FALSE
,一切都会好的。
?data
的注意部分建议您可以使用数据文件夹中的R文件手动执行此加载,但我无法弄清楚。我尝试在数据目录中创建一个名为params.r
的文件,如下所示:
read.table("params.csv", sep=";", stringsAsFactors=FALSE)
但加载时,R会抱怨找不到read.table
函数。同样,文档说data
在采购文件之前以某种方式加载utils
,但是当我在脚本开头添加标准library(utils)
调用时,它会抱怨utils
无法找到。
我甚至尝试在options(stringsAsFactors=FALSE)
来电之前设置data
,但这似乎也不起作用。数据仍然作为因素加载。
是否有任何包装专家知道如何解决这个问题?加载后我宁愿不必手动将所有内容整理成正确的格式;它似乎不太优雅。