Ir al contenido principal

Arrays en R

Aprende sobre los arrays en R, incluida la indexación con ejemplos, además de la creación y suma de matrices y la función apply().
Actualizado 17 sept 2026  · 8 min leer

Explorar con IA

ChatGPTClaudePerplexity

Un array es una estructura de datos capaz de almacenar datos multidimensionales. En R, un array es un objeto que puede contener datos de dos o más dimensiones. Por ejemplo, en matrices cuadradas puedes tener dos filas y dos columnas, y la dimensión puede llegar a cinco. Los arrays solo almacenan valores de un mismo tipo de dato. Los datos pueden tener más de una dimensión, con filas, columnas y dimensiones de cierta longitud.

Creación de un array

La función array() crea un array a partir de un vector (los números) y las dimensiones ("dim") indicadas como argumento.

Veamos un ejemplo donde se crean dos vectores llamados "array1" y "array2".

vector1 =  c (5, 10, 15,20)
vector2 =  c (25, 30, 35, 40, 45, 50,55,60)

Puedes usar los dos vectores anteriores como entrada de un array con dimensión 4 * 4; así se crean dos matrices o datos bidimensionales.

final = array (c (array1, array2),dim =c(4,4,3))
print (final)

La salida del código anterior es la siguiente:

, , 1

     [,1] [,2] [,3] [,4]
[1,]    5   25   45    5
[2,]   10   30   50   10
[3,]   15   35   55   15
[4,]   20   40   60   20

, , 2

     [,1] [,2] [,3] [,4]
[1,]   25   45    5   25
[2,]   30   50   10   30
[3,]   35   55   15   35
[4,]   40   60   20   40

, , 3

     [,1] [,2] [,3] [,4]
[1,]   45    5   25   45
[2,]   50   10   30   50
[3,]   55   15   35   55
[4,]   60   20   40   60

Vamos a renombrar nuestro array como "Arr1" y "Arr2" usando "matrix.names". Además, cambiaremos los nombres de filas a ("row1","row2") y los de columnas a ("column1","column2","column3"). La dimensión de la matriz es de 2 filas y 3 columnas.

array1 =  c (9 , 18 )
array2 = c (27,36)
r.names = c ("column1","column2","column3")
c.names = c ("row1","row2")
m.names = c ("Arr1", "Arr2")

final = array (c (array1,array2), dim=c (2,3,2), dimnames=list (c.names, r.names, m.names))
print(final)

La salida del código anterior muestra dos filas y tres columnas. Además, el valor de la columna se repite cuando se agota:

, , Arr1

     column1 column2 column3
row1       9      27       9
row2      18      36      18

, , Arr2

     column1 column2 column3
row1      27       9      27
row2      36      18      36

Indexación en un array

Un array contiene elementos en varias dimensiones y cada elemento puede accederse para operar con él. Los elementos se indexan con "[]"; en un array tipo matriz con filas y columnas, se indexa como: mat[row, column]

Tomemos un ejemplo en el que el array contiene un vector de entrada del 1 al 9. Hay solo tres filas y tres columnas, e incluye los valores del 1 al 9. "c.names" es el nuevo nombre de columnas con los valores ('c1', 'c2', 'c3') y 'r.names' son los nuevos nombres de filas ('r1', 'r2', 'r3'), también un vector.

a1=  c (1,2,3,4)
a2= c (5,6,7,8,9)
r.names = c ("c1","c2","c3")
c.names = c ("r1","r2","r3")
m.names = c ("first")

arr = array (c (a1,a2), dim=c (3,3,1), dimnames=list (c.names, r.names, m.names))
print(arr)
, , first

   c1 c2 c3
r1  1  4  7
r2  2  5  8
r3  3  6  9

La salida del código anterior es:

 , , first

   c1 c2 c3
r1  1  4  7
r2  2  5  8
r3  3  6  9 

Puedes ver que se generan las matrices del 1 al 9 con dimensión 3 × 3 (fila × columna) y que han cambiado los nombres de filas y columnas.

Veamos cómo extraer elementos del array con los siguientes ejemplos.

  1. Extraer el número "7" del array "arr" anterior.
arr[1,3,1]

7

La salida del código anterior es 7. En "arr[1,3,1]" se extrae la fila 1, columna 3, y el 1 indica la primera capa del array "arr".

  1. Para acceder al 1, "arr[1,1,1]": fila 1, columna 1, en la primera capa del array "arr".
arr[1,1,1]

1

La salida del código anterior es 1.

  1. Para acceder a varios valores a la vez, especifica el rango que quieres.
arr[1:2,1:2,1]
  c1 c2
r1 1 4
r2 2 5

El código anterior devuelve la siguiente salida: valores en 2 filas, 2 columnas y la primera capa del array "arr".

    c1    c2
r1    1    4
r2    2    5 
  1. Puedes acceder a toda la matriz "arr" con la siguiente sintaxis: "arr[ , ,1]" indica incluir todas las filas y columnas (separadas por comas y espacios). El 1 indica la capa del array "arr" a extraer.
arr[ , ,1]
  c1 c2 c3
r1 1 4 7
r2 2 5 8
r3 3 6 9

El código anterior devuelve la siguiente salida con todos los elementos:

    c1    c2    c3
r1    1    4    7
r2    2    5    8
r3    3    6    9 
  1. Puedes obtener la segunda fila completa con el siguiente código. En arr[2, ,1] se extrae la segunda fila (espacio para todas las columnas) y 1 indica la capa del array.
arr[2,,1]
c1
2
c2
5
c3
8

