首 页IT知识库翔宇问吧收藏本站
当前位置:翔宇亭IT乐园IT知识库R语言

R语言中数组对象的使用

减小字体 增大字体 作者:本站  来源:本站原创  发布时间:2017-10-06 13:33:16

在学习了R语言的向量矩阵之后,本文将详细介绍R语言中的另外一个数据对象——数组。

在R语言中,可以认为数组是矩阵的扩展,它将矩阵扩展到2维以上。

如果给定的数组是1维的则相当于向量,2维的相当于矩阵。

R语言中的数组元素的类型也是单一的,可以是数值型,逻辑型,字符型或复数型等。

1、数组的创建

在R语言中,数组使用array()函数创建。array()函数的原型如下:

array( data = NA, dim = length(data),dimnames = NULL)

参数中,data为创建数组的元素;dim为数组的维数,是数值型向量;dimnames各维度中名称标签列表。

下面给出几个具体的例子:

arr <- array(1:10)  #相当于1维的向量:1 2 3 4 5 6 7 8 9 10

arr <- array(1:10,dim=c(2,5))  #相当于2行5列的矩阵

       [,1]  [,2]  [,3]  [,4]  [,5]

[1,]  1      3      5      7      9

[2,]  2      4      6      8     10

arr <- array(1:24, dim=c(3,4,2))   #闯将了一个3×4×2维的数组

其结果如下:

R语言中创建数组的方法

这里创建的数组第1维有3个水平,第2维有4个水平,第3维有2个水平

在创建数组时可以给数组的每一维的每个水平取名字:

> dim1<-c("A1","A2","A3")

> dim2<-c("B1","B2","B3")

> dim3<-c("C1","C2")

> arr<-array(1:18,dim=c(3,3,2),dimnames=list(dim1,dim2,dim3))

这里使用列表创建了数组各维度标签名称,关于列表的使用,请参见:R语言中列表对象的使用

其结果形式如下:

R语言中定义数组时指定每个水平的名字

2、数组的索引

R语言中对数组元素的索引与矩阵相似(关于矩阵的索引方法,可参考《R语言中矩阵的使用》),这里举几个例子:

arr[2,3,1]  # 获取单个元素的值:8

arr[2,1,]  #获取第1个维度的第2个水平和第2个维度的第1个水平的所有元素值

arr[2,,]  #获取第1个维度的第2个水平的所有组合元素值

arr[,2,]  #获取第2个维度第2个水平的所有组合元素值

arr["A2","B3","C2"]  #通过水平名称的组合来获取元素值

R语言中数组索引的使用方式

arr[1:3,c(1,3),]

R语言中使用向量的方法访问数组中的元素

3、数组的编辑

与矩阵相似,这里仅举几个例子来说明一下:

(1)修改数组元素值

  arr[2,3,1]  <- 18

  arr[2,3,] <- c(110,111)

R语言中修改数组中的元素值

  arr[,2,] <- c(333,444,555,666,777,888)

R语言中修改数组某一维度的元素值

arr[,,-2]  #排除第3个维度第2个水平的元素,不是删除,只是不访问这一水平而已

(3)删除数组的水平

  参考矩阵中的具体应用,这里不再赘述。

4、数组的常用运算

可以使用+,-,*,/进行运算。

(完)

本文为本站原创,如需转载,请注明出处:R语言中数组对象的使用-翔宇亭IT乐园

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论

用户名: 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 1分

内 容:

            请注意用语文明且合法,不要发布带有攻击性、侮辱性的言论,谢谢合作!

         通知管理员 验证码:

关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图 | 用户守则 | 联系我们
本站大多数内容来自互联网或网站会员发布,如有侵权,请来信告之,谢谢!
Copyright © 2007-2017 biye5u.com. All Rights Reserved.
网站备案号:黑ICP备13005378号-3