专栏名称: 生信媛
生信媛,从1人分享,到8人同行。坚持分享生信入门方法与课程,持续记录生信相关的分析pipeline, python和R在生物信息学中的利用。内容涵盖服务器使用、基因组转录组分析以及群体遗传。
目录
相关文章推荐
51好读  ›  专栏  ›  生信媛

如何通过一个沙雕操作让R每次启动都提示报错

生信媛  · 公众号  · 生物  · 2019-10-16 21:54

正文

请到「今天看啥」查看全文


导读 :很多编程语言在运行的时候都会依赖一些环境变量,比如说LD_LIBRARY_PATH用于设置动态库,PERL5LIB 用于设置Perl语言加载的库,PYTHONPATH显然是Python语言的。这些环境变量的不当设置很有可能会导致你的程序启动失败,而这篇是关于R语言的。



最近,每次启动R,还没执行任何操作都会提示我: Error in loadNamespace(name) : there is no package called ‘untils’
不论是服务器上:
还是Rstudio-server上:
据我推测,这说明可能是解释器的原因。
但是Google检索压根就没有 Untils 这个包,只有 utils 这个包….
经过洲更和熊大神的指点,推测是在一些R自动读取的文件里写了不该写的东西,例如 Rprofile 或者R安装的 etc 目录下的文件。
果然: 我在home目录下的Rprofile中将utils写成了untils。 然后将untils改回utils后一切恢复正常!
什么是Rprofile

每次R启动时,一堆文件会以特定的方式被读进来。 这些文件的内容决定了R如何执行计算。 所以需要注意谨慎编辑这些文件,因为这些文件的改变可能会使得当前版本的R跟其他版本的R产生不同的结果,从而降低代码的重现性。
在R启动的过程中,有3个文件夹下的文件是比较重要的
R_HOME , R的安装目录,其中etc的子目录下包含了R早期启动用到的文件。 通过R.home() 命令找到该文件夹。
HOME ,用户的家目录,通常linux/unix系统该目录在/home/username/,Windows系统在C:\Users\username。 通过执行path.expand("~")可找到该目录文件夹。
R的 当前工作文件夹 ,getwd()。
上述三个文件夹下的内容的优先顺序是 当前工作文件夹>HOME> R_HOME ,每次R都以这个特定顺序在这三个位置下找Rprofile。
那么Rprofile类似于bash_profile,可以进行一些R的个性化设置:
1.  设置默认参数
2.  设置镜像,比如分别设置bioconductor和 cran的镜像

3.  个人常用的功能函数
通常我们需要避免在注意在起始文件全如局Rprofile和Rprofile.site中加入一些特殊内容,比如stringsAsFactors = TRUE,这样会使得别人用我们代码时会将字符串转换成字符向量而不是因子,出现严重问题。






请到「今天看啥」查看全文