R语言学习之路(二)矩阵
来源:互联网 发布:建筑模型动画软件 编辑:程序博客网 时间:2024/06/06 03:08
R语言中的矩阵
一、矩阵的创建
在R语言中,对于矩阵的创建一般的方法有:
1.直接使用 matrix()函数进行创建
x<- matrix(1:4)
X
[,1]
[1,] 1
[2,] 2
[3,] 3
[4,] 4
对于上诉的矩阵还可以设置行、列
> x<- matrix(1:8,nrow = 2 ,ncol = 4,byrow = T)
> x [,1] [,2] [,3] [,4]
[1,] 1 2 3 4
[2,] 5 6 7 8
对于上诉问题:ncol 设置列的数目,nrow为设置 行的数目 byrow是否设置为行优先。Byrow是一个TRUE的类型并且区分大小写字母。
2.通过dim()方法将不是矩阵类型的数据进行转换为矩阵
> x<- 1:12
> dim(x)<- c(3,4)
> x
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
> is.matrix(x)
[1] TRUE
判断是否为矩阵类型
>
3.通过 rbind() 和cbind()方法来创建
x1<-c(1,2,3,4)
x2<-c(2,3,4,5)
x3<-c(6,7,8,9)
cbind(x1,x2,x3)
rbind(x1,x2,x3)
得出的结果:
> cbind(x1,x2,x3)
x1 x2 x3
[1,] 1 2 6
[2,] 2 3 7
[3,] 3 4 8
[4,] 4 5 9
> rbind(x1,x2,x3)
[,1] [,2] [,3] [,4]
x1 1 2 3 4
x2 2 3 4 5
x3 6 7 8 9
二、获取矩阵中的元素
y<-matrix(rnorm(20),ncol = 4,nrow = 5)
y
y[1] #获取第一个元素
y[1,] #获取第一行元素
y[,1] #获取第一列元素
y[2,4] #获取指定的行列元素
y[c(1,3),c(2,4)] #获取第1,3行,第2,4列元素组成矩阵
y[2:5,] #获取2-5行的全部元素
y[-1,] #删除第一行元素,保留剩下的全部元素
得出的结果:
> y<-matrix(rnorm(20),ncol = 4,nrow = 5)
> y
[,1] [,2] [,3] [,4]
[1,] 0.7288271 0.9408934 -0.7733437 -1.1409896
[2,] 1.7184049 0.2224969 -0.8114160 0.5662810
[3,] -2.7166778 1.5315382 -1.5977639 0.5009519
[4,] 1.7531333 0.9482327 -0.1965466 -0.8645998
[5,] 0.4180210 -0.1927124 1.2947667 1.2814977
> View(mdat)
> y[1][1] 0.7288271
> y[1,][1] 0.7288271 0.9408934 -0.7733437 -1.1409896
> y[,1][1] 0.7288271 1.7184049 -2.7166778 1.7531333 0.4180210
> y[2,4][1] 0.566281
> y[c(1,3),c(2,4)]
[,1] [,2]
[1,] 0.9408934 -1.1409896
[2,] 1.5315382 0.5009519
> y[2:4,]
[,1] [,2] [,3] [,4]
[1,] 1.718405 0.2224969 -0.8114160 0.5662810
[2,] -2.716678 1.5315382 -1.5977639 0.5009519
[3,] 1.753133 0.9482327 -0.1965466 -0.8645998
> y[-1,]
[,1] [,2] [,3] [,4]
[1,] 1.718405 0.2224969 -0.8114160 0.5662810
[2,] -2.716678 1.5315382 -1.5977639 0.5009519
[3,] 1.753133 0.9482327 -0.1965466 -0.8645998
[4,] 0.418021 -0.1927124 1.2947667 1.2814977
> y[2:5,]
[,1] [,2] [,3] [,4]
[1,] 1.718405 0.2224969 -0.8114160 0.5662810
[2,] -2.716678 1.5315382 -1.5977639 0.5009519
[3,] 1.753133 0.9482327 -0.1965466 -0.8645998
[4,] 0.418021 -0.1927124 1.2947667 1.2814977
三、矩阵的运算
对于矩阵的运算:加法、减法、乘法、除法、逆运算
x<-matrix(1:4,ncol = 2,nrow = 2)
y<-matrix(c(2,4,6,8),2,2)
x
y
x+y #矩阵的加法运算
x-y #矩阵的减法运算
x%*%y #矩阵的乘法运算
x*y #只是对应位置的乘法
得出的结果:
> x<-matrix(1:4,ncol = 2,nrow = 2)
> y<-matrix(c(2,4,6,8),2,2)
> x
[,1] [,2]
[1,] 1 3
[2,] 2 4
> y
[,1] [,2]
[1,] 2 6
[2,] 4 8
> x+y
[,1] [,2]
[1,] 3 9
[2,] 6 12
> x-y
[,1] [,2]
[1,] -1 -3
[2,] -2 -4
> x%*%y #标准的线性代数在矩阵的乘法
[,1] [,2]
[1,] 14 30
[2,] 20 44
> x*y #只是对应位置上的数值相乘
[,1] [,2]
[1,] 2 18
[2,] 8 32
- R语言学习之路(二)矩阵
- R语言学习之矩阵的建立
- R语言学习之基础知识二
- R语言学习(二)
- R语言学习(二)
- R语言学习二
- R语言之矩阵排序
- R语言之矩阵操作
- R语言 学习之路
- 白话空间统计之二十五:空间权重矩阵(四)R语言中的空间权重矩阵(1)
- 白话空间统计之二十五:空间权重矩阵(四)R语言中的空间权重矩阵(2)
- 白话空间统计之二十五:空间权重矩阵(四)R语言中的空间权重矩阵(4):K临近
- R语言学习笔记(二)
- R语言学习笔记(二)
- R语言学习笔记(二)
- R语言学习笔记(二)
- R语言学习笔记(二)
- R语言之处理数据(二)
- Lua读取文件和写入文件
- @Aspect注解无效
- 安卓盒子launcher界面开发之添加自动定位,获取当地天气
- 关于ucos任务堆栈的理解
- Contains Duplicate
- R语言学习之路(二)矩阵
- IP地址中的保留地址
- 解决域名访问出现中文乱码,而本地测试不会出现的问题
- Ubuntu下U盘文件只读的解决办法
- 23种设计模式(23)--Interpreter模式
- Open Baidu webpage and type in Chinese characters to start searching, press “Back” button to go to B
- RRC连接重配置
- 学习SpringMVC(十八)之JSR303数据校验
- Picasso 图片请求库(工具类)