9.向量的运算

9.1数值运算

> x <- 1:10  
> x
 [1]  1  2  3  4  5  6  7  8  9 10
> x+1 #x向量中的每个元素都加1
 [1]  2  3  4  5  6  7  8  9 10 11
> x-3  #x向量中的每个元素都减3
 [1] -2 -1  0  1  2  3  4  5  6  7
> x <- x+1  #把x+1值重新赋给x
> x
 [1]  2  3  4  5  6  7  8  9 10 11
> y <- seq(1,100,length.out=10)  seq函数定义1到100,相隔10的向量y
> y
 [1]   1  12  23  34  45  56  67  78  89 100
> x+y  #x+y 一一对应相加
 [1]   3  15  27  39  51  63  75  87  99 111
> x*y  #x+y 一一对应相乘
 [1]    2   36   92  170  270  392  536  702  890 1100
> x
 [1]  2  3  4  5  6  7  8  9 10 11
> y
 [1]   1  12  23  34  45  56  67  78  89 100
> x**y  #x+y 一一对应幂运算
 [1]  2.000000e+00  5.314410e+05  7.036874e+13  5.820766e+23
 [5]  1.039456e+35  2.115876e+47  3.213876e+60  2.697216e+74
 [9]  1.000000e+89 1.378061e+104
> y%%x   #y除以x求余
 [1] 1 0 3 4 3 0 3
> y%/%x  #y除以x求整
 [1] 0 4 5 6 7 8 8 8 8 9
####x和z的向量中元素不等的情况下
> z <- c(1,2)
> x
 [1]  2  3  4  5  6  7  8  9 10 11
> x+z   #z 向量中的元素是x的整数倍,z中的元素以循环的方式与x中元素相加
 [1]  3  5  5  7  7  9  9 11 11 13
> z
[1] 1 2
> x*z z中的元素以循环的方式与x中元素相乘
 [1]  2  6  4 10  6 14  8 18 10 22
> z <- 1:3    
> z         #z 向量中的元素不是x的整数倍
[1] 1 2 3
> x   
 [1]  2  3  4  5  6  7  8  9 10 11
> x+z     #z 向量中的元素不是x的整数倍,不能进行运算
 [1]  3  5  7  6  8 10  9 11 13 12
Warning message:
In x + z : 长的对象长度不是短的对象长度的整倍数

9.1逻辑运算

> x
 [1]  2  3  4  5  6  7  8  9 10 11
> x>5
 [1] FALSE FALSE FALSE FALSE  TRUE  TRUE  TRUE  TRUE  TRUE  TRUE
> y
 [1]   1  12  23  34  45  56  67  78  89 100
> x>y
 [1]  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
> c(1,2,3) %in% c(1,2,3,4,5,6)  #判断向量(1,2,3)的元素是否在向量(1,2,3,4,5,6)中
[1] TRUE TRUE TRUE
> c(1,2,3) %in% c(1,2,2,4,5,6)   #判断向量(1,2,3)的元素是否在向量(1,2,2,4,5,6)中
[1]  TRUE  TRUE FALSE
> x == y   #判断向量x和y是否相等
 [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

注:%in% 是很常用的判断一个向量元素是否在一个向量中的方法

9.3 常用的函数

序号 函数 作用
01 abs(x) 求绝对值
02 sqrt(x) 求平方根
03 log(16,base=2) 16为要求的值,base为底数,不加base默认为自然对数
04 exp(x) 计算x的指数
05 ceiling(x) 返回不小于x的最小整数
06 floor(x) 返回不大于x的最大整数
07 trunc(x) 返回整数部分
08 round(x,digits=2) 四舍五入,digits=2指保留两位小数
09 signif(x,digits=2) 与round函数类似,只不过保留的是有效数字为2
10 sin(x),cos(x),tan(x) 三角函数的运算

9.4 常用的统计函数

序号 函数 作用
01 sum(x) 求和
02 max(x) 返回向量x最大的元素
03 min(x) 返回向量x最小的元素
04 range(x) 直接返回最大值和最小值
05 mean(x) 返回向量的均值
06 var(x) 返回向量的方差
07 sd(x) 返回向量的标准差
08 prod(x) 求向量连乘的积
09 media(x) 计算中位数
10 quantile(x,c(0.4,0.5,.0.8) 分别计算x向量中的4分位数,中位数和8分位数
11 which.max(x) 返回x向量中最大值所在的位置(索引值)
12 which.min(x) 返回x向量中最小值所在的位置(索引值)
13 which(x==7) 向量x中等于7的元素的位置(索引值)
14 which(x>5) 向量x中大于7的元素的所有位置(索引值)

你可能感兴趣的:(9.向量的运算)