Operaciones de arrays en programación R

Las arrays son los objetos de datos R que almacenan los datos en más de dos dimensiones. Los arreglos son estructuras de datos n-dimensionales. Por ejemplo, si creamos una array de dimensiones (2, 3, 3), crea 3 arrays rectangulares, cada una con 2 filas y 3 columnas. Son estructuras de datos homogéneas.

Ahora, veamos cómo crear arreglos en R. Para crear un arreglo en R necesitas usar la función llamada array(). Los argumentos de este array() son el conjunto de elementos en vectores y tienes que pasar un vector que contenga las dimensiones del array.

Array_NAME <- array(data, dim = (row_Size, column_Size, matrices, dimnames)

dónde,

datos : un vector de entrada dado a la array.
arrays : consta de arrays multidimensionales.
row_Size : número de elementos de fila que puede almacenar una array.
column_Size : número de elementos de columna que puede almacenar una array.
dimnames : se utiliza para cambiar los nombres predeterminados de filas y columnas según las preferencias del usuario.

Ejemplo:

# Create the vectors with different length
vector1 <- c(1, 2, 3)
vector2 <- c(10, 15, 3, 11, 16, 12)
  
# taking this vector as input
result <- array(c(vector1, vector2), dim = c(3, 3, 2))
print(result)

Producción:

, , 1

     [,1] [,2] [,3]
[1,]    1   10   11
[2,]    2   15   16
[3,]    3    3   12

, , 2

     [,1] [,2] [,3]
[1,]    1   10   11
[2,]    2   15   16
[3,]    3    3   12

Operaciones en arreglos

Nombrar columnas y filas

Podemos dar nombres a las filas y columnas usando dimnames.
Ejemplo:

# Creating Vectors
vector1 <- c(1, 2, 3)
vector2 <- c(10, 15, 3, 11, 16, 12)
  
# Giving Names to rows and columns
column.names <- c("COLUMN1", "COLUMN2", "COLUMN3")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix.NO1", "Matrix.NO2")
  
# taking this vector as input
result <- array(c(vector1, vector2), dim = c(3, 3, 2), 
                  dimnames = list(row.names, column.names, matrix.names))
print(result)

Producción:

, , Matrix.NO1

     COLUMN1 COLUMN2 COLUMN3
ROW1       1      10      11
ROW2       2      15      16
ROW3       3       3      12

, , Matrix.NO2

     COLUMN1 COLUMN2 COLUMN3
ROW1       1      10      11
ROW2       2      15      16
ROW3       3       3      12

Manipulación de elementos de array

Una array se compone de múltiples dimensiones y las operaciones se realizan accediendo a elementos.

Ejemplo:

# creating two vectors of different length
# and taking vector as input
vector1 <- c(1, 2, 3)
vector2 <- c(4, 6, 8, 0, 2, 4)
array1 <- array(c(vector1, vector2), dim = c(3, 3, 2))
  
# creating other array
vector3 <- c(3, 2, 1)
vector4 <- c(2, 4, 6, 8, 3, 5)
array2 <- array(c(vector3, vector4), dim = c(3, 3, 2))
  
# create matrices and add them
matrix1 <- array1[,,2]
matrix2 <- array2[,,2]
result <- matrix1 + matrix2
print(result)

Producción:

     [,1] [,2] [,3]
[1,]    4    6    8
[2,]    4   10    5
[3,]    4   14    9

Acceder a los elementos de la array

Usando la posición del índice en la array, se puede acceder fácilmente a cualquier elemento. Además, podemos alterar/cambiar el elemento en una array usando la posición del índice.
Sintaxis:

Array_Name[row_position, Column_Position, Matrix_Level]

Ejemplo:

# Creating Vectors
vector1 <- c(1, 2, 3)
vector2 <- c(10, 15, 3, 11, 16, 12)
column.names <- c("COLUMN1", "COLUMN2", "COLUMN3")
row.names <- c("ROW1", "ROW2", "ROW3")
matrix.names <- c("Matrix.NO1", "Matrix.NO2")
  
# taking vector as input
result <- array(c(vector1, vector2), dim = c(3, 3, 2), 
                  dimnames = list(row.names, column.names, matrix.names))
print(result)
  
# print third row of second matrix
print(result[3,,2])

Producción:

, , Matrix.NO1

     COLUMN1 COLUMN2 COLUMN3
ROW1       1      10      11
ROW2       2      15      16
ROW3       3       3      12

, , Matrix.NO2

     COLUMN1 COLUMN2 COLUMN3
ROW1       1      10      11
ROW2       2      15      16
ROW3       3       3      12

COLUMN1 COLUMN2 COLUMN3 
      3       3      12 

Cálculo a través del elemento de array

La función apply() se usa para cálculos en elementos de array.

Sintaxis:

apply(x, margin, fun)

donde,
x – una array.
margen : nombre del conjunto de datos utilizado.
fun – función que se aplicará a los elementos de la array.

Ejemplo:

# create two vectors and take them as input in array
vector1 <- c(3, 2, 1)
vector2 <- c(2, 4, 6, 8, 0, 1)
new.array <- array(c(vector1, vector2), dim = c(3, 3, 2))
print(new.array)
  
# using apply and calculate the sum of rows in matrices
result <- apply(new.array, c(1), sum)
print(result)

Producción:

, , 1

     [,1] [,2] [,3]
[1,]    3    2    8
[2,]    2    4    0
[3,]    1    6    1

, , 2

     [,1] [,2] [,3]
[1,]    3    2    8
[2,]    2    4    0
[3,]    1    6    1

[1] 26 12 16

Publicación traducida automáticamente

Artículo escrito por shivalibhadaniya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *