Ir al contenido principal

How to Transpose a Matrix in R: A Quick Tutorial

Learn three methods to transpose a matrix in R in this quick tutorial
Actualizado 17 sept 2026

Explorar con IA

ChatGPTClaudePerplexity

Transponer matrices es una tarea básica de manipulación de datos en el entorno de programación en R. En este tutorial, te guiaré paso a paso para transponer matrices en R de forma eficaz, mostrando varios métodos para conseguirlo. ¡Vamos a ello!

La respuesta rápida: cómo transponer una matriz en R

Si vas con prisa, la forma más rápida de transponer una matriz en R es usar la función t(). La función t() forma parte de R base y ofrece una manera inmediata de transponer una matriz. Aquí tienes un ejemplo sencillo:

# Creating a sample matrix
my_matrix <- matrix(1:6, nrow = 2, ncol = 3)
print(my_matrix)
      [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
# Transposing the matrix
transposed_matrix <- t(my_matrix)
print(transposed_matrix)
      [,1] [,2]
[1,]    1    2
[2,]    3    4
[3,]    5    6

¿Qué significa transponer?

Transponer una matriz consiste en intercambiar sus filas y columnas, convirtiendo los datos de las filas en columnas y viceversa. Esta operación se usa a menudo para reestructurar conjuntos de datos y adaptarlos mejor a ciertos análisis o visualizaciones. Por ejemplo, imagina una matriz con las temperaturas diarias de distintas ciudades. Transponer este data frame intercambiaría las filas (días) por las columnas (ciudades), lo que podría simplificar tareas posteriores como el trazado de gráficos o el análisis estadístico.

Día

New York

Los Ángeles

Chicago

Día 1

22

25

18

Día 2

20

28

21

Un conjunto de datos meteorológicos de 3 ciudades antes de transponer

Ciudad

Día 1

Día 2

New York

22

20

Los Ángeles

25

28

Chicago

18

21

Un conjunto de datos meteorológicos de 3 ciudades después de transponer

Tres métodos para transponer una matriz en R

A partir de nuestra matriz de temperaturas diarias por ciudad, veamos cómo transponerla en R con distintos métodos.

Método n.º 1: cómo transponer una matriz en R con R base

El método más directo para transponer una matriz en R es usar la función t() de R base, como ya hemos visto. Es eficiente y sencillo, y la opción ideal cuando quieres transponer matrices rápidamente sin paquetes adicionales.

# Assume that temparature_matrix is already predefined
print(temperature_matrix)
      New_York Los_Angeles Chicago
Day 1       22          20      25
Day 2       28          18      21
# Transpose temperature_matrix
transposed_matrix <- t(temperature_matrix)

print(transposed_matrix)
            Day 1 Day 2
New_York      22    28
Los_Angeles   20    18
Chicago       25    21

Método n.º 2: transponer una matriz en R con tidyverse

El tidyverse es un sólido conjunto de herramientas en R que hace que trabajar con datos sea eficiente y coherente. Aunque tidyverse se usa normalmente con data frames, puedes convertir una matriz en data frame y luego usar tidyr para "transponerla" mediante pivotes. Es especialmente útil si ya estás usando el tidyverse en tu análisis.

library(tidyr)
library(dplyr)
library(tibble)

# Converting the matrix to a data frame for tidyverse manipulation
temperature_df <- as.data.frame(temperature_matrix)

# "Transposing" the matrix by converting to long then wide format
transposed_df <- temperature_df %>%
  rownames_to_column(var = "Day") %>%
  pivot_longer(-Day, names_to = "City", values_to = "Temperature") %>%
  pivot_wider(names_from = City, values_from = Temperature)

print(transposed_df)
# A tibble: 2 × 4
  Day   New_York Los_Angeles Chicago
  <chr>    <dbl>       <dbl>   <dbl>
1 Day 1       22          20      25
2 Day 2       28          18      21

Método n.º 3: transponer una matriz en R con data.table

De forma similar al enfoque con tidyverse, data.table trabaja con data frames o data tables. Así puedes transponer una matriz convirtiéndola primero en data table:

library(data.table)

# Converting the matrix to a data.table
temperature_dt <- as.data.table(temperature_matrix, keep.rownames = "Day")

# Transposing the matrix by melting and dcasting (similar to pivot_longer and pivot_wider)
transposed_dt <- melt(temperature_dt, id.vars = "Day") %>%
  dcast(variable ~ Day, value.var = "value")

print(transposed_dt)
      variable Day 1 Day 2
1:    New_York    22    28
2: Los_Angeles    20    18
3:     Chicago    25    21

Para terminar

Transponer matrices es una habilidad fundamental en programación en R. Ya sea con R base, con tidyr dentro de tidyverse, o con el paquete data.table, R ofrece opciones flexibles para adaptarse a tus necesidades. Si quieres aprender más, echa un vistazo a nuestra chuleta de Reshaping Data with tidyr in R, o mejor aún, empieza con el itinerario de aprendizaje Data Manipulation in R.


Adel Nehme's photo
Author
Adel Nehme
LinkedIn

Adel es educador de Ciencia de Datos, conferenciante y Evangelista en DataCamp, donde ha publicado varios cursos y formación en directo sobre análisis de datos, aprendizaje automático e ingeniería de datos. Le apasiona difundir las habilidades y la alfabetización en materia de datos en las organizaciones y en la intersección entre tecnología y sociedad. Tiene un máster en Ciencia de Datos y Análisis Empresarial. En su tiempo libre, puedes encontrarle pasando el rato con su gato Louis.

Temas
R

¡Continúa hoy tu camino con R!

programa

Programación R

22 h
¡Mejora tus conocimientos de programación en R! Aprende a trabajar con estructuras de datos comunes, a optimizar el código y a escribir tus propias funciones.
Ver detallesRight Arrow
Iniciar Curso
Ver másRight Arrow