0Pricing
R Academy · Lección

Construcción de cadenas con paste() y paste0()

Concatene cadenas con separadores usando paste y paste0.

Construcción de cadenas con paste() y paste0() es una lección gratuita de R Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de R Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de R Academy incluye 4 lecciones en total.

Conceptos básicos de paste()

paste() convierte sus argumentos en cadenas de caracteres y los concatena utilizando un separador. De forma predeterminada, el separador es un espacio simple ' '. Es la función más versátil de base R para crear cadenas.

paste('Hello', 'World')
paste('User', 'ID', ':', 42)
paste('R', 'version', '4.3.1')

paste0() — atajo sin separador

paste0() es idéntica a paste(..., sep=''). Concatena cadenas sin ningún separador entre ellas. Es la función habitual para crear rutas de archivos, nombres de columnas o URL mediante programación.

paste0('file_', 1:5, '.csv')
paste0('col_', c('a', 'b', 'c'))
paste0('/home/user/', 'data.csv')

Cambiar el separador con sep

El argumento sep controla qué se coloca entre cada argumento. Úselo para crear filas CSV, rutas de archivos, cadenas de fechas o cualquier salida delimitada.

# Hyphen-separated date
paste('2024', '05', '29', sep = '-')
# Slash-separated path
paste('home', 'user', 'docs', sep = '/')
# Comma-separated
paste('Alice', 'Bob', 'Carol', sep = ', ')

paste() vectorizado

paste() está vectorizada: cuando recibe vectores, empareja los elementos posición por posición (reciclando los vectores más cortos si es necesario). El resultado tiene la misma longitud que el vector de entrada más largo.

labels <- c('Item', 'Item', 'Item')
numbers <- c(1, 2, 3)
paste(labels, numbers)
# Shorter form using recycling
paste('Item', 1:5)

Convertir un vector en una sola cadena

El argumento collapse une todos los elementos del vector de resultados en una sola cadena, utilizando el valor de collapse como separador entre los elementos. Sin collapse, se obtiene un vector de caracteres; con él, se obtiene una sola cadena.

fruits <- c('apple', 'banana', 'cherry')
# Without collapse: character vector of length 3
paste('I like', fruits)
# With collapse: single string
paste('I like', fruits, collapse = ' and ')

sep y collapse juntos

Puede usar sep y collapse en la misma llamada. Primero, sep une los vectores de argumentos elemento por elemento; después, collapse une el vector de caracteres resultante en una sola cadena.

first <- c('John', 'Jane', 'Bob')
last  <- c('Doe', 'Smith', 'Brown')
# sep joins first+last, collapse joins all three names
paste(first, last, sep = ' ', collapse = ', ')

paste0() para crear nombres de variables

paste0() se usa habitualmente para crear mediante programación nombres de variables o columnas, rutas de archivos y cadenas similares a SQL, sin separadores innecesarios.

# Build column names
col_names <- paste0('Q', 1:5, '_score')
print(col_names)
# Build file paths
years <- 2020:2023
files <- paste0('data/report_', years, '.csv')
print(files)

Conversión numérica en paste()

paste() convierte automáticamente números, valores lógicos y otros tipos en cadenas de caracteres. No necesita llamar primero a as.character(): paste() lo gestiona de forma transparente.

n <- 42
pi_val <- 3.14159
flag <- TRUE
paste('Count:', n)
paste('Pi =', pi_val)
paste('Active:', flag)
paste0('n=', n, ' pi=', round(pi_val, 2))

Crear filas similares a CSV

Combine paste() vectorizada con collapse = ',' para crear cadenas de salida sencillas en formato CSV a partir de un data frame sin cargar ningún paquete externo.

names_vec  <- c('Alice', 'Bob', 'Carol')
scores_vec <- c(85, 92, 78)
rows <- paste(names_vec, scores_vec, sep = ',')
cat(paste(rows, collapse = '\n'))

Gestión de NA en paste()

A diferencia de muchas funciones de R, paste() convierte NA en la cadena literal 'NA' en lugar de propagar el valor ausente. Esto resulta útil, pero puede sorprender a quienes esperan que los valores ausentes se gestionen silenciosamente.

x <- c('Hello', NA, 'World')
paste(x, '!')
# NA becomes the string 'NA'
result <- paste0('Value: ', NA)
print(result)
print(class(result))

Patrones prácticos: paste() en informes

paste() resulta especialmente útil para generar cadenas legibles en informes. Combine paste0(), round() y paste() con collapse para crear frases resumidas a partir de los datos.

mean_score <- 83.7
n_students  <- 28
high_score  <- 99
msg <- paste0(
  'Class summary: ', n_students, ' students, ',
  'mean score ', round(mean_score, 1), ', ',
  'top score ', high_score, '.'
)
cat(msg)

Comprobación rápida

¿Qué hace el argumento collapse de paste()?

paste() y paste0(): conclusiones clave

Conclusiones clave sobre paste() y paste0():

  • paste(a, b) une con un espacio; paste0(a, b) une sin separador
  • sep controla la cadena colocada entre cada argumento
  • collapse reduce el vector resultante a una sola cadena
  • Ambas funciones están vectorizadas y reciclan los argumentos más cortos
  • NA se convierte en la cadena literal 'NA'
  • Los números y los valores lógicos se convierten automáticamente a caracteres
# sep vs collapse at a glance
x <- c('a', 'b', 'c')
y <- c(1, 2, 3)
cat('paste (sep=-)  :', paste(x, y, sep = '-'), '\n')
cat('paste (collapse):', paste(x, collapse = '+'), '\n')
cat('paste0          :', paste0(x, y), '\n')

Preguntas frecuentes

¿La lección «Construcción de cadenas con paste() y paste0()» es gratis?

Sí — el texto completo de «Construcción de cadenas con paste() y paste0()» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de R Academy, actualiza a CoddyKit PRO. El curso de R Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Construcción de cadenas con paste() y paste0()»?

Concatene cadenas con separadores usando paste y paste0. Practicas R Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar R Academy?

No se requiere experiencia previa. R Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Construcción de cadenas con paste() y paste0()»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de R Academy?

Sí. Cada lección de R Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Construcción de cadenas con paste() y paste0()
  2. Salida con formato mediante sprintf()
  3. Visualización de resultados con cat() y print()
  4. Relleno y alineación de cadenas
← Volver a R Academy