R语言开发环境搭建与实践

R语言开发环境搭建与实践

R语言是统计领域广泛使用的诞生于1980年左右的S语言的一个分支。R语言的特点:

集统计分析与图形显示于一体的统计分析软件。

自由软件,完全免费并且开放源代码。

可编程语言,开放的统计编程环境,语法通俗易懂。所有R的函数和数据集是保存在程序包里面,只有当一个包被载入时,它的内容才可以被访问。

R具有很强的互动性。

R具有强大和自由的画图功能。

R语言安装程序安装后产生两种使用环境,终端命令行开发环境和RGui开发环境。

 

Rstudio软件是R开发语言的一个IDE,由于比较好用功能强大,所以使用R语言的一般都会装这个,它依赖R软件(必须先装了R之后,然后安装RStudio)。Rstudio比上面提到的终端命令行开发环境和RGui开发环境强大,如具有调试、可视化等功能,界面更友好。

 

下载R语言安装程序并安装

到R语言官网

https://www.r-project.org/

下载R语言,,参见下图:

R语言开发环境搭建与实践_第1张图片

 

R语言开发环境搭建与实践_第2张图片

 

R语言开发环境搭建与实践_第3张图片

 

R语言开发环境搭建与实践_第4张图片

R语言开发环境搭建与实践_第5张图片

 

找到下载的R语言安装程序:

打开安装R语言,参见下图:

R语言开发环境搭建与实践_第6张图片

 

打开RGui开发环境,参见下图:

R语言开发环境搭建与实践_第7张图片

 

 

下载RStudio安装程序并安装

 

到RStudio官网

https://rstudio.com/

下载RStudio,参见下图:

R语言开发环境搭建与实践_第8张图片

 

R语言开发环境搭建与实践_第9张图片

 

R语言开发环境搭建与实践_第10张图片

 

找到下载的RStudio安装程序

打开安装RStudio,参见下图:

注意R和rstudio这两个安装路径中不能有中文,必须在同一个父目录下。

R语言开发环境搭建与实践_第11张图片

 

打开RStudio开发环境,参见下图:

R语言开发环境搭建与实践_第12张图片

 

下面介绍简单使用

包括终端命令行的使用、RGui的使用、RStudio的使用

 

终端命令行的使用

R语言安装程序安装后有两种使用方法,终端命令行的使用和RGui开发环境的使用。

将R语言安装路径设置到path环境变量

我的R语言安装路是D:\Program Files\R\R-4.0.0\bin\x64

以windows10为例

右键此电脑,属性,高级系统设置,系统属性,在“系统变量”中,找到PATH,添加,参见下图:

R语言开发环境搭建与实践_第13张图片

 

在CMD中输入R -h可以获取R命令行帮助

R语言开发环境搭建与实践_第14张图片

 

在CMD中启动R命令提示符,打开CMD中输入R或r 回车(按下Enter键),其中“>”是R语言命令提示符。tab键提供了补全的功能,在命令提示符下输入开头几个字符后按两下tab键,会给出相应提示。参见下图:

R语言开发环境搭建与实践_第15张图片

 

输入print(20 + 11.6) ,显示如下图:

R语言开发环境搭建与实践_第16张图片

其前面的“[1]”是维度的表示,R语言实际是使用向量来进行数学运算的。

 

若想退出“>”状态, 输入q()命令 或 直接按下Ctrl+Z组合键,参见下图:

R语言开发环境搭建与实践_第17张图片

使用上下键可以在提示符后面切换刚才输入的命令,试试就知道是什么意思了。

 

在R语言环境中获得帮助信息很简单。一个是help函数,一个example函数。

比如需要plot的函数的用法,可以输入如下命令:

>help(plot)

如果你需要一些函数使用的例子,可以使用example函数。比如plot函数的例子,可以输入如下命令:

>example(plot)

 

 

R语言的基本运算量——向量

什么是向量

向量是一组“数”的有序集合。需要把握两点:

1.向量由一组“数”组成,“数”可以是一个也可以是多个;

2.这组“数”是有序的。

举个具体的例子:

(0,1,2)就是一个向量,它由0,1,2这三个“数”组成,并且这个三个“数”是有序的,也就是说(0,1,2)和(1,2,0)是两个不同向量。

在R语言中,这个“数”的概念比较广泛,可以数学上实数、复数,也可以是逻辑值,甚至是字符串。

【注意】R语言对复数的表示有一个点需要注意,就是像6+i这种要表示为6+1i,即复数单位前的系数不可省略。这个影响有时还是很大的,比如sqrt(-17)是非法的,因为负数是无法开平方的,但是sqrt(-17+0i)是合法的,有一些数学基础的人应该很容易看出其中的区别。

b1<-c(2+3i,1+2i)

b2<-c(10+1i,5+4i)

b1+b2

 

如何创建一个向量

1)基本式

x<-c(0,1,2)

 

2)连续式

y<-(0:4)

指定起止数,按间隔为1或者-1生成向量。这种方式可以使用c()函数也可忽略。