El código anterior devuelve la siguiente salida e imprime c1, c2 y c3.

c1 2
c2 5
c3 8
  1. Puedes obtener la segunda columna completa con el siguiente código. En arr[,2,1], el espacio con 2 indica la segunda columna, y 1 es la capa a extraer.
mat[ ,2,1]
r1
4
r2
5
r3
6

El código anterior devuelve la siguiente salida e imprime r1, r2 y r3.

r1 4
r2 5
r3 6

Creación y suma de matrices

Vamos a crear dos matrices llamadas mat1 y mat2 a partir de 'arr[ , ,1]', copiando todas las filas y columnas de 'arr'.

mat1 = arr[,,1]
mat2 = arr[,,1]
   c1 c2 c3
r1  2  8 14
r2  4 10 16
r3  6 12 18 

Suma las dos matrices 'mat1' y 'mat2' y guarda el resultado en final. También se imprime la salida.

final <- mat1+mat2
print(final)

La salida muestra que cada fila y columna de mat1 y mat2 se suman elemento a elemento.

   c1 c2 c3
r1  2  8 14
r2  4 10 16
r3  6 12 18 

apply()

apply() forma parte de los paquetes de R y reúne varias funciones que te ayudan a escribir código de forma más sencilla y eficiente. A continuación verás un ejemplo para calcular la suma de dos matrices.

La sintaxis de apply() es:
apply(x, margin, function)

Los argumentos indican lo siguiente:
x: un array o datos bidimensionales como matrices.
margin: indica dónde aplicar la función: c(1) para filas, c(2) para columnas y c(1,2) para filas y columnas.
function: función integrada de R o definida por el usuario que se aplicará sobre los datos.

Creemos un vector llamado 'array1' de longitud tres y 'array2' de longitud seis con el siguiente código.

array1 = c(5,10,15)
array2 = c(15,20,25,30,35,40)

A continuación, array() acepta los dos vectores 'array1' y 'array2' con una dimensión de 3 filas, 3 columnas y crea 2 matrices que se guardan en 'my. Array'.

my.Array <- array(c(array1,array2),dim = c(3,3,2))
print(my.Array)
, , 1

     [,1] [,2] [,3]
[1,]    5   15   30
[2,]   10   20   35
[3,]   15   25   40

, , 2

     [,1] [,2] [,3]
[1,]    5   15   30
[2,]   10   20   35
[3,]   15   25   40

El código anterior genera la siguiente salida: se crean dos matrices de 3 × 3 (filas × columnas).

, , 1

     [,1] [,2] [,3]
[1,]    5   15   30
[2,]   10   20   35
[3,]   15   25   40

, , 2

     [,1] [,2] [,3]
[1,]    5   15   30
[2,]   10   20   35
[3,]   15   25   40

A continuación, apply() se usa para calcular la suma de las dos matrices por columnas.

final <- apply(my.Array, c(2), sum)
print(final)
[1]  60 120 210

Como ves, se usa c(2) como margen y se suman los elementos por columnas en "my. Array" para obtener el siguiente resultado.

60 120 210

Por último, apply() se usa para calcular la suma de las dos matrices por filas.

final <- apply(my.Array, c(1), sum)
print(final)
[1] 100 130 160

De nuevo, con c(1) como margen se suman los elementos por filas en "my. Array" para obtener el siguiente resultado.

100 130 160

¡Enhorabuena!

¡Has llegado al final de este tutorial!

Has aprendido qué es un array en R, cómo crearlo e indexarlo con ejemplos, además de cómo crear y sumar matrices y usar la función apply().

Si quieres seguir aprendiendo R, haz el curso de DataCamp Introduction to R.

Referencias:
R-Arrays
R Array Function and Create Array in R

Temas
R
Ciencia de datos

Cursos de R

Curso

Introducción a R

4 h
3.1M
Domina los fundamentos del análisis de datos en R, como vectores, listas y marcos de datos, y practica R con conjuntos de datos reales.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow
Relacionado

Tutorial

Creación de una lista en R

Practica Listas en R utilizando el material del curso Introducción a R de DataCamp.
Ryan Sheehy's photo

Ryan Sheehy

3 min

Tutorial

A Loops in R Tutorial - Uso y Alternativas

Un tutorial sobre bucles en R que examina las construcciones disponibles en R para realizar bucles. Descubra alternativas utilizando la función de vectorización de R.
Carlo Fanara's photo

Carlo Fanara

32 min

multiple linear regression

Tutorial

Regresión lineal múltiple en R: tutorial con ejemplos

Una visión completa para entender las regresiones lineales múltiples en R a través de ejemplos.
Zoumana Keita 's photo

Zoumana Keita

12 min

Tutorial

Tutorial sobre el uso de funciones en R

Descubra qué son las funciones R, los diferentes tipos de funciones en R y cómo crear sus propias funciones en R.
Javier Canales Luna's photo

Javier Canales Luna

11 min

Tutorial

Tutorial de Subconjuntos en R

Descubre cómo acceder a los datos de tu marco de datos con el subconjunto. Aprende a hacer subconjuntos utilizando paréntesis o la función subconjunto() de R.
DataCamp Team's photo

DataCamp Team

4 min

Tutorial

Tutorial sobre cómo importar datos a R

Averigua cómo importar datos a R, incluidos archivos CSV, JSON, Excel, HTML, bases de datos, SAS, SPSS, Matlab y otros, utilizando los conocidos paquetes de R.
Abid Ali Awan's photo

Abid Ali Awan

10 min

Ver MásVer Más