R语言最强大的方面之一就是函数的向量化,这些函数可以直接对向量的每个元素进行操作。例如:
- 对每个元素进行开方
> v<-c(4,3,8,16,7.3)
> v
[1] 4.0 3.0 8.0 16.0 7.3
> x<-sqrt(v)#计算每个元素的开方
> x
[1] 2.000000 1.732051 2.828427 4.000000 2.701851
- 向量之间的加和:
- > v1<-c(4,6,2)
> v2<-c(2,1,3)
> v1+v2
[1] 6 7 5- > v2<-c(2,1)
> v1<-c(4,6,2)
> v1+v2#若两个向量长度不一样,编译器会给出警告,但是不会出现错误。会遵循“循环原则”
[1] 6 7 4
警告信息:
In v1 + v2 : 长的对象长度不是短的对象长度的整倍数
- 循环原则(recycling rule):重复较短的向量,直到操作的两个向量大小相同:
- > v1<-c(4,6,2,1)
> v2<-c(2,1)
> v1+v2
[1] 6 7 4 2