R语言基础入门(10)之矩阵和数组
目录
1.矩阵
创建矩阵
查看矩阵的行与列数
转置
2.矩阵子集
3.矩阵行列命名
4.命名后取子集
5.逻辑下标取子集
6.正整数向量的矩阵取子集
7.返回对角线向量
8.创建单位矩阵
9.cbind() 和 rbind() 函数
10. 矩阵运算
10.1 四则运算
10.2 矩阵乘法
10.3 向量与矩阵相乘
10.4 内积
10.5 外积
10.6 逆矩阵与线性方程组求解
10.7 apply() 函数
10.8 多维数组
1.矩阵
创建矩阵
A <- matrix(11:16, nrow=3, ncol=2); print(A)
返回:
再如:
B <- matrix(c(1,-1, 1,1), nrow=2, ncol=2, byrow=TRUE); print(B)
返回:
查看矩阵的行与列数
nrow(A)
返回:
ncol(A)
返回:
矩阵有一个 dim 属性,内容是两个元素的向量,两个元素分别为矩阵的行数和列数。dim 属性可以用 dim() 函数访问。如
attributes(A)
返回:
还有一个:
dim(A)
返回:
转置
t(A)
返回:
2.矩阵子集
A
返回:
取第一行:
A[1,]
返回:
取第一列:
A[,1]
返回:
取1到3行,1到2列:
A[c(1,3), 1:2]
返回:
3.矩阵行列命名
colnames(A) <- c('X', 'Y')
rownames(A) <- c('a', 'b', 'c')
A
返回:
4.命名后取子集
A[,'Y']
A['b',]
A[c('a', 'c'), 'Y']
返回:
注意在对矩阵取子集时,如果取出的子集仅有一行或仅有一列,结果就不再是矩阵而是变成了 R 向量,R 向量既不是行向量也不是列向量。如果想避免这样的规则起作用,需要在方括号下标中加选项 drop=FALSE,如
A[,1,drop=FALSE]
返回:
5.逻辑下标取子集
A
返回:
A[A[,1]>=2,'Y']
返回:
6.正整数向量的矩阵取子集
A
返回:
A[c(1,3,5)]
返回:
ind <- matrix(c(1,1, 2,2, 3,2), ncol=2, byrow=TRUE)
A
返回:
ind
返回:
A[ind]
返回:
7.返回对角线向量
diag(A)
返回:
8.创建单位矩阵
9.cbind() 和 rbind() 函数
cbind(c(1,2), c(3,4), c(5,6))
返回:
再如,
cbind(A, c(1,-1,10))
返回:
cbind() 的自变量中也允许有标量,这时此标量被重复使用。如
cbind(1, c(1,-1,10))
返回:
10. 矩阵运算
10.1 四则运算
矩阵可以与标量作四则运算,结果为每个元素进行相应运算,如
A
返回:
如加法运算:
C1 <- A + 2; C1
返回:
如除法运算:
C2 <- A / 2; C2
返回:
C1 + C2
返回:
C1 - C2
返回:
C1 * C2
返回:
C1 / C2
返回:
10.2 矩阵乘法
A
B
返回:
然后看一下矩阵相乘并赋值给c3
C3 <- A %*% B; C3
返回:
10.3 向量与矩阵相乘
B
返回:
看一下向量(1,1)与矩阵B相乘
c(1,1) %*% B
返回:
再看一下矩阵B与向量(1,1)相乘
B %*% c(1,1)
返回:
再看一下 向量*矩阵*向量
c(1,1) %*% B %*% c(1,1)
返回:
10.4 内积
sum(A,B)
crossprod(A,B)
返回:
10.5 外积
c(1,2,3) %o% c(1, -1)
返回:
10.6 逆矩阵与线性方程组求解
用 solve(A) 求 A 的逆矩阵,如
solve(A)
solve(B)
返回:
B
返回:
solve(B, c(1,2))
返回:
10.7 apply() 函数
D <- matrix(c(6,2,3,5,4,1), nrow=3, ncol=2); D
返回:
apply(D, 2, sum)
返回:
apply(D, 1, mean)
返回:
apply(D, 2, range)
返回:
t(apply(D, 1, range))
返回:
10.8 多维数组
多维数组的一般定义语法为数组名 <- array(数组元素,dim=c(第一下标个数, 第二下标个数, ..., 第s下标个数))其中数组元素的填入次序是第一下标变化最快,第二下标次之,最后一个下标 是变化最慢的。这种次序称为 FORTRAN 次序。
ara <- array(1:24, dim=c(2,3,4)); ara
返回:
ara[,,2]
返回:
ara[,2,2:3]
返回:
R语言基础入门(10)之矩阵和数组相关推荐
- R语言基础入门(全)
R 是门语言,也是个环境.个人认为R有点像matlab. R自带多种统计学及数字分析功能.R的功能也可以通过安装包(Packages,用户撰写的功能)增强,个人感觉这个就是插件.因为S的血缘,R比其他 ...
- R语言基础入门(3)之数据类型与相应运算1
目录 一.常量与变量 1.常量 2.变量 二.数据类型 三.数值型向量 3.1 c() 函数 3.2 length(x) 3.3 numeric() 四.向量运算 1.标量和标量运算 2.向量与标量运 ...
- R语言基础入门(学习笔记通俗易懂版)
文章目录 R语言预备知识 获取工作目录 设置工作目录 注释 变量名的命名 赋值 变量的显示 查看与清除变量 函数帮助文档查询 函数 安装R包 文件的读取 文件的输出 软件的退出与保存 R语言语法 向量 ...
- R语言基础入门(7)之数据类型的性质
目录 1.存储模式与基本类型 2.类属 3.类型转换 4.属性 5.str() 函数 6.关于赋值 1.存储模式与基本类型 R语言中根据类型可以将数据划分为: 数值型(numeric) 整数型(int ...
- r 字符串转化为数值_【R语言】数据结构Ⅰ—向量,矩阵,数组
数据结构是为了便于存储不同类型的数据而设计的. R中常用的数据结构包括: 同质数据类型(homogeneous data types),即所存储的一定是相同类型的元素,包括向量.矩阵.数组: 异质数据 ...
- R语言基础入门(6)之向量下标和子集
目录 1.正整数下标 2.负整数下标 3.空下标与零下标 4.下标超界 5.逻辑下标 6. which().which.min().which.max() 函数 7. 元素名 8.用 R 向量下标作映 ...
- R语言基础入门(9)之因子类型
目录 1.因子 2.table() 函数 3.tapply() 函数 4.forcats 包的因子函数 练习 1.因子 R 中用因子代表数据中分类变量, 如性别.省份.职业.有序因子代 ...
- R语言 ---- 基础入门
(一)向量 赋值: > x <- c(1,2,3,4,5) # 使用<-赋值,c表示连接 > x [1] 1 2 3 4 5> y <- c(x,6,7,8) &g ...
- R语言基础入门(4)之数据类型与相应运算2
目录 一.逻辑型向量与比较运算 二. 逻辑运算 三.逻辑运算函数 一.逻辑型向量与比较运算 逻辑型是 R 的基本数据类型之一,只有两个值 TRUE 和 FALSE, 缺失时为 NA. ...
最新文章
- React之mockjs+sass+生命周期函数
- 关于通信matlab 仿真,关于MATLAB在通信仿真系统中的运用
- 按键 粘贴上一个命令_合并单元格、选择性粘贴的快捷键都是啥?今天一次告诉你……...
- 【LeetCode - 141142】环形链表(i和ii)(快慢指针,链表)
- APPKIT打造稳定、灵活、高效的运营配置平台
- oracle 中此处列不允许,oracle-序列 ora-02287 此处不允许序号
- html label 两端对齐,如果实现表单的label文字两端对齐
- java 后台线程作用_Java 后台线程介绍
- Linux常用命令大全(持续更新)
- python怎么读发音百度翻译-python 百度翻译破解版,亲证可行
- JavaScript垃圾收集-标记清除和引用计数
- 苹果电脑如何设置自定义模糊拼音操作?
- SQL查询中笛卡尔积的巧妙使用(文末福利)
- Zabbix Server 5.2安装教程
- 有关图像生成的函数 .
- 好的plm软件有哪些?plm软件排行榜
- primocache学生党常用场景设置
- 百元级冷门高音质蓝牙耳机推荐,300左右为什么不试试这几款蓝牙耳机?
- 看地理标志产品苏尼特羊肉如何投放广告宣传打造品牌
- 数字电路实验四:智力抢答器预实验报告
热门文章
- 如何为火狐浏览器添加附加组件?火狐浏览器附加组件管理器使用教程
- WebService技术详解CXF
- linux的运行级别如何更改成6,把Linux运行级别设置为6后如何解决的经验分享
- unbuntu cmake安装mysql_ubuntu下编译安装mysql5.5
- python web后端和vue哪个难_全栈开发用纯后端模板与Vue+后端框架组合哪个好?
- java 虚基类_重拾C++之虚函数和虚基类以及抽象类
- java取json对象的值_java的JsonObject对象提取值方法
- 强健程序员体魄————减脂原理
- 计算机组成原理第二章数据,计算机组成原理第二章数据在计算机中的表示
- 中南民族大学java考试_中南民族大学Java语言程序设计期末试卷A卷