R语言(一)向量与矩阵

这篇具有很好参考价值的文章主要介绍了R语言(一)向量与矩阵。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、向量部分

R语言基础入门(学习笔记通俗易懂版)_r语言 csdn_CYH-BI的博客-CSDN博客

二、矩阵部分

1.创建矩阵格式:

①直接创建法

matric()

> mydata<-matrix(c(1,2,3,4,5,6),nrow=2,ncol=3)     #两行三列,默认按列排
> mydata
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
> mydata1<-matrix(c(1,2,3,4,5,6),nrow=2,ncol=3,byrow=T)    #两行三列,按行排
> mydata1
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
> mydata3<—matrix(c(1,2,3,4,5,6),nrow=2,ncol=3,dimnames=list(c("r1","r2"),c("c1","c2","c3")))
> mydata3            #设置了名字,名字要用列表list形式,如上一行代码
   c1 c2 c3
r1  1  3  5
r2  2  4  6

对行列命名的另外一种方法:

m=matrix(c(1,2,3,4,5,6,7,8,9),3,3)
colnames(m) = c("数学", "语文", "英语")
rownames(m) = c("小学","高中", "初中")

②向量拼接法

横向量拼接和纵向量拼接

rbind和cbind

> mydata5<-rbind(c(1,2,3),c(4,5,6))   #按行将两个向量接起来,形成矩阵
> mydata5
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    4    5    6
> mydata6<-cbind(c(1,2,3),c(4,5,6))    #按列将两个向量接起来,形成矩阵
> mydata6
     [,1] [,2]
[1,]    1    4
[2,]    2    5
[3,]    3    6

③强制转换为矩阵

利用as.matrix()函数强制转换为矩阵,如:

> a<-c(1,2,3,4,5,6,7,8)
> a1<-as.matrix(a)   #强制转换为矩阵,但是只有一列
> a1
     [,1]
[1,]    1
[2,]    2
[3,]    3
[4,]    4
[5,]    5
[6,]    6
[7,]    7
[8,]    8

④建立一个空矩阵

直接写行列大小,如下:

> d<-matrix(nrow=3,ncol=2)   #建立一个3行2列的空矩阵,内容为NA,存在但未知
> d
     [,1] [,2]
[1,]   NA   NA
[2,]   NA   NA
[3,]   NA   NA

注意事项:

当两个向量长度不相等时,会出现警告,长度不等的那个向量会用循环补齐的形式填补

当向量中含有不同类型的数据时,会改变元素类型后转变为矩阵

2、矩阵的索引

mymartix[i,],返回矩阵mymatrix中第i行元素

mymartix[,j],返回矩阵mymatrix中第j列元素

mymartix[i,j],返回矩阵mymatrix中第i行j列元素

mymatrix[i,-j],返回第i行,但排除第j列元素

mymatrix[c(m,n),c(p,k)],返回第m和n行,第p和k列元素

mymatrix[-c(m,n),c(p,k)],返回第p和k列,但排除第m和n行元素

当矩阵有行列名时,可以通过行与列名进行提取元素

> mymatrix3							#这里有一个矩阵
       c1 c2 c3 c4 c5 行均值 
r1      1  6 11 16 21      11
r2      2  7 12 17 22      12
r3      3  8 13 18 23      13
r4      4  9 14 19 24      14
r5      5 10 15 20 25      15
列均值  3  8 13 18 23      NA
> mymatrix3["r1","c2"]			#返回列名c2,行名为r1的元素
[1] 6
> mymatrix3[c("r2","r4"),c("c3","c5")]		#返回行名为r2与r4,列名为c3与c5的元素
   c3 c5
r2 12 22
r4 14 24

3.矩阵相关操作

转置,函数t()

横向或纵向合并矩阵

cbind()函数横向合并矩阵

rbind()函数纵向合并矩阵

> M<-matrix(c(1,2,3,4),2,2)   
> N<-matrix(c(5,6,7,8),2,2)     #建立了两个矩阵M,N,如下
> M
     [,1] [,2]