输入a<-0.1:3

 

3)连续式,可以指定间隔

a<-seq(1,3,0.5)

这里使用了seq函数

 

4)连续式,指定起始、间隔和长度

b<-seq(from=2,by=2,length=5)

从2开始,以间隔为2,生成长度为5的向量。

 

5)嵌套式

d<-3:5

e<-c(1,d,2,d)

这实际上是利用一个已知向量生成新的向量的方法。

 

6)重复式

f<-2:4

g<-rep(f,3)

重复式使用了rep函数。向量g其实等价于c(f,f,f),但是如果要重复100次,rep(f,100)显然比c(f,f……)方便许多。

 

h<-rep(f,each=2)

向量h是将向量f中的每个元素重复2次形成的。

 

7)切片式

i<-2:5

k<-4:80

m<-k[i]

向量k是一个很长的向量,有时我们只需要向量k的一部分。这时我们可以使用向量i对向量k进行切片。切片的方法是使用“[]”。如图,向量m就是我使用向量k的第一个到第四个元素生成的新向量。向量i不需要是1:4这种连续的形式,i<-c(1,10,50)也是正确的。

 

8)赋值式

q<-c(1,2,3)

q[1:2]<-c(5,6)

有时你可能需要改变向量中部分值,此时可以使用这种赋值的形式。

 

向量的运算

先看一个简单的例子:

x1<-c(5,3)

x2<-c(2,4)

x1-x2

在R语言中,运算都是以向量为基础的。比如我们先前提到的3*5,实际上,在计算时应理解为c(3)*c(5)。其结果15也是一个向量,即c(15)。

 

R语言向量的运算规则简单来说分三步:

1.将较短的向量补全,使运算符两侧的向量长度相等;

2.补全的规则是短向量重复,使其长度大于等于长向量,再按长向量的长度切片;

3.将两个向量中位置对应的两个元素,按运算符运算。

例子:

3*c(1,2,3)

3应理解为c(3),即图中的计算应理解为c(3)*c(1,2,3)。显然,c(3)的长度是1,而c(1,2,3)的长度是3,c(3)需要将长度补全为3,再进行计算。根据补全的规则,c(3)重复为c(3,3,3)。长度相等后,两者按位相乘,c(3*1,3*2,3*3),即c(3,6,9)。

 

又如:

c(2,3)*c(4,5,6)

看到警告信息了吧,两者长度不是整数倍。这种情况的运算过程中多了一个切片的动作,首先c(2,3)由于长度不够进行补全,为c(2,3,2,3),长度超过了3,就按长度3进行切片,变为c(2,3,2)。然后,c(2,3,2)*c(4,5,6)得到结果c(8,15,12)。

 

再如

x1<-c(2,4,6)

3*x1

 

函数运算也可以作用于向量。如:

sqrt(c(2,4,8))

sqrt是开方运算,上面的运算相当于c(sqrt(2),sqrt(4),sqrt(8))。

 

如何知道一个向量是由什么组成的呢?R语言提供了一个函数:mode(),此函数会返回一个字符串表示向量的类型

R语言开发环境搭建与实践_第18张图片

 

R语言同样提供了方法将不同类型的向量进行转换。比如想要将向量d1转换为一个由字符串组成的向量c1。

 

as对象还有许多其他的方法用于类型转换:

as.numeric()

as.logical()

as.charactor()

as.factor()

 

R语言数据类型

数值型 Numeric    如 100, 0, -4.335

双精度型 double

整型 integer

字符型 Character    如 “China”

逻辑型 Logical      TRUE, FALSE,NA

复数型 Complex      如3 + 2i

 

向量(Vectors) 使用c()函数创建向量,前面已经介绍过了。

 

列表(Lists)

列表是一个R对象,它可以在其中包含许多不同类型的元素,如向量,函数甚至其中的另一个列表。可以使用list()函数创建列表。

list1 <- list(c(2,5,3),21.3)

R语言开发环境搭建与实践_第19张图片

 

矩阵(Matrices)

矩阵是二维矩形数据集。可以使用矩阵matrix()函数的向量输入创建。

R语言开发环境搭建与实践_第20张图片

 

数组(Arrays)

数组函数使用一个dim属性创建所需的维数。 在下面的例子中,我们创建了一个包含两个元素的数组,每个元素为3x3个矩阵。

n <- array(c('green','yellow'),dim = c(3,3,2))

R语言开发环境搭建与实践_第21张图片

 

因子(Factors)

因子是使用向量创建的r对象。 它将向量与向量中元素的不同值一起存储为标签。 标签总是字符,不管它在输入向量中是数字还是字符或布尔等。 它们在统计建模中非常有用。

使用factor()函数创建因子。nlevels函数给出级别计数。

# Create a vector.

apple_colors <- c('green','green','yellow','red','red','red','green')

# Create a factor object.

factor_apple <- factor(apple_colors)

R语言开发环境搭建与实践_第22张图片

 

