R语言基础系列前情提要:R中许多操作可以通过向量化变得更加简洁,我来为大家科普一下关于r语言向量相减?下面希望有你要的答案,我们一起来看看吧!
r语言向量相减
R语言基础系列前情提要:
- 1数据类型(向量、数组、矩阵、 列表和数据框)
- 2读写数据所需的主要函数、与外部环境交互
- 3数据筛选——提取对象的子集
R中许多操作可以通过向量化变得更加简洁。
例如将两个向量加在一起:
> x <- 1:4
> y <- 6:9
> z <- x y
> z
[1] 7 9 11 13
相比写循环更加简便:
> x <- 1:4
> y <- 6:9
> w <- numeric(length(x))
> for(i in seq_along(x)) {
w[i] <- x[i] y[i]
}
> w
[1] 5 7 9 11
另外还可以有其他运算:
> x <- 1:4
> y <- 6:9
> x - y
[1] -5 -5 -5 -5
> x * y
[1] 6 14 24 36
> x / y
[1] 0.1666667 0.2857143 0.3750000 0.4444444
类似地,对矩阵也可以有相似的操作:
注: x*y 和 x/y 是两个矩阵相应元素之间的乘除, x%*%y 是矩阵乘法的符号。
> x <- matrix(1:4, 2, 2)
> y <- matrix(rep(10, 4), 2, 2)
> x
[,1] [,2]
[1,] 1 3
[2,] 2 4
> y
[,1] [,2]
[1,] 10 10
[2,] 10 10
>
> ## element-wise multiplication
> x * y
[,1] [,2]
[1,] 10 30
[2,] 20 40
>
> ## element-wise division
> x / y
[,1] [,2]
[1,] 0.1 0.3
[2,] 0.2 0.4
>
> ## true matrix multiplication
> x %*% y
[,1] [,2]
[1,] 40 40
[2,] 60 60
参考资料:
,
- https://bookdown.org/rdpeng/rprogdatascience/R Programming for Data Science
- 《R语言实战》 Robert I. Kabacoff