栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > R语言

R语言数据结构之数组

R语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

R语言数据结构之数组

R 语言可以创建一维或多维数组。R 语言数组是一个同一类型的集合,矩阵 matrix 其实就是一个二维数组。

Usage   array(data = NA, dim = length(data), dimnames = NULL) 1. 数组创建
#  一维数组
a <- array(c(1:20))
# 二维数组
a <- array(c(1:30),dim=c(6,5))
# 三维数组,data元素循环使用
a <- array(data=c(1:30),dim=c(6,5,2))
array(0,dim=c(3,4,2))

注:一维数组通常看起来像向量,但某些函数的处理方式可能有所不同;二维数组就是矩阵

2. 命名数组列和行
row.names <- c("ROW1","ROW2","ROW3")
column.names <- c("COL1","COL2","COL3")
matrix.names <- c("Matrix1","Matrix2")

# 创建数组
result <- array(data = c(1:18),dim = c(3,3,2),
                dimnames = list(row.names, column.names, matrix.names))
# 修改第一纬度名称(行名)
dimnames(result)[1] = list(c("r1","r2","r3"))
# 修改各个维度名称
dimnames(result) = list(c("r1","r2","r3"),c("c1","c2","c3"),c("m1","m2"))
3. 数组元素操作
a <- array(c(11:70),dim=c(6,5,2))
dim(a) # 查看维度

a[1,2,1] #  一个元素

a[,,2] # 第二个matrix

a[3,,2] # 第二个matrix的第三行

a[3,,] # 所有matrix的第三行

a[c(1,3),2,] # 所有matrix的第一三行和第二列

# 修改
a[1,2,1] = 100

# 选择,返回向量
a[which(a>30)]
a[a>30]

# 数组的四则运算
b <- array(c(10:60),dim=c(6,5,2))
a*2+b
4. 跨数组元素的计算
# Create two vectors of different lengths.
vector1 <- c(5,9,3)
vector2 <- c(10,11,12,13,14,15)

# Take these vectors as input to the array.
new.array <- array(c(vector1,vector2),dim = c(3,3,2))
print(new.array)

# 第一维度(行)求和. across所有列和所有matrix,返回向量,长度等于行数。
result <- apply(new.array, c(1), sum)
print(result)
# 两个matrix相加
result <- apply(new.array, c(1,2), sum)
print(result)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/855731.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号