主要是我在Redhat下开始尝试使用R时遇到的一些基本的问题,参考了很多文章,把自己的过程记录一下,留存。
1. 安装R
在Redhat下安装R程序有两种方式。一是下载编译安装,而是用yum安装。
yum安装
如果你的yum源能正常使用那么一条命令就能搞定:
yum install R
源码安装
你可能需要自己定义一些安装项,那么可以选择源码安装。但是yum可以自动帮你下载安装依赖包,直接源码安装的时候需要确定所有依赖的安装包都已经正常安装了。R安装前需要安装的一些依赖包主要是gcc编译器和命令行编辑的库。
参考:http://segmentfault.com/a/1190000000662687。
yum install gcc yum install gcc-gfortran yum install gcc-c++ yum install readline-devel yum install libXt-devel #联网,下载R软件 wget http://mirror.bjtu.edu.cn/cran/src/base/R-3/R-3.2.0.tar.gz#可以直接浏览器上层链接查看是否存在其他版本 tar -zxvf R-3.2.0.tar.gz #解压到当前路径下 cd R-3.2.0 #prefix参数可以设置R将要安装的路径,#enable-R-shlib可以保证lib目录下的动态库能够共享 ./configure --prefix=/usr/R-3.2.0--enable-R-shlib make make install
简单说明下./configure是生成Makefile,为下一步编译作准备,可以设置一些需要的参数。make是编译,make install则是安装。
参考:http://www.linuxidc.com/Linux/2011-02/32211.htm。
2. 配置环境
前面一步安装完后还不能直接用,需要配置R的环境。向~/.bash_profile文件中PATH路径下添加R的bin路径,例如我的电脑下需要添加的路径是/usr/R-3.2.0/bin,注意Linux系统下环境变量间用”:”分隔,配置完成后一定要记得source。
vim ~/.bash_profile #PATH=/usr/R-3.2.0/bin:$PATH:$HOME/bin source ~/.bash_profile echo $PATH #查看PATH是否配置成功
3. 简单测试
查看你的R是否安装成功非常简单,直接R命令就能进入R的操作界面,至此R就可以正常使用了。
R #Linux操作指令 print("R has been successfullyinstalled.") #R操作界面下输入
4. 运行R脚本
直接用命令行运行R脚本有R CMD和Rscript两种方式,区别是R CMD后台运行不会有输出,Rscript前台输出,更加详细的用法见参考。在R程序中运行R脚本则可用source()方法。
参考:http://www.360doc.com/content/11/1201/22/5013584_169013651.shtml。
R CMD BATCH /usr/R-3.2.0/workspace/test.R <span style="font-family: Arial, Helvetica, sans-serif;">#Linux操作指令</span> Rscript "/usr/R-3.2.0/workspace/test.R" <span style="font-family: Arial, Helvetica, sans-serif;">#Linux操作指令</span> source("/usr/R-3.2.0/workspace/test.R") <span style="font-family: Arial, Helvetica, sans-serif;">#R操作界面下输入</span>
test.R内容如下:
#!/usr/R-3.2.0/workspace setwd("/usr/R-3.2.0/workspace") print("#####################################") print("# 我是欢乐的测试程序! #") print("#####################################")
5. R移植
我是之前一直在windows下用R工作,最近有需求所以转战Redhat,但是新安装的R很多工作需要的软件包都没有,查了一下我自己电脑上R已经安装的软件包有118个,但是Redhat上刚刚装上的R才31个软件包,都是在安装程序时的默认安装项。要像平常一样一个个包安装肯定很费劲,所以各种找解决方案,找到了一个比较合适的方法。
最终参考:《R语言实战》附录H部分
首先,在自己电脑的R上:
oldip <- installed.packages()[,1] save(oldip,file="installedPackages.Rdata)
然后,从自己电脑R的工作目录下找到installedPackages.Rdata文件,上传到Redhat上你设置的R的工作目录下(Redhat下,默认的工作目录是/root),我这里是/usr/R-3.2.0/workspace。
最后,在Redhat下运行R脚本emigrate.R,脚本内容入下:
#!/usr/R-3.2.0/workspace setwd("/usr/R-3.2.0/workspace") load("installedPackages.Rdata") newip <- installed.packages()[,1] for(i in setdiff(oldip,newip)) install.packages(i)
可能有些包安装不成功需要另外配置环境或者手动下载源码在安装,查看warnings()信息就能知道了。
有任何问题建议欢迎指出!
转载请注明来源,谢谢!