武林网
首页 > 编程 > R> 正文

R语言中数组对象的使用

2023年05月01日 13:45:48
字体:
来源:转载
供稿:网友

在学习了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语言中矩阵的使用

下一篇:R语言中列表对象的使用

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
学习交流
热门图片
猜你喜欢的新闻
猜你喜欢的关注

新闻热点

疑难解答

图片精选

网友关注

关于本站 - 网上投稿 - 商务合作 - 隐私政策 - 网站地图
Copyright © 2008 - 2023 VEVB.COM. All Rights Reserved.武林网 版权所有

AltStyle によって変換されたページ (->オリジナル) /