矩阵是元素布置成二维矩形布局的R对象。 它们包含相同原子类型的元素。

R创建矩阵的语法:

  1. matrix(data, nrow, ncol, byrow, dimnames)

参数说明:

  • data - 成为矩阵的数据元素输入向量。
  • nrow - 是要创建的行数。
  • ncol -  要被创建的列数。
  • byrow - 是一个合乎逻辑。若为True,则输入向量元素按行安排。
  • dimnames - 是分配给行和列名称。

Example

  1. > # Elements are arranged sequentially by row.
  2. > M <- matrix(c(:), nrow=, byrow=TRUE)
  3. > print(M)
  4. [,] [,] [,]
  5. [,]
  6. [,]
  7. [,]
  8. [,]
  9. > # Elements are arranged sequentially by column.
  10. > N <- matrix(c(:), nrow=, byrow=FALSE)
  11. > print(N)
  12. [,] [,] [,]
  13. [,]
  14. [,]
  15. [,]
  16. [,]
  17. > # Define the column and row names.
  18. > rownames = c("row1", "row2", "row3", "row4")
  19. > colnames = c("col1", "col2", "col3")
  20. > P <- matrix(c(:), nrow=, byrow=TRUE, dimnames=list(rownames, colnames))
  21. > print(P)
  22. col1 col2 col3
  23. row1
  24. row2
  25. row3
  26. row4

访问矩阵:

  1. > # Access the element at 3rd column and 1st row.
  2. > print(P[,])
  3. []
  4. > # Access the element at 2nd column and 4th row.
  5. > print(P[,])
  6. []
  7. > # Access only the 2nd row.
  8. > print(P[,])
  9. col1 col2 col3
  10.  
  11. > # Access only the 3rd column.
  12. > print(P[,])
  13. row1 row2 row3 row4

矩阵计算:

  1. > # Create two 2x3 matrices.
  2. > matrix1 <- matrix(c(, , -, , , ), nrow=)
  3. > print(matrix1)
  4. [,] [,] [,]
  5. [,] -
  6. [,]
  7. > matrix2 <- matrix(c(, , , , , ), nrow=)
  8. > print(matrix2)
  9. [,] [,] [,]
  10. [,]
  11. [,]
  12. > # Add the matrices.
  13. > result <- matrix1 + matrix2
  14. > cat("Result of addition","n")
  15. Result of addition n
  16. > print(result)
  17. [,] [,] [,]
  18. [,] -
  19. [,]
  20. > # Subtract the matrices
  21. > result <- matrix1 - matrix2
  22. > cat("Result of subtraction","n")
  23. Result of subtraction n
  24. > print(result)
  25. [,] [,] [,]
  26. [,] - - -
  27. [,] -
  28. > # Multiply the matrices.
  29. > result <- matrix1 * matrix2
  30. > cat("Result of multiplication","n")
  31. Result of multiplication n
  32. > print(result)
  33. [,] [,] [,]
  34. [,]
  35. [,]
  36. > # Divide the matrices
  37. > result <- matrix1 / matrix2
  38. > cat("Result of division","n")
  39. Result of division n
  40. > print(result)
  41. [,] [,] [,]
  42. [,] 0.6 -Inf 0.6666667
  43. [,] 4.5 0.4444444 1.5000000

参考网址:http://www.phperz.com/special/109.html