[1,]    1    3
[2,]    2    4
> N
     [,1] [,2]
[1,]    5    7
[2,]    6    8
> cbind(M,N)			#横向合并矩阵M,N
     [,1] [,2] [,3] [,4]
[1,]    1    3    5    7
[2,]    2    4    6    8
> rbind(M,N)			#纵向合并矩阵M,N
     [,1] [,2]
[1,]    1    3
[2,]    2    4
[3,]    5    7
[4,]    6    8

③维度信息

维度信息,返回行列数目
dim(m2)

nrow(m2)
ncol(m2)

对各列或行求和或求均值

colSums()对各列求和,rowSums()对各行求和

colMeans()对各列求均值,rowMeans()对各行求均值,举例如下:

> mymatrix							#以这个矩阵举例
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    6   11   16   21
[2,]    2    7   12   17   22
[3,]    3    8   13   18   23
[4,]    4    9   14   19   24
[5,]    5   10   15   20   25
> colSums(mymatrix)				#对各列求和
[1]  15  40  65  90 115
> rowSums(mymatrix)				#对各行求和
[1] 55 60 65 70 75
> colMeans(mymatrix)			#对各列求均值
[1]  3  8 13 18 23
> rowMeans(mymatrix)			#对各行求均值
[1] 11 12 13 14 15

⑤计算行列式

det()函数

⑥矩阵相乘

使用%*%进行矩阵相乘

> M
     [,1] [,2]
[1,]    1    3
[2,]    2    4
> N
     [,1] [,2]
[1,]    5    7
[2,]    6    8
> K<-M%*%N			#两矩阵相乘
> K
     [,1] [,2]
[1,]   23   31
[2,]   34   46

⑦设置行列名

  • 在创建矩阵时设置行列名,如
  •   >   #使用dimnames,以列表的形式设置行列名
      > fa<-matrix(c(2,3,4,5),2,2,dimnames =list(c("第一行","第二行"),c("第一列","第二列")))
      > fa
             第一列 第二列
      第一行      2      4
      第二行      3      5
    
  • 在外部使用dimnames()函数设置行列名
  •   > fa1<-matrix(c(6,7,8,9),2,2)  #矩阵原先未设置行列名
      > a<-c("第一行","第二行")
      > b<-c("第一列","第二列")
      > dimnames(fa1)<-list(a,b)    #使用dimnames函数设置行列名
      > fa1
             第一列 第二列
      第一行      6      8
      第二行      7      9
    
  • 使用函数rownames()设置行名,使用colnames()设置列名
  • > fa2<-matrix(c(1,3,5,7),2,2)  #行列未命名的矩阵
    > rownames(fa2)<-c("A1","A2")     #对行命名
    > colnames(fa2)<-c("B1","B2")		#对列命名
    > fa2
       B1 B2
    A1  1  5
    A2  3  7
    

4.apply()函数

apply(m,dimcode,f,fargs) 允许用户在各行各列调用函数
m 矩阵,dimcode 1代表行, 2代表列,f函数,frags可选参数,函数大于一个参考时使用用“,”隔开。

5.判断对象是不是矩阵

is.matrix()文章来源地址https://www.toymoban.com/news/detail-758505.html

