导读
:很多编程语言在运行的时候都会依赖一些环境变量,比如说LD_LIBRARY_PATH用于设置动态库,PERL5LIB 用于设置Perl语言加载的库,PYTHONPATH显然是Python语言的。这些环境变量的不当设置很有可能会导致你的程序启动失败,而这篇是关于R语言的。
最近,每次启动R,还没执行任何操作都会提示我:
Error in loadNamespace(name) : there is no package called ‘untils’
但是Google检索压根就没有
Untils
这个包,只有
utils
这个包….
经过洲更和熊大神的指点,推测是在一些R自动读取的文件里写了不该写的东西,例如
Rprofile
或者R安装的
etc
目录下的文件。
果然:
我在home目录下的Rprofile中将utils写成了untils。
然后将untils改回utils后一切恢复正常!
!
!
!
!
每次R启动时,一堆文件会以特定的方式被读进来。
这些文件的内容决定了R如何执行计算。
所以需要注意谨慎编辑这些文件,因为这些文件的改变可能会使得当前版本的R跟其他版本的R产生不同的结果,从而降低代码的重现性。
在R启动的过程中,有3个文件夹下的文件是比较重要的
R_HOME
, R的安装目录,其中etc的子目录下包含了R早期启动用到的文件。
通过R.home()
命令找到该文件夹。
HOME
,用户的家目录,通常linux/unix系统该目录在/home/username/,Windows系统在C:\Users\username。
通过执行path.expand("~")可找到该目录文件夹。
上述三个文件夹下的内容的优先顺序是
当前工作文件夹>HOME> R_HOME
,每次R都以这个特定顺序在这三个位置下找Rprofile。
那么Rprofile类似于bash_profile,可以进行一些R的个性化设置:
2. 设置镜像,比如分别设置bioconductor和 cran的镜像
通常我们需要避免在注意在起始文件全如局Rprofile和Rprofile.site中加入一些特殊内容,比如stringsAsFactors = TRUE,这样会使得别人用我们代码时会将字符串转换成字符向量而不是因子,出现严重问题。