Arrays en R: cómo funcionan

Como en casi cualquier otro lenguaje de programación, en la programación con R, los desarrolladores pueden utilizar arrays para almacenar elementos del mismo tipo de datos y aprovechar sus funcionalidades

¿Para qué se necesitan arrays en R?

Los arrays son, al igual que los strings en R, una estructura de datos estándar que resulta especialmente útil cuando se desea organizar y acceder a los datos. Mediante la indexación, los programadores pueden acceder a los datos almacenados en el array de forma eficiente.

Incluso las operaciones que afectan a todo el conjunto de datos pueden realizarse fácil y eficientemente con arrays. Los arrays de R con múltiples dimensiones también permiten representar datos multidimensionales, por ejemplo, matrices o tensores.

Cómo crear arrays en R

Los programadores pueden crear arrays en R con dimensiones diferentes. Así que, tanto si quieres asignar un vector simple como una compleja estructura multidimensional, todo es posible con un array. A menudo se utilizan arrays bidimensionales, los cuales son una especie de tabla o matriz.

Se puede crear un array bidimensional simple que contenga los números del 1 al 6 utilizando la función array() de la siguiente manera:

ejemplodearray <- array(1:6, dim = c(2, 3))
R

Pasamos dos parámetros a la función array(): primero, usamos 1:6 para especificar el rango de valores que contiene el array R. El segundo parámetro representa las dimensiones del array, en este caso se crea un array 2x3.

Nota

Ten en cuenta que dentro de un array en R, solo se pueden almacenar elementos del mismo tipo de datos. Si quieres almacenar diferentes tipos de datos dentro de una estructura, te recomendamos que eches un vistazo al tipo de datos list de R.

Con array() no solo puedes crear nuevos arrays, sino también convertir vectores o matrices que ya existen en tu código en arrays. Para ello, basta con llamar a la función con el elemento que quieres convertir en array y asignarle la dimensiones deseadas:


vector <- 1:9
vector_en_array <- array(vector, dim = c(3,3))

# Convertir matrices en arrays
matriz <- matriz(1:9, nrow = 3, ncol = 3)
matriz_en_array <- array(matriz, dim = dim(matriz))
R

Indexación: cómo acceder a los elementos del array

Puedes acceder a los elementos de tu array utilizando la indexación. Aquí, los índices del elemento deseado se especifican entre corchetes, como en muchos otros lenguajes de programación. En el caso de los arrays multidimensionales, además de los elementos individuales, se pueden mostrar filas o columnas enteras:

ejemplodearray <- array(1:6, dim = c(2, 3))

# Acceso al elemento de la primera fila y la segunda columna
elemento <- ejemplodearray[1, 2]

# Acceso a la primera línea
línea <- ejemplodearray[, 1]

# Acceso a la primera columna
columna <- ejemplodearray[1, ]
R
Nota

Si ya utilizas otros lenguajes de programación y no estás aprendiendo a programar con R, la indexación en R puede parecerte un poco extraña: no empieza en 0, como es habitual en muchos otros lenguajes, sino que empieza en 1 como cuando se cuenta de forma natural.

Calcular con arrays

Puedes utilizar arrays para aplicar varias funciones matemáticas a todo el conjunto de datos. Por ejemplo, puedes calcular la suma de dos arrays, que es como sumar dos matrices. Asegúrate de que los arrays tienen las mismas dimensiones o longitud, lo que puedes averiguar utilizando la función de longitud de arrays de R.

array1 <- array(1:4, dim = c(2,2))
array2 <- array(5:8, dim = c(2,2))
resultado <- array1 + array2
R

Además de las operaciones aritméticas básicas, que están disponibles como operadores R, en R también existen varias funciones para arrays que te ayudarán con diversos cálculos. Por ejemplo, puedes calcular la media de todos los elementos de un array con el comando R.

media <- mean(array1)
R

Otra ventaja es que puedes aplicar varias funciones a una dimensión de tu elección utilizando la función de R para arrays apply(array, MARGIN, FUN). La función toma varios parámetros:

  • array: array a considerar
  • MARGIN: dimensión para la que se va a aplicar la función, donde 1 representa las filas y 2 las columnas
  • FUN: función vectorial que devuelve un resultado escalar

Un ejemplo de uso de apply() podría ser el siguiente:

# Crear array
testarray <- array(1:6, dim = c(2,3))

# Aplicación de apply()
media_columnas <- apply(array, MARGIN = 2, FUN = mean)

# Resultados
print(media_columnas)
R

El resultado del código del programa anterior devuelve tres valores, cada uno de los cuales indica el valor medio de la columna: 1.5 3.5 5.5.

Consejo

¿Trabajas con R en tu página web? En IONOS puedes conseguir hosting de espacio ilimitado adecuado a tus necesidades.