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

R创建矩阵的语法:

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

参数说明:

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

Example

> # Elements are arranged sequentially by row.
> M <- matrix(c(:), nrow=, byrow=TRUE)
> print(M)
[,] [,] [,]
[,]
[,]
[,]
[,]
> # Elements are arranged sequentially by column.
> N <- matrix(c(:), nrow=, byrow=FALSE)
> print(N)
[,] [,] [,]
[,]
[,]
[,]
[,]
> # Define the column and row names.
> rownames = c("row1", "row2", "row3", "row4")
> colnames = c("col1", "col2", "col3")
> P <- matrix(c(:), nrow=, byrow=TRUE, dimnames=list(rownames, colnames))
> print(P)
col1 col2 col3
row1
row2
row3
row4

访问矩阵:

> # Access the element at 3rd column and 1st row.
> print(P[,])
[]
> # Access the element at 2nd column and 4th row.
> print(P[,])
[]
> # Access only the 2nd row.
> print(P[,])
col1 col2 col3 > # Access only the 3rd column.
> print(P[,])
row1 row2 row3 row4

矩阵计算:

> # Create two 2x3 matrices.
> matrix1 <- matrix(c(, , -, , , ), nrow=)
> print(matrix1)
[,] [,] [,]
[,] -
[,]
> matrix2 <- matrix(c(, , , , , ), nrow=)
> print(matrix2)
[,] [,] [,]
[,]
[,]
> # Add the matrices.
> result <- matrix1 + matrix2
> cat("Result of addition","n")
Result of addition n
> print(result)
[,] [,] [,]
[,] -
[,]
> # Subtract the matrices
> result <- matrix1 - matrix2
> cat("Result of subtraction","n")
Result of subtraction n
> print(result)
[,] [,] [,]
[,] - - -
[,] -
> # Multiply the matrices.
> result <- matrix1 * matrix2
> cat("Result of multiplication","n")
Result of multiplication n
> print(result)
[,] [,] [,]
[,]
[,]
> # Divide the matrices
> result <- matrix1 / matrix2
> cat("Result of division","n")
Result of division n
> print(result)
[,] [,] [,]
[,] 0.6 -Inf 0.6666667
[,] 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. NET C#创建WINDOWS系统用户

    原文:NET C#创建WINDOWS系统用户   /前提是当前用户有相应的权限 /WinNT用户管理 using System; using System.DirectoryServices;  na ...

  2. 解决com.android.dex.DexException: Multiple dex files define Lcom/google/gson/JsonSerializer;

    我在开发Windows Azure的Mobile Service(隔天补上创建过程)的安卓客户端时,报出了com.android.dex.DexException: Multiple dex file ...

  3. virtualbox 安装 extension pack 方法以及出现 "The installer failed with exit code 1: VBoxExtPackHelperApp.exe: error: Failed to rename the temporary directory to the final one"的解决办法

    virtualbox 的版本:5.1.26    下载地址:https://www.virtualbox.org/wiki/Downloads extension pack 的版本:5.1.26   ...

  4. Qt编程中QDiaog的ESC建

    最近使用QDialog时,按了下Esc键,导致QDialog被关闭,而后续的数据处理出现了问题.原来在QDialog中按下Esc键会默认调用reject()方法而不是closeEvent(QClose ...

  5. VS2008 环境中完美搭建 Qt 4.7.4 静态编译的调试与发布(很不错,有六张插图说明,修改qmake.conf里的MD参数等)good

    为什么要在VS2008中使用QT静态编译呢?很简单,因为VS2008编译器编译出来的文件比mingw编译的要几乎小一半. 好了现在我们来做些准备工作,VS2008自然要安装的,然后打上SP1的补丁.然 ...

  6. PC-lint 简明教程(C/C++静态代码检查工具)

    前言 PC-lint是一款小而强大的C/C++静态代码检查工具,它可以检查未初始化变量,数组越界,空指针等编译器很难发现的潜在错误.在很多专业的软件公司如Microsoft,PC-Lint检查无错误无 ...

  7. Linux软件安装及基本概念

    apt 基本用法 apt-get [options] install/remove/source 软件包1 [软件包2...] 注意:软件包不要带后缀.deb 常用命令及解释如下: apt下载软件是根 ...

  8. arcgis api for js 4.X 出现跨域问题

    arcgis api for js 4.X 出现跨域问题 XMLHttpRequest cannot load http://localhost/4.3/4.3/esri/workers/mutabl ...

  9. 简单看看jdk7源码之java.lang包01

    从今天开始简单开始读一遍jdk的源码,估计这个时间会很长,慢慢啃吧....(首先说一句抱歉,因为很多图都是直接百度扣的,图太多了不能为每一个图附上原版链接,不好意思!) 在网上看了很多的教程,读源码有 ...

  10. 01-pymysql模块的安装

    1.从github 下载pymysql 安装包,下载地址为:https://github.com/PyMySQL/PyMySQL 2.解压下载文件,不用打开python交互界面,cd到解压文件所在目录 ...