分享

R语言笔记4:向量、矩阵的数学运算

 萌小芊 2018-03-14

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

Vectorized Operations

R中许多操作可以通过向量化变得更加简洁。

例如将两个向量加在一起:

  1. > x <- 1:4

  2. > y <- 6:9

  3. > z <- x + y

  4. > z

  5. [1]  7  9 11 13

相比写循环更加简便:

  1. > x <- 1:4

  2. > y <- 6:9

  3. > w <- numeric(length(x))

  4. > for(i in seq_along(x)) {

  5. + w[i] <- x[i] + y[i]

  6. + }

  7. > w

  8. [1]  5  7  9 11

另外还可以有其他运算:

  1. > x <- 1:4

  2. > y <- 6:9

  3. > x - y

  4. [1] -5 -5 -5 -5

  5. > x * y

  6. [1]  6 14 24 36

  7. > x / y

  8. [1] 0.1666667 0.2857143 0.3750000 0.4444444

类似地,对矩阵也可以有相似的操作:

注: x*yx/y 是两个矩阵相应元素之间的乘除, x%*%y 是矩阵乘法的符号。

  1. > x <- matrix(1:4, 2, 2)

  2. > y <- matrix(rep(10, 4), 2, 2)

  3. > x

  4.     [,1] [,2]

  5. [1,]    1    3

  6. [2,]    2    4

  7. > y

  8.     [,1] [,2]

  9. [1,]   10   10

  10. [2,]   10   10

  11. >

  12. > ## element-wise multiplication

  13. > x * y      

  14.     [,1] [,2]

  15. [1,]   10   30

  16. [2,]   20   40

  17. >

  18. > ## element-wise division

  19. > x / y      

  20.     [,1] [,2]

  21. [1,]  0.1  0.3

  22. [2,]  0.2  0.4

  23. >

  24. > ## true matrix multiplication

  25. > x %*% y    

  26.     [,1] [,2]

  27. [1,]   40   40

  28. [2,]   60   60


参考资料:

  1. https:///rdpeng/rprogdatascience/R Programming for Data Science

  2. 《R语言实战》 Robert I. Kabacoff

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多