Exibindo saída com cat() e print()
Diferencie cat() para saída no console de print() para objetos.
Exibindo saída com cat() e print() é uma aula grátis de R Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de R Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de R Academy inclui 4 aulas no total.
print() — A função de saída padrão
print() é o método padrão do R para exibir objetos. Ele usa a classe do objeto para selecionar o método de formatação apropriado. Em sessões interativas, digitar o nome de uma variável equivale a chamar print() para ela.
x <- c(1, 2, 3, 4, 5)
print(x)
# Equivalent to:
xcat() — Saída de caracteres brutos
cat() concatena e exibe seus argumentos como texto bruto, sem aspas ao redor, sem marcadores de índice como [1] e, por padrão, sem uma quebra de linha ao final. Ele foi desenvolvido para a saída de texto formatado, não para exibir objetos do R.
name <- 'Alice'
age <- 30
cat('Name:', name, '\n')
cat('Age:', age, '\n')
cat('Score:', 92.5, '\n')Diferença principal: aspas e [1]
A diferença mais visível está na forma como as cadeias de caracteres são exibidas. print() coloca as cadeias entre aspas e adiciona [1]; cat() exibe os caracteres brutos, sem qualquer decoração.
msg <- 'Hello World'
print(msg)
cat(msg, '\n')cat() com o argumento sep
cat() aceita um argumento sep, que é colocado entre cada item da saída. O padrão é um único espaço. Use sep = '' para não usar separador ou qualquer outra cadeia para formatar a saída com precisão.
cat('a', 'b', 'c', sep = '')
cat('a', 'b', 'c', sep = '-')
cat(1:5, sep = ', ')
cat('x =', 42, sep = '')cat() com o argumento fill
O argumento fill adiciona uma quebra de linha quando a saída excede uma largura determinada (em caracteres). Definir fill = TRUE usa a opção atual de width. Isso é útil para quebrar sequências longas de palavras em várias linhas.
words <- c('The', 'quick', 'brown', 'fox', 'jumps',
'over', 'the', 'lazy', 'dog')
cat(words, fill = 30)Seleção de métodos de print()
print() é uma função genérica — ela seleciona um método específico da classe. Por exemplo, print.data.frame formata quadros de dados de maneira organizada, print.factor exibe níveis, entre outros. Por isso, a mesma chamada produz resultados diferentes para objetos diferentes.
# print dispatches differently per class
print(42L) # integer
print(factor(c('a', 'b', 'a'))) # factor with levels
print(list(x = 1, y = 'hi')) # listinvisible() — Suprimir a impressão automática
invisible(x) retorna seu argumento, mas suprime a impressão automática quando um valor é retornado por uma função ou expressão. Ele é usado em funções que retornam valores silenciosamente, como os operadores de atribuição.
# 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() — Para stderr
message() escreve em stderr, e não em stdout. Ele adiciona automaticamente uma quebra de linha. Diferentemente de cat() ou print(), as mensagens podem ser suprimidas com suppressMessages() e capturadas com tryCatch().
message('This goes to stderr')
cat('This goes to stdout\n')
# Suppress messages:
suppressMessages(message('hidden'))
cat('Still visible\n')Quando usar cat() ou print()
Use cat() quando quiser produzir uma saída de texto legível para as pessoas — linhas de registro, mensagens de progresso e relatórios formatados. Use print() quando quiser examinar objetos do R fielmente, preservando as informações de tipo e a estrutura.
# 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() em quadros de dados
print.data.frame formata quadros de dados com números de linha, cabeçalhos de coluna e valores alinhados. Você pode controlar quantas linhas são exibidas com o estilo print(df, n = k) ou usando head() antes da impressão.
df <- data.frame(
name = c('Alice', 'Bob', 'Carol'),
score = c(88, 95, 72)
)
print(df)cat() para o progresso de laços
Um uso prático de cat() é exibir o progresso de um laço. Como cat() não adiciona quebras de linha automaticamente, você pode construir uma linha gradualmente e depois concluí-la com '\n'.
for (i in 1:5) {
cat(sprintf('Processing file %d of 5...\n', i))
}
cat('All files processed.\n')Verificação rápida
Qual função de saída escreve em stderr, adiciona automaticamente uma quebra de linha e pode ser suprimida com suppressMessages()?
Funções de saída: principais conclusões
Principais conclusões sobre as funções de saída do R:
print(x)— examina objetos do R; usa formatação específica da classe; adiciona[1]e aspascat(...)— saída de texto bruto; sem aspas; sem quebra de linha automática; use'\n'explicitamentecat()aceitasepefillpara controlar a formataçãoinvisible(x)— retorna x sem imprimi-lo automaticamentemessage()— vai para stderr; adiciona quebra de linha automaticamente; é suprimido porsuppressMessages()- Use
cat()/sprintf()em conjunto para relatórios formatados e registros
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] 42Perguntas Frequentes
A aula “Exibindo saída com cat() e print()” é grátis?
Sim — o texto completo de “Exibindo saída com cat() e print()” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de R Academy, atualize para CoddyKit PRO. O curso de R Academy inclui 4 aulas no total.
O que vou aprender em “Exibindo saída com cat() e print()”?
Diferencie cat() para saída no console de print() para objetos. Você pratica R Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar R Academy?
Nenhuma experiência prévia é necessária. R Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Exibindo saída com cat() e print()”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de R Academy?
Sim. Cada aula de R Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Criando strings com paste() e paste0()
- Saída formatada com sprintf()
- Exibindo saída com cat() e print()
- Preenchimento e alinhamento de strings