Redhat下安装配置R程序

时间:2022-03-28 08:18:15

    主要是我在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是否配置成功
Redhat下安装配置R程序

3.       简单测试

查看你的R是否安装成功非常简单,直接R命令就能进入R的操作界面,至此R就可以正常使用了。

R #Linux操作指令
print("R has been successfullyinstalled.") #R操作界面下输入

Redhat下安装配置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>
Redhat下安装配置R程序
Redhat下安装配置R程序

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()信息就能知道了。

 

有任何问题建议欢迎指出!

转载请注明来源,谢谢!