Como en casi cualquier otro lenguaje de pro­gra­ma­ción, en la pro­gra­ma­ción con R, los de­sa­rro­lla­do­res pueden utilizar arrays para almacenar elementos del mismo tipo de datos y apro­ve­char sus fu­n­cio­na­li­da­des

¿Para qué se necesitan arrays en R?

Los arrays son, al igual que los strings en R, una es­tru­c­tu­ra de datos estándar que resulta es­pe­cia­l­me­n­te útil cuando se desea organizar y acceder a los datos. Mediante la in­de­xa­ción, los pro­gra­ma­do­res pueden acceder a los datos al­ma­ce­na­dos en el array de forma eficiente.

Incluso las ope­ra­cio­nes que afectan a todo el conjunto de datos pueden rea­li­zar­se fácil y efi­cie­n­te­me­n­te con arrays. Los arrays de R con múltiples di­me­n­sio­nes también permiten re­pre­se­n­tar datos mu­l­ti­di­me­n­sio­na­les, por ejemplo, matrices o tensores.

Cómo crear arrays en R

Los pro­gra­ma­do­res pueden crear arrays en R con di­me­n­sio­nes di­fe­re­n­tes. Así que, tanto si quieres asignar un vector simple como una compleja es­tru­c­tu­ra mu­l­ti­di­me­n­sio­nal, todo es posible con un array. A menudo se utilizan arrays bi­di­me­n­sio­na­les, los cuales son una especie de tabla o matriz.

Se puede crear un array bi­di­me­n­sio­nal simple que contenga los números del 1 al 6 uti­li­za­n­do la función array() de la siguiente manera:

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

Pasamos dos pa­rá­me­tros a la función array(): primero, usamos 1:6 para es­pe­ci­fi­car el rango de valores que contiene el array R. El segundo parámetro re­pre­se­n­ta las di­me­n­sio­nes 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 di­fe­re­n­tes tipos de datos dentro de una es­tru­c­tu­ra, te re­co­me­n­da­mos 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 di­me­n­sio­nes deseadas:

# Convertir vectores en arrays
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

In­de­xa­ción: cómo acceder a los elementos del array

Puedes acceder a los elementos de tu array uti­li­za­n­do la in­de­xa­ción. Aquí, los índices del elemento deseado se es­pe­ci­fi­can entre corchetes, como en muchos otros lenguajes de pro­gra­ma­ción. En el caso de los arrays mu­l­ti­di­me­n­sio­na­les, además de los elementos in­di­vi­dua­les, 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

Calcular con arrays

Puedes utilizar arrays para aplicar varias funciones ma­te­má­ti­cas 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 di­me­n­sio­nes o longitud, lo que puedes averiguar uti­li­za­n­do 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 ope­ra­cio­nes ari­t­mé­ti­cas básicas, que están di­s­po­ni­bles como ope­ra­do­res 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 uti­li­za­n­do la función de R para arrays apply(array, MARGIN, FUN). La función toma varios pa­rá­me­tros:

  • array: array a co­n­si­de­rar
  • MARGIN: dimensión para la que se va a aplicar la función, donde 1 re­pre­se­n­ta 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 ne­ce­si­da­des.

Ir al menú principal