R(01):第二章:2.2数字、字符与向量(1)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/genome_denovo/article/details/81915608

《统计建模与R软件》薛毅

第2章 R软件的使用

2.1 R软件简介

2.1.1 R软件的下载与安装

Mac电脑上的R软件的安装:
R的下载地址:https://cran.r-project.org/
进入之后点击:Download R for (Mac) OS X
选择Lastest release中的R-3.5.1.pkg,下载后直接安装即可。

2.1.2 初始R软件

打开软件后,可在交互模式下,输入命令,在“>”内输入命令。
“#”表示说明语句字符;
“<-”表示赋值,“c()”表示数组,“X1<-c()”表示将一组数组赋值给变量X1。
例如:
> X1 <- c(1,2,3,4)
> X1
[1] 1 2 3 4
“mean()”是求均值函数,“mean(X1)”表示计算数组X1的均值。
> mean(X1)
[1] 2.5
“[1] 2.5”是计算结果,这里“[1]”表示第一行,2.5时计算出的数值
上述过程中的“>”号,时计算机提示符。

2.2 数字、字符与向量

**总结**:x是变量名,<-表示赋值,c()表示函数,加减乘除乘方整除取余数都是向量的分量进行计算,不同长度的向量之间计算要补齐,计算有关的函数有,min, max, which.min, which.max, sum, prod, length, median, mean, var, sd, sort;分别表示取最小,最大,最小分量编号(这里是从1开始计数),最大分量编号,求和,连乘积,长度,中位数,均值,方差,标准差,排序。

2.2.1 向量

1. 向量的赋值

赋值操作以“<-”来完成,例如:
> x <- c(10.4, 5.6, 3.1, 6.4, 21.7)
其中x是向量名,<-为赋值符,c()为向量建立函数;则将函数c()中数据赋值给向量x;
另外一个赋值函数是assign(),其命令形式为:
> assign("x", c(10.4, 5.6, 3.1, 6.4, 21.7))
第三种形式为:
> c(10.4, 5.6, 3.1, 6.4, 21.7) -> x
也可以将一个变量加上另外一些数值,再赋值给另外一个变量:
> y <- c(x, 0, x)
> y
[1] 10.4 5.6 3.1 6.4 21.7 0.0 10.4 5.6 3.1 6.4 21.7
前面是变量x的值,中间是0,后面是变量x的值。

2. 向量的运算

对于向量可以作加(+)减(-)乘(*)除(/)和乘方(^)运算,其含意是对向量的每一个元素进行运算,其中加、减和乘除运算与我们通常的向量运算基本相同,例如:
> x <- c(-1, 0, 2); y <- c(3, 8, 2)
> x
[1] -1 0 2
> y
[1] 3 8 2
> v <- 2*x+y+1;v
[1] 2 9 7
表示x向量的各个分量都乘以2,再加上y的各个分量,相加时是对应位置的分量进行相加,同时各个分量都加1;

这里讲到两个向量相加或相减,有一定的规则,如果两个向量长度相同,则最终的结果是对应位置的分量相加:
> x <- c(-1, 0, 2); y <- c(3, 8, 2)
> x + y
[1] 2 8 4
结果是-1 + 3 = 2;0 + 8 = 8;2 + 2 = 4;
但如果两个向量长度不相同,则最终的结果除了对应位置的分量相加外,短的向量的分量还要进行多次运算,并且会提示Warning信息:
> x <- c(-1, 0, 2); y <- c(3, 8)
> x + y
[1] 2 8 5
Warning message:
In x + y : 长的对象长度不是短的对象长度的整倍数
结果是-1 + 3 = 2;0 + 8 = 8;2 + 3 = 5;这里的y向量的“3”被用作两次,直到补齐x向量的长度。

对于向量的乘法、除法、乘方运算,其意义是对应向量的每个分量作乘法、除法和乘方运算,例如:
> x <- c(-1, 0, 2); y <- c(3, 8, 2)
> x
[1] -1 0 2
> y
[1] 3 8 2
> x*y
[1] -3 0 4
> x/y
[1] -0.3333333 0.0000000 1.0000000
> x^2
[1] 1 0 4
> y^x
[1] 0.3333333 1.0000000 4.0000000
另外,%/%表示整数除法(5%/%3为1),%%表示取余数(5%%3为2)
向量也可以进行函数运算,实现加减乘除的运算;
exp(1)自然常数,exp(3)自然常数e的3次幂,sqrt(c)平方根,abs(c)绝对值;函数运算是对向量的每一个分量取相应的函数值:
> x
[1] -1 0 2
> exp(x)
[1] 0.3678794 1.0000000 7.3890561
> abs(x)
[1] 1 0 2

3. 与向量运算有关的函数

(1)求向量的最小值、最大值和范围的函数
min(x),max(x),range(x)分别表示求向量x的最小分量、最大分量和向量x的范围,即[min(x), max(x)],例如:
> x <- c(10, 6, 4, 7, 8)
> min(x)
[1] 4
> max(x)
[1] 10
> range(x) #最小值到最大值之间的范围
[1] 4 10
与min(),max()有关的函数是which.min(),which.max(),表示在第几个分量求到最大值和最小值,例如:
> x <- c(10, 6, 4, 7, 8)
> which.min(x)
[1] 3
> which.max(x)
[1] 1
特别注意:这里的分量表示是从1开始计数的,而其他语言是从0开始计数的。
(2)求和函数、求乘积函数、求向量长度函数
sum(x)表示求向量x分量之和
prod(x)表示求向量x分量连乘积
length(x)表示求向量x分量的个数
例如:
> x <- c(10, 6, 4, 7, 8)
> sum(x)
[1] 35
> prod(x)
[1] 13440
> length(x)
[1] 5
(3)中位数、均值、方差、标准差、顺序统计量
median(x)表示求向量x分量中位数
mean(x)表示求向量x分量均值,即sum(x)/length(x)
var(x)表示求向量x分量方差,即var(x)=sum((x-mean(x))^2)/(lenght(x)-1)
sd(x)表示求向量x分量标准差,即sd(x)=sqrt(var(x))
sort(x)表示求向量x分量求与向量x大小相同,按递增顺序排列的向量,即顺序统计量;
例如:
> x <- c(10, 6, 4, 7, 8)
> median(x)
[1] 7
> mean(x)
[1] 7
> var(x)
[1] 5
> sd(x)
[1] 2.236068
> sort(x)
[1] 4 6 7 8 10

猜你喜欢

转载自blog.csdn.net/genome_denovo/article/details/81915608