0Pricing
R Academy · Lección

Visualización de resultados con cat() y print()

Distinga entre cat() para la salida de consola y print() para objetos.

Visualización de resultados con cat() y print() es una lección gratuita de R Academy en CoddyKit. Esta es la lección 3 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.

print() — La función de salida predeterminada

print() es el método predeterminado de R para mostrar objetos. Utiliza la clase del objeto para seleccionar el método de formato adecuado. En las sesiones interactivas, escribir el nombre de una variable equivale a llamar a print() sobre ella.

x <- c(1, 2, 3, 4, 5)
print(x)
# Equivalent to:
x

cat() — Salida de caracteres sin formato

cat() concatena sus argumentos y los muestra como texto sin formato, sin comillas envolventes, sin marcadores de índice como [1] y, de forma predeterminada, sin salto de línea al final. Está diseñado para mostrar texto con formato, no para mostrar objetos de R.

name <- 'Alice'
age  <- 30
cat('Name:', name, '\n')
cat('Age:', age, '\n')
cat('Score:', 92.5, '\n')

Diferencia clave: comillas y [1]

La diferencia más visible es cómo se muestran las cadenas de caracteres. print() encierra las cadenas entre comillas y añade [1]; cat() muestra los caracteres sin formato, sin ningún adorno.

msg <- 'Hello World'
print(msg)
cat(msg, '\n')

cat() con el argumento sep

cat() acepta un argumento sep que se coloca entre cada elemento de salida. El valor predeterminado es un espacio. Utilice sep = '' para no incluir separador, o cualquier otra cadena para dar formato a la salida con precisión.

cat('a', 'b', 'c', sep = '')
cat('a', 'b', 'c', sep = '-')
cat(1:5, sep = ', ')
cat('x =', 42, sep = '')

cat() con el argumento fill

El argumento fill añade un salto de línea cuando la salida supera un ancho determinado (en caracteres). Al establecer fill = TRUE, se utiliza la opción width actual. Resulta útil para ajustar secuencias largas de palabras.

words <- c('The', 'quick', 'brown', 'fox', 'jumps',
           'over', 'the', 'lazy', 'dog')
cat(words, fill = 30)

Despacho de métodos de print()

print() es una función genérica: delega la operación en un método específico de la clase. Por ejemplo, print.data.frame da formato a los marcos de datos de forma clara, print.factor muestra los niveles, etc. Por eso, la misma llamada puede verse diferente según el objeto.

# print dispatches differently per class
print(42L)                        # integer
print(factor(c('a', 'b', 'a')))   # factor with levels
print(list(x = 1, y = 'hi'))      # list

invisible() — Suprimir la impresión automática

invisible(x) devuelve su argumento, pero suprime la impresión automática cuando se devuelve un valor desde una función o expresión. Se utiliza en funciones que devuelven valores de forma silenciosa, como los operadores de asignación.

# Explicit print shows the value
f <- function(x) invisible(x * 2)
result <- f(5)
# Nothing printed automatically
f(5)
# But print() forces it
print(f(5))

message() — En stderr

message() escribe en stderr en lugar de stdout. Añade automáticamente un salto de línea. A diferencia de cat() o print(), los mensajes se pueden suprimir con suppressMessages() y capturar con tryCatch().

message('This goes to stderr')
cat('This goes to stdout\n')
# Suppress messages:
suppressMessages(message('hidden'))
cat('Still visible\n')

Cuándo utilizar cat() frente a print()

Utilice cat() cuando quiera generar texto legible para las personas: líneas de registro, mensajes de progreso o informes con formato. Utilice print() cuando quiera inspeccionar objetos de R con fidelidad, conservando la información sobre su tipo y estructura.

# cat() for formatted output
cat(sprintf('Processing %d records...\n', 500))
cat('Done.\n')

# print() to inspect objects
result <- list(n = 500, mean = 4.2, sd = 1.1)
print(result)

print() aplicado a marcos de datos

print.data.frame da formato a los marcos de datos con números de fila, encabezados de columna y valores alineados. Puede controlar cuántas filas se muestran con el estilo print(df, n = k) o utilizando head() antes de imprimir.

df <- data.frame(
  name  = c('Alice', 'Bob', 'Carol'),
  score = c(88, 95, 72)
)
print(df)

cat() para mostrar el progreso de bucles

Un uso práctico de cat() es mostrar el progreso de un bucle. Como cat() no añade saltos de línea automáticamente, puede construir una línea de forma incremental y después terminarla con '\n'.

for (i in 1:5) {
  cat(sprintf('Processing file %d of 5...\n', i))
}
cat('All files processed.\n')

Comprobación rápida

¿Qué función de salida escribe en stderr, añade automáticamente un salto de línea y se puede suprimir con suppressMessages()?

Funciones de salida: conclusiones clave

Conclusiones clave sobre las funciones de salida de R:

  • print(x) — inspecciona objetos de R; utiliza un formato específico de la clase; añade [1] y comillas
  • cat(...) — muestra texto sin formato; sin comillas; sin salto de línea automático; utilice '\n' explícitamente
  • cat() acepta sep y fill para controlar el formato
  • invisible(x) — devuelve x sin imprimirlo automáticamente
  • message() — escribe en stderr; añade un salto de línea automáticamente; se suprime con suppressMessages()
  • Utilice cat() y sprintf() conjuntamente para generar informes y registros con formato
x <- 'result'
print(x)              # shows: [1] "result"
cat(x, '\n')          # shows: result
message('info: ', x)  # goes to stderr
f <- function() invisible(42)
f()                   # nothing printed
print(f())            # forces print: [1] 42

Preguntas frecuentes

¿La lección «Visualización de resultados con cat() y print()» es gratis?

Sí — el texto completo de «Visualización de resultados con cat() y print()» 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 «Visualización de resultados con cat() y print()»?

Distinga entre cat() para la salida de consola y print() para objetos. 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 3 de 4.

¿Cuánto tiempo toma la lección «Visualización de resultados con cat() y print()»?

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