文档章节

R语言--矩阵相关函数

pior
 pior
发布于 2014/09/17 15:04
字数 771
阅读 2872
收藏 2

       R矩阵介绍:
  is.matrix()可以判断是否是矩阵,as.matrix()可以将数据框转换成矩阵,但是矩阵中要求所有的数据格式都是一致。
 1、可以使用matrix()创建新的矩阵,但是要输入一些参数可以通过
      args(matrix)      知道需要什么参数
结果如下:function (data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL)
     例: mm<-matrix(c(1,2,3, 11,12,13), nrow = 2, ncol = 3, byrow = TRUE,dimnames = list(c("row1", "row2"),c("C.1", "C.2", "C.3")))
          rownames(mm)可以查看行名
          rownames(mm)=c("1","2")可以修改行名
          dim(mm)得到矩阵的维数,nrow(),ncol()分别能得到矩阵的行列数
        生成矩阵是按列排列的
    方法二:array ( )函数构造多维数组
         x=array(1:20,dim=c(4,5))
    方法三:
2、 矩阵转置
      t(mm)
     若将函数t()作用于一个向量x,则R默认x为列向量,返回结果为一个行向量
     若想得到一个列向量,可用t(t(x))
3、矩阵的运算
     等维矩阵可以直接相加减即可相乘则使用%*%
     标量与矩阵相乘直接使用*即可例如:2*A
     矩阵的Hadamard积:即等维矩阵相同位置上的数字相乘,直接使用A*B即可
     函数det(x)将计算方阵x的行列式的值
4、矩阵对角元素相关运算
     例如要取一个方阵的对角元素diag(A)
     方法一:对一个向量应用diag()函数将产生以这个向量为对角元素的对角矩阵,所以diag(diag(A))将产生A矩阵的对角矩阵
     方法二:取对角矩阵A[row(A)!=col(A)]=0
     对一个正整数z应用diag()函数将产生以z维单位矩阵
5、矩阵求逆
     矩阵求逆可用函数solve(),应用solve(a, b)运算结果是解线性方程组ax = b,若b缺省,则系统默认为单位矩阵,因此可用其进行矩阵求逆
6、矩阵的特殊计算
     行列求和和平均值rowSums(),colSums(), rowMeans()
     行列求最大或者最小值使用apply:apply(A,1,max),其中1代表按行计算,2代表按列计算
     其中apply可以有很多种应用方法例如apply(A,2,function(x,a)x*a,a=2)
7、三角矩阵
     A[lower.tri(A)]=0其中lower.tri(A)将矩阵A中的下三角变成TRUE且diag即对角元素默认为FALSE,所以A[lower.tri(A)]=0就将上三角取出来了,如果加上diag=T,上对角矩阵不会取出来
     A[upper.tri(A)]=0取出下三角矩阵
8、row(),col()函数
    在R中定义了的这两个函数用于取矩阵元素的行或列下标矩阵,例如矩阵A={aij}m×n,
     row()函数将返回一个与矩阵A有相同维数的矩阵,该矩阵的第i行第j列元素为i,函数col()类似
 此函数也可以用于取三角矩阵x[row(x)>col(x)]=0
9、矩阵的分解下次再继续整理

本文转载自:http://www.douban.com/note/304770089/

pior
粉丝 27
博文 151
码字总数 22496
作品 0
济南
高级程序员
私信 提问
R语言可视化学习笔记之相关矩阵可视化包ggcorrplot

基于ggplot2包以及corrplot包的相关矩阵可视化包ggcorrplot,ggcorrplot包提供对相关矩阵重排序以及在相关图中展示显著性水平的方法,同时也能计算相关性p-value 安装方法就不提了,不懂的可...

R语言中文社区
2018/01/25
0
0
R语言学习笔记之相关性矩阵分析及其可视化

计算相关矩阵 R内置函数 cor() 可以用来计算相关系数:cor(x, method = c("pearson", "kendall", "spearman")),如果数据有缺失值,用cor(x, method = "pearson", use = "complete.obs")。 ......

R语言中文社区
2018/02/05
0
0
R语言入门 – 什么是R语言,为什么选择R语言用于机器学习或数据挖掘

  R语言最近在TIOBE排名上取得了不小的进步,上升到了第13名。因为机器学习的火爆的程度和R语言特殊的语法,使得它的关注度越来越高。好多人对于R语言的特性和语法不太了解,而因我在上学的...

全栈开发
2018/03/06
0
0
R语言基础之第二部分 操纵数据/取子集

R语言基础之第二部分:操纵数据取子集 2.1 构建子集 [ ]:提取一个or多个类型相同的元素 [[ ]]:从列表或数据框中提取元素 $ :按名字从列表or数据框中提取元素 2.11 取向量子集 2.12 取矩阵...

多美丽很美丽
08/25
0
0
R语言函数与模型学习笔记:残差相关性零均值检验及跨期相关系数(图)

R语言函数与模型学习笔记:残差相关性零均值检验及跨期相关系数(图) 使用极大似然估计模型参数的假设包括:残差正态性、包含截距时的零均值、以及联合正态分布。如果我们更进一步假设待估计...

原创小博客
2018/07/26
26
0

没有更多内容

加载失败,请刷新页面

加载更多

前端面试题汇总

一. HTML常见的兼容性 1.HTML5 标签在低版本浏览器不兼容 解决办法:使用html5shiv库,引入下列语句 <!--[if lte IE 8]> <script src="https://cdn.bootcss.com/html5shiv/r29/html5.js"></sc......

蓝小驴
25分钟前
5
0
OSChina 周四乱弹 —— 我气的脸都黑了!

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑推荐《Red Battle》- 高橋李依 / 豊崎愛生 《Red Battle》- 高橋李依 / 豊崎愛生 手机党少年们想听歌,请使劲儿戳(这里) @丶Lion ...

小小编辑
38分钟前
451
19
找OSG教程, B站就有

https://www.bilibili.com/video/av64849038?from=search&seid=11632913960900279653

洛克人杰洛
今天
5
0
学习记录(day07-Vue组件、自定义属性、自定义事件)

[TOC] 1.1.1什么是组件 一个vue文件就是一个组件 组件将html标签/css样式/对应JS打包成一个整体,也可以理解钻进一个具有样式和特效的自定义标签。 一、编写组件(提供方)<template> <di...

庭前云落
今天
5
0
使用Prometheus监控SpringBoot应用

通过之前的文章我们使用Prometheus监控了应用服务器node_exporter,数据库mysqld_exporter,今天我们来监控一下你的应用。(本文以SpringBoot 2.1.9.RELEASE 作为监控目标) 编码 添加依赖 使...

JAVA日知录
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部