如何在linux环境下使用r语言

Python015

如何在linux环境下使用r语言,第1张

1、下载

wget http://mirror.bjtu.edu.cn/cran/src/base/R-3/R-3.0.1.tar.gz

2、解压:

tar -zxvf

R-3.0.1.tar.gz

cd R-3.0.1

3、安装 (当然也可以跳过)

yum

install readline-devel

yum install libXt-devel

./configure

4、 配置环境并编译安装

#

如果使用rJava需要加上 --enable-R-shlib

(这个我不需要,所以加入到后面)

# 如果3没安装, 那么后面加上: --with-readline=no

--with-x=no

./configure --prefix=/usr/R-3.0.1

make $$ make install

5、配置环境变量并生效

vi

.bash_profile

export R_HOME=/usr/R-3.0.1

export PATH=.:$R_HOME/bin:$PATH

# 试环境变量生效

source .bash_profile

6、 命令行测试

[admin@JD

software]$ R

WARNING: ignoring environment value of R_HOME

R version 3.0.1 (2013-05-16) -- "Good Sport"

Copyright (C) 2013 The R Foundation for Statistical Computing

Platform: x86_64-unknown-linux-gnu (64-bit)

R是自由软件,不带任何担保。

在某些条件下你可以将其自由散布。

用'license()'或'licence()'来看散布的详细条件。

R是个合作计划,有许多人为之做出了贡献.

用'contributors()'来看合作者的详细情况

用'citation()'会告诉你如何在出版物中正确地引用R或R程序包。

用'demo()'来看一些示范程序,用'help()'来阅读在线帮助文件,或

用'help.start()'通过HTML浏览器来看帮助文件。

用'q()'退出R.

>q()

7、创建脚本测试(t.R)

cd

/opt/script/R

vim t.R

#!/path/to/Rscript

#第一行

x<-c(1,2,3)

#R语言代码

y<-c(102,299,301)

model<-lm(y~x)

summary(model)

8、测试:执行脚本

R CMD BATCH

--args /opt/script/R/t.R

more

/opt/script/R/t.Rout

#查看执行的结果

或者第二种方式

Rscript

/opt/script/R/test.R

#结果直接输出到终端

基于R语言的数据标准化处理脚本

数据标准化(Normalization)

将数据按比例缩放,使之落入一个小的特定区间。去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。

数据标准化处理主要包括数据同趋化处理和无量纲化处理两个方面。

数据同趋化处理主要解决不同性质数据问题,对不同性质指标直接加总不能正确反映不同作用力的综合结果,须先考虑改变逆指标数据性质,使所有指标对测评方案的作用力同趋化,再加总才能得出正确结果。

数据无量纲化处理主要解决数据的可比性。数据标准化的方法有很多种,常用的有“最小—最大标准化”、“Z-score标准化”和“按小数定标标准化”等。经过上述标准化处理,原始数据均转换为无量纲化指标测评值,即各指标值都处于同一个数量级别上,可以进行综合测评分析。

min-max标准化(Min-max normalization)

也叫离差标准化,是对原始数据的线性变换,使结果落在[0,1]区间,转换函数如下:

正向指标:(x-min)/(max-min)

负向指标:(max-x)/(max-min)

其中max为样本数据的最大值,min为样本数据的最小值。这种方法有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。

R语言实现

# 标准化处理

min.max.norm <- function(x){

((x-min(x))/(max(x)-min(x)))

} #正向指标

max.min.norm <- function(x){

((max(x)-x)/(max(x)-min(x)))

} #负向指标

data_1 <- apply(data[,-c(3,4)],2,min.max.norm) #正向指标处理

data_2 <- apply(data[,c(3,4)],2,max.min.norm) #负向指标处理

#注意array只能用在二维及以上

data_t <- cbind(data_1,data_2)