到了这里,关于R语言(一)向量与矩阵的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 随机矩阵理论在电力大数据分析中的应用

    0 哲学思想 之所以开这个专栏,记得导师在一次组会上问我一个问题:你对现阶段的世界怎么看? 然后突然我被问懵了,好好的专业问题,突然来了一个哲学问题,我有点措不及防,导师看我有点呆懵。然后就说到:“_ 现阶段的世界,是一个随机性的一个世界,我们现阶段

    2024年04月22日
    浏览(38)
  • ChAMP甲基化数据分析:从β值矩阵开始

    之前的推文详细介绍了 ChMAP 包从IDAT文件开始的甲基化数据分析流程,今天说一下从β矩阵开始的分析流程。 16.ChAMP分析甲基化数据:标准流程 还是用GSE149282这个数据。 首先获取GSE149282这个数据的β矩阵文件,可以通过 getGEO() 函数下载,但是由于网络原因经常下载失败,所以

    2024年02月03日
    浏览(35)
  • svm支持向量机、高斯朴素叶贝斯和决策树对威斯康星州乳腺癌(诊断)数据集分析实验

    《机器学习项目实践》实验报告       专业班级:        人工智能2303               学    号:        23055090355                姓    名:         刘嘉成                    指导教师:           黄志伟             实验名称: svm支

    2024年02月02日
    浏览(44)
  • R语言的数据类型与数据结构:向量、列表、矩阵、数据框及操作方法

    R语言拥有丰富的数据类型和数据结构,以满足各类数据处理和分析的需求。本文将分享R语言中的数据类型,包括向量、列表、矩阵、数据框等,以及它们的特点、用途和操作方法。 向量是R语言中最基本的数据结构,它可以存储单个数据类型的元素序列。向量具有固定的长度

    2024年03月11日
    浏览(48)
  • Excel数据分析:5招矩阵技巧,让你事半功倍

    作为一位数据分析师,我深感矩阵工具的便利与乐趣。在此,我愿分享一些操作之妙,助您在数据分析道路上如履平地。 1.矩阵的创建与填充 在Excel环境下,借助矩阵函数,用户能便捷地构建和填写矩阵。只要选择好所需的范围,导入矩阵公式,接着按下Ctrl+Shift+Enter,便可轻

    2024年04月26日
    浏览(45)
  • 从零开始学数据分析之——《线性代数》第二章 矩阵

    元素全为实数的矩阵称为实矩阵  元素全为负数的矩阵称为复矩阵 只有一行(列)的矩阵称为行(列)矩阵 元素全为零的矩阵称为零矩阵 行数和列数都等于n的矩阵称为n阶矩阵或n阶方阵 主对角线元素全为1,其余元素全为0的矩阵称为单位矩阵,记作E或I 两个矩阵行数和列数

    2023年04月23日
    浏览(50)
  • 基于CU,PO,RD,IPO矩阵图分析数据资产-自创

            数据资产 :数据资产是具有价值的数据资源。没有价值的数据资源,通过采集,整理,汇总等加工后,也可以成为具有直接或间接价值的数据资产。传统企业逐渐数字化转型,尤其是互联网企业,都十分重视企业的的数据资产。这些数据通过大数据处理,提供给

    2024年02月20日
    浏览(34)
  • 如何将问卷中的矩阵题转换成SPSS可以分析的数据

    问卷中的矩阵单选题和矩阵多选题进行数据转换的方式类似于单选题和多选题。 将矩阵单选题转换为几个单选题,将矩阵多选题转换为几个不同的多选题 以矩阵多选题为例 上图是从“问卷网”导出的数据 对数据进行编码,将“京语”“白话”“普通话”“其他”分别替换为

    2024年02月16日
    浏览(49)
  • 第18节:R语言分析:临床安全性数据的数据分析

    医疗器械临床试验中收集的数据的主要组成部分是关于患者安全的。 不良事件被定义为“受试者、使用者或其他人的任何不良医疗事件、非预期疾病或伤害,或不良临床体征(包括异常实验室发现),无论是否与研究医疗器械相关”。 收集并用于此数据分析的研究数据用于

    2024年02月15日
    浏览(43)
  • 【R语言数据分析】基于R语言对中、美两国GDP分析(R语言大作业)

    目录 一、研究意义 二、数据来源 三、读取数据 读取数据代码 运行结果截图 四、数据分析绘制箱线图 建立箱线图代码 运行结果截图  五、建立回归模型 建立回归模型代码  运行结果截图 有关于相关系数的计算与检验  六、回归分析 确定回归方程 七、预测中国和美国未来

    2024年02月03日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包