- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
R软件及统计分析S向量多维数组和矩阵
数组(array)和矩阵(matrix) 数组元素的排列次序缺省情况下是采用FORTRAN的数组元素次序(按列次序),即第一下标变化最快,最后下标变化最慢,对于矩阵(二维数组)则是按列存放。例如,假设数组a的元素为1:24,维数向量为c(2,3,4),则各元素次序为a[1,1,1], a[2,1,1], a[1,2,1], a[2,2,1], a[1,3,1], ..., a[2,3,4]。 用函数array()或matrix()可以更直观地定义数组。array()函数的完全使用为array(x, dim=length(x), dimnames=NULL),其中x是第一自变量,应该是一个向量,表示数组的元素值组成的向量。dim参数可省,省略时作为一维数组(但不同于向量)。dimnames属性可以省略,不省略时是一个长度与维数相同的列表(list,见后面),列表的每个成员为一维的名字。 函数matrix():二维数组,即矩阵。 格式为 matrix(data = NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames = NULL) 其中第一自变量data为数组的数据向量(缺省值为缺失值NA),nrow为行数,ncol为列数,byrow表示数据填入矩阵时按行次序还是列次序,缺省情况下按列次序。 dimnames缺省是空值,否则是一个长度为2的列表,列表第一个成员是长度与行数相等的字符型向量,表示每行的标签,列表第二个成员是长度与列数相同的字符型向量,表示每列的标签。例如,定义一个3行4列,由1:12按行次序排列的矩阵,可以用: b - matrix(1:12, ncol=4, byrow=T) b - matrix(1:12, ncol=4, byrow=T) b [,1] [,2] [,3] [,4] [1,] 1 2 3 4 [2,] 5 6 7 8 [3,] 9 10 11 12 注意在有数据的情况下只需指定行数或列数之一。指定的数据个数允许少于所需的数据个数,这时循环使用提供的数据。例如: b - matrix(0, nrow=3, ncol=4) 生成3行4列的元素都为0的矩阵。 数组下标 访问数组的某个元素,写出数组名和方括号内用逗号分开的下标即可,如a[2,1,2]。 在每一个下标位置写一个下标向量,表示对这一维取出所有指定下标的元素,如a[1, 2:3, 2:3]取出所有第一下标为1,第二下标为2或3,第三下标为2或3的元素。 略写某一维的下标,则表示该维全选。 a[ , , ]或a[]都表示整个数组。 a[] =0 把元素都赋成0。 还有一种特殊下标是对于数组只用一个下标向量(是向量,不是数组),比如a[3:4] ,这时忽略数组的维数信息,把下标表达式看作是对数组的数据向量取子集。 不规则数组下标 可以把数组中的任意位置的元素作为一组访问, 其方法是用一个矩阵作为数组的下标, 例如,我们要把上面的形状为c(2,3,4)的数组a的第[1,1,1], [2,2,3], [1,3,4], [2,1,4]号共四个元素作为一个整体访问,先定义一个包含这些下标作为行的二维数组: b = matrix(c(1,1,1, 2,2,3, 1,3,4, 2,1,4), ncol=3, byrow=T) b a[b] x1 - c(100, 200) x2 - 1:6 x1+x2 x3 - matrix(1:6, nrow=3) x3 x1+x3 数组四则运算 数组可以进行四则运算(+,-, *, /,^),解释为数组对应元素的四则运算,参加运算的数组一般应该是相同形状的(dim属性完全相同)。例如,假设A, B, C是三个形状相同的数组,则 D - C + 2*A/B 四则运算遵循通常的优先级规则。 形状不一致的向量和数组也可以进行四则运算,一般的规则是数组的数据向量对应元素进行运算,把短的循环使用来与长的匹配,并尽可能保留共同的数组属性。例如:不规则运算 除非你清楚地知道规则,否则应避免使用这样的办法(标量与数组或向量的四则运算除外)。 矩阵运算 矩阵是二维数组,应用广泛 函数t(A)返回矩阵A的转置。nrow(A)为矩阵A的行数,ncol(A)为矩阵A的列数。 矩阵之间进行普通的加减乘除四则运算,即数组的对应元素之间进行运算,所以注意A*B不是矩阵乘法而是矩阵对应元素相乘。 要进行矩阵乘法,使用运算符%*%,A%*%B表示矩阵A乘以矩阵B(当然要求A的列数等于B的行数)。例如: A - matrix(1:12, nro
您可能关注的文档
最近下载
- 小班数学活动《小动物在哪里》PPT课件.ppt
- 全国节约用水知识竞赛题库(含答案).pdf
- 机动护士培训【30页】.pptx
- unit 2(单元测试)-2024-2025学年人教PEP版英语三年级上册.doc VIP
- 控制系统仿真与计算机辅助设计第三版薛定宇习题答案.pdf
- 土地资源管理学(第二版)张正峰,第一至第十二章知识点.docx
- (人教2024版)化学九年级上册 跨学科实践:基于碳中和理念设计低碳行动方案 课件.pptx
- 化工技术经济可行性研究报告书1116.doc
- 宋元考古课件:磁州窑.ppt
- 2023年西南民族大学计算机科学与技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
文档评论(0)