赋值语句和运算
给向量赋值:
>x<-c(1,2,3,4,5)
这个语句表示给一个有五个元素的向量x复制(1,2,3,4,5),之后可以进行向量的操作,比如x乘以2就是:
>x*2
向量的运算:
向量与向量可以做运算,运算时用到的向量不需要长度相等,长度比较短的向量会自动重复利用,比如在上个例子中,我们在定义一个向量y:
>y<-c(5,4,3,2,1,5,4,3)
然后我们定义一个空向量z,让z=2x+y
>z<-c(2*x+y)
最后打出z的值为:
> z
[1] 7 8 9 10 11 7 8 9
[1] 7 8 9 10 11 7 8 9
此外一般的普通函数都能适用,log,exp,sin,cos等等,计算中按照双精度的实数或复数进行。下面解释一下常用的几个函数:
range返回向量的区间,即长度为2的向量
length()返回向量的长度
prod是所有元素的乘积
mean是元素平均数
var代表元素的方差
用户可能会想,手动的输入数字太麻烦了,R语言中有很多可以规则产生向量的方法,比如上面的x赋值语句也可以写作:
>x<-c(1:5)
或者是使用seq函数,seq一共有四个参数分别是(from, to, by, length),最后两个参数代表步长和长度。
则x赋值语句可以写成:
> x<-seq(1,5,by=1)
向量的逻辑判断
这部分的语法和c语言大同小异,不做赘述了。比如说该语句
> temp<-x>13
表示定义一个temp向量并把x向量赋给temp,之后在进行条件判断temp里的每一个元素是否大于13,输出结果为:
[1] FALSE FALSE FALSE FALSE FALSE
字符向量
字符向量常见于图表的标签,用引号定义(单双都可),转义符和c语言基本一样。字符向量可以通过函数c()连接。
例题:
读下表
保险号 | 年收入 | 年龄 | 种族 |
12349878 | 28000 | 35 | W |
67850097 | 29500 | 37 | B |
12780945 | 35100 | 40 | W |
80471547 | 26500 | 31 | W |
(1) 计算平均收入和平均年龄。
(2)计算其纳税额度,假设税率是30%,按照保险号的顺序打印结果,并呈现年收入和税额