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