R语言矩阵的更多相关文章

  1. R语言矩阵matrix函数

    矩阵是元素布置成二维矩形布局的R对象. 它们包含相同原子类型的元素.尽管我们可以创建只包含字符或只逻辑值的矩阵,但是它们没有多大用处.我们使用的是在数学计算中含有数字元素矩阵. 使用 matrix() ...

  2. R语言矩阵维度“消失”的问题

    矩阵(matrix)是R语言中很基础的一种数据结构,也是R语言使用者经常使用的一种数据结构.矩阵的维度一般为二维(m*n). R语言中矩阵的操作是非常简单易懂的,但是在对R语言做矩阵操作时,有个地方需 ...

  3. R语言矩阵相关性计算及其可视化?

    目录 1. 矩阵相关性计算方法 base::cor/cor.test psych::corr.test Hmisc::rcorr 其他工具 2. 相关性矩阵转化为两两相关 3. 可视化 corrplo ...

  4. R语言矩阵栅格显示矩阵颜色显示

    效果如下:

  5. R语言基础:数组&列表&向量&矩阵&因子&数据框

    R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...

  6. R语言编程艺术# 矩阵(matrix)和数组(array)

    矩阵(matrix)是一种特殊的向量,包含两个附加的属性:行数和列数.所以矩阵也是和向量一样,有模式(数据类型)的概念.(但反过来,向量却不能看作是只有一列或一行的矩阵. 数组(array)是R里更一 ...

  7. R语言笔记1--向量、数组、矩阵、数据框、列表

    注释:R语言是区分大小写的 1.向量 R语言中可以将各种向量赋值为一个变量,这种赋值操作符就是等号“=”,也可以使用“<-”. 1)产生向量 (1)函数c() 例如:x1=c(2,4,6,8,0 ...

  8. R语言编程艺术#02#矩阵(matrix)和数组(array)

    矩阵(matrix)是一种特殊的向量,包含两个附加的属性:行数和列数.所以矩阵也是和向量一样,有模式(数据类型)的概念.(但反过来,向量却不能看作是只有一列或一行的矩阵. 数组(array)是R里更一 ...

  9. 使用R语言-为矩阵(表格)的行列命名

    转自:http://www.dataguru.cn/article-2217-1.html R语言中经常进行矩阵(表格)数据的处理,在纷繁复杂的数据中,为其行列定义一个名字变得尤为重要.在处理巨量数据 ...

随机推荐

  1. ubuntu Linux 操作系统安装与配置

    Ubuntu是一个以桌面应用为主的Linux操作系统.Ubuntu每六个月发布一个新版本(一般是4和10月份,命名为YY.MM),每一个普通版本都将被支持 18个月,长期支持版(Long Term S ...

  2. C# 泛型 无法将类型xx隐式转换为“T”

    原文:C# 泛型 无法将类型xx隐式转换为“T” 直接奖泛型转为T是不能转换的 要先转Object 例: public static T GetValue<T>(string inValu ...

  3. C#WeakReference弱引用

    原文:C#WeakReference弱引用 弱引用:在引用对象的同时,允许垃圾回收该对象. .NET中提供了WeakReference对象来实现这个功能. 对于那些创建便宜但耗费大量内存的对象,即希望 ...

  4. 求 1-2+3-4+5-6+7-8....M 的结果算法

    static void Main(string[] args) { /** * 算法题: * 求 1-2+3-4+5-6+7-8....M 的结果. * */ //存储运算结果. ; //记号. ; ...

  5. hadoop(三)

    hadoop(三) 1.对MapReduce的认识   MapReduce是运行在yarn上面的一个分布式运算框架,它是用来解决海量的分布式运算的.对于MapReduce来说,我们可以把它分成两部分来 ...

  6. WCSTOMBS 函数不支持中文件的解决方法(设置代码页)

    代码页没有进行设置.需要调用locale.h 中定义的一个函数设置默认的代码页 _tsetlocale(LC_ALL,_T(""));//设置代码页  wcstombs(sendB ...

  7. 台电P89s mini root教程

    根据论坛内的一些内容再结合自己的使用心得整理如下,本人双11购入P89s mini root成功  自带软件什么的都不见了 以下是个人root过程,有不一样的地方欢迎交流,说实话我也不是很懂 1.升级 ...

  8. HTTP Post之multipart/form-data和application/x-www-form-urlencoded

    关于HttpPost,有这样两种可Post的数据载体,分别是MultipartEntity和UrlEncodedFormEntity,对这两者的共性和异性做如下解释和备忘: 共性: 1.都属于HTTP ...

  9. 【搜索引擎】Solr全文检索近实时查询优化

    设置多个搜索建议查找算法 <searchComponent name="suggest" class="solr.SuggestComponent"> ...

  10. 查看linux系统时间和时区

    参考地址:http://lidao.blog.51cto.com/ 一.使用date命令查看系统时间 [root@benbang ~]# date -R Tue, 01 Aug 2017 15:43: ...