R 数组

R 数组 首页 / R入门教程 / R 数组

        在R中,数组是数据对象,可让我们以二维方式存储数据。在R中,借助于 array()函数创建一个数组。此array()函数将向量作为输入,并使用 dim 参数中的向量值创建一个数组。

        例如-如果我们将创建一个尺寸为(2、3、4)的数组,则它将创建4个2行3列的矩形矩阵。

R数组语法

R数组具有以下语法:

链接:https://www.learnfk.comhttps://www.learnfk.com/R/r-arrays.html

来源:LearnFk无涯教程网

array_name <- array(data, dim= (row_size, column_size, matrices, dim_names))

data                   -  数据是array()函数中的第一个参数。它是输入向量,提供给数组。

dim                    -  在R中,数组由多维矩阵组成。

row_size          -  此参数定义数组可以存储的行元素的数量。

column_size   -  此参数定义数组可以存储的列元素的数量。

dim_names     -  此参数用于更改行和列的默认名称。

R Arrays

创建数组

        在R中,数组创建非常简单。我们可以使用vector和array()函数轻松创建一个数组。在数组中,数据以矩阵形式存储。创建矩阵只有两个步骤,

  1. 第一步,我们将创建两个不同长度的向量。
  2. 创建矢量后,我们会将这些矢量作为数组的输入。

让我们看一个示例,以了解如何在vectors和array()函数的帮助下实现数组。

示例

#创建两个不同长度的向量
vec1 <-c(1,3,5)
vec2 <-c(10,11,12,13,14,15)

#将这些向量作为数组的输入
res <- array(c(vec1,vec2),dim=c(3,3,2))
print(res)

输出

, , 1
     [,1] [,2] [,3]
[1,]    1   10   13
[2,]    3   11   14
[3,]    5   12   15

, , 2
     [,1] [,2] [,3]
[1,]    1   10   13
[2,]    3   11   14
[3,]    5   12   15

命名行和列

        在R中,我们可以为数组的行,列和矩阵指定名称。这是通过array()函数的dim name参数完成的。不必为行和列指定名称。它仅用于区分行和列,以更好地理解。

        下面是一个示例,其中我们创建两个数组,并为行,列和矩阵命名。

#创建两个不同长度的向量
vec1 <-c(1,3,5)
vec2 <-c(10,11,12,13,14,15)

#初始化行、列和矩阵的名称
col_names <- c("Col1","Col2","Col3")
row_names <- c("Row1","Row2","Row3")
matrix_names <- c("Matrix1","Matrix2")

#将向量作为数组的输入
res <- array(c(vec1,vec2),dim=c(3,3,2),dimnames=list(row_names,col_names,matrix_names))
print(res)

输出

, , Matrix1

     Col1 Col2 Col3
Row1    1   10   13
Row2    3   11   14
Row3    5   12   15

, , Matrix2

     Col1 Col2 Col3
Row1    1   10   13
Row2    3   11   14
Row3    5   12   15

访问数组

        像  C  或 C++  一样,我们可以访问数组的元素。借助索引访问元素。简单来说,我们可以在索引方法的帮助下访问数组的元素。让我们看一个示例,以了解如何使用索引方法访问数组的元素。

, , Matrix1
     Col1 Col2 Col3
Row1    1   10   13
Row2    3   11   14
Row3    5   12   15

, , Matrix2
     Col1 Col2 Col3
Row1    1   10   13
Row2    3   11   14
Row3    5   12   15

Col1 Col2 Col3
   5   12   15

[1] 13

     Col1 Col2 Col3
Row1    1   10   13
Row2    3   11   14
Row3    5   12   15

操作数据

        该数组由多维组成的矩阵,因此可以通过访问矩阵的元素来执行对数组元素的操作。

#创建两个不同长度的向量
vec1 <-c(1,3,5)
vec2 <-c(10,11,12,13,14,15)

#将向量作为 array1 的输入
res1 <- array(c(vec1,vec2),dim=c(3,3,2))
print(res1)

#创建两个不同长度的向量
vec1 <-c(8,4,7)
vec2 <-c(16,73,48,46,36,73)

#将向量作为 array2 的输入
res2 <- array(c(vec1,vec2),dim=c(3,3,2))
print(res2)

#从这些数组创建矩阵
mat1 <- res1[,,2]
mat2 <- res2[,,2]
res3 <- mat1+mat2
print(res3)

输出

, , 1
     [,1] [,2] [,3]
[1,]    1   10   13
[2,]    3   11   14
[3,]    5   12   15

, , 2
     [,1] [,2] [,3]
[1,]    1   10   13
[2,]    3   11   14
[3,]    5   12   15

, , 1
     [,1] [,2] [,3]
[1,]    8   16   46
[2,]    4   73   36
[3,]    7   48   73

, , 2
     [,1] [,2] [,3]
[1,]    8   16   46
[2,]    4   73   36
[3,]    7   48   73


     [,1] [,2] [,3]
[1,]    9   26   59
[2,]    7   84   50
[3,]   12   60   88

数组计算

        出于计算目的,r提供了 apply()函数。此套用函数包含三个参数,即x,margin和function。此函数采用我们必须在其上执行计算的数组。 apply()函数的基本语法如下:

apply(x, margin, fun)

在此,x是一个数组,一个空白是使用的数据集的名称,fun是要应用于该数组的元素的函数。

#创建两个不同长度的向量
vec1 <-c(1,3,5)
vec2 <-c(10,11,12,13,14,15)

#将向量作为 array1 的输入
res1 <- array(c(vec1,vec2),dim=c(3,3,2))
print(res1)

#使用应用功能
result <- apply(res1,c(1),sum)
print(result)

输出

, , 1
     [,1] [,2] [,3]
[1,]    1   10   13
[2,]    3   11   14
[3,]    5   12   15

, , 2
     [,1] [,2] [,3]
[1,]    1   10   13
[2,]    3   11   14
[3,]    5   12   15

[1] 48 56 64

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开始学游戏开发 -〔蔡能〕

Vue开发实战 -〔唐金州〕

说透中台 -〔王健〕

接口测试入门课 -〔陈磊〕

Service Mesh实战 -〔马若飞〕

软件设计之美 -〔郑晔〕

Python自动化办公实战课 -〔尹会生〕

如何讲好一堂课 -〔薛雨〕

超级访谈:对话汤峥嵘 -〔汤峥嵘〕

好记忆不如烂笔头。留下您的足迹吧 :)