R语言基础系列前情提要:R中许多操作可以通过向量化变得更加简洁,我来为大家科普一下关于r语言向量相减?下面希望有你要的答案,我们一起来看看吧!

r语言向量相减(R语言笔记4向量矩阵的数学运算)

r语言向量相减

R语言基础系列前情提要:

Vectorized Operations

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

参考资料:

  1. https://bookdown.org/rdpeng/rprogdatascience/R Programming for Data Science
  2. 《R语言实战》 Robert I. Kabacoff
,