数据帧(Data Frames)

数据帧是表格数据对象。 与数据帧中的矩阵不同,每列可以包含不同的数据模式。 第一列可以是数字,而第二列可以是字符,第三列可以是逻辑的。 它是等长度的向量的列表。

使用data.frame()函数创建数据帧。

BMI <- data.frame(

   gender = c("Male", "Male","Female"),

   height = c(152, 171.5, 165),

   weight = c(81,93, 78),

   Age = c(42,38,26)

)

R语言开发环境搭建与实践_第23张图片

 

R语言流程控制语句

在R语言中,流程控制语句主要有if else、for、while、switch、repeat等,这些流程控制语句本身在许多语言中都是相似的如c语言,最重要的是注意其在不同语言中的语法特性。

ThreeMax<-function(a, b, c)

{

  if(a

    a = b

  }

  if(a>c){

    return (a);

  }

  else{

    return (c);

  }

}

 

d <- ThreeMax(5,6,3)

print(d)  //此句可简写为d

R语言开发环境搭建与实践_第24张图片

 

对R语言流程控制语句就简单的介绍到此吧。

R语言脚本

通过在脚本文件中编写程序来执行编程,可以重复使用。脚本文件以.R作为扩展名,不过这并不是必需的。在命令提示符下使用R解释器(称为Rscript)来执行这些脚本。在文本文件中编写下面的代码:

# My first program in R Programming——注释

myString <- "Hello, World!"

print ( myString)

保存文件名为test.R,保存在D:\R_language_script目录中,参见下图:

R语言开发环境搭建与实践_第25张图片

在CMD命令提示符下输入如下命令回车执行

Rscript D:\R_language_script\test.R

参见下图:

R语言开发环境搭建与实践_第26张图片

 

上面方法编写运行R语言脚本不太方便,一般利用RGui或RStudio。

 

RGui的使用

打开RGUI

R语言开发环境搭建与实践_第27张图片

 

建立新脚本:

R语言开发环境搭建与实践_第28张图片

 

 

R语言免费且开源,具有强大和自由的画图功能,R语言原生的绘图系统已经非常强大了,还有一系列的绘图辅助R包,比如著名的ggplot2,更是锦上添花。

【包是R语言发展至今最重要的因素。包其实就是一个一个的函数脚本,安装了一个包以后,你就可以使用这个包里数据或者函数。R语言写起来很快,所以很多科学家再研究出新算法新工具之后,都会第一时间发布一个R版本的工具。所以R语言再科学界的地位很高。

大部分R包的安装方法很简单:

install.package("XXX")

其中XXX是包名

使用installed.packages()可以看到各个包安装的路径,版本号等信息。

卸载删除包,使用remove. Packages()

详见https://www.cnblogs.com/brown-birds/p/8031734.html

现在简要介绍如何使用R语言利用scatterplot3d包作3D(3维)图形。

基本形式:

scatterplot3d(x, y, z, color= ,col.axis=" ", col.grid=" ", main=" ", sub= , xlab= , xlim=, pch= , scale.y= , angle= , type= )

参数:

color:设置点颜色

col.axis:设置坐标轴颜色

col.grid:设置网格颜色

main:设置主标题

sub:副标题

xlab、ylab、zlab/xlim:x、y、z轴标签/界限

pch:设置点的形状

scale.y:y轴相对于x轴、z轴的比例

angle:x、y轴角度

type:"p"点;"l"线;"h"垂线

 

建立一个脚本文件

library(scatterplot3d)  //加载scatterplot3d库

 #散点图是描述二元变量关系的图,如果需要一次性对三个变量交互关系进行可视化,可使用三维图

 #scatterplot3d(x,y,z),x绘制在横轴上,y绘制在竖轴上,z绘制在透视轴上

 z=seq(-10,10,0.01)

 x=cos(z)

 y=sin(z)

 scatterplot3d(x,y,z,highlight.3d = TRUE)

打开RGUI,点击菜单“文件→新建R脚本文件…”输入上面的代码,保存名称为test02.R,保存在D:\R_language_script目录中,参见下图:

R语言开发环境搭建与实践_第29张图片

 

运行报错及处理,参见下图:

R语言开发环境搭建与实践_第30张图片

 

加载缺失的包后,再次运行成功,参见下图:

R语言开发环境搭建与实践_第31张图片

 

对RGui的使用就介绍到这里吧。

 

RStudio的使用

打开RStudio

R语言开发环境搭建与实践_第32张图片

 

建立新脚本

R语言开发环境搭建与实践_第33张图片

 

有了上面的基础,对RStudio的使用应该不难,在此就不多说了,你可以探索使用。

 

 

进一步学习资源

https://blog.csdn.net/jeffery0207/category_7305915.html

https://blog.csdn.net/joshua_hit/category_6713875.html

https://blog.csdn.net/lilanfeng1991/category_2421117_2.html

https://www.zhihu.com/question/346865819

 

你可能感兴趣的:(R语言)