R Academy · Aula

Criando strings com paste() e paste0()

Concatene strings com separadores usando paste e paste0.

Aula 1 de 413 etapas

Criando strings com paste() e paste0() é uma aula grátis de R Academy no CoddyKit. Esta é a aula 1 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.

Noções básicas de paste()

paste() converte seus argumentos em cadeias de caracteres e os concatena usando um separador. Por padrão, o separador é um único espaço ' '. É a função mais versátil para construir cadeias de caracteres no R básico.

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

paste0() — atalho sem separador

paste0() é idêntica a paste(..., sep=''). Ela concatena cadeias de caracteres sem nenhum separador entre elas. É a função ideal para construir programaticamente caminhos de arquivos, nomes de colunas ou URLs.

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

Alterando o separador com sep

O argumento sep controla o que é colocado entre cada argumento. Use-o para construir linhas CSV, caminhos de arquivos, cadeias de datas ou qualquer saída 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() vetorizada

paste() é vetorizada — quando recebe vetores, associa os elementos posição a posição (repetindo vetores menores, se necessário). O resultado tem o mesmo comprimento do maior vetor de entrada.

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

Colapsando um vetor em uma única cadeia

O argumento collapse reúne todos os elementos do vetor de resultado em uma única cadeia, usando o valor de collapse como separador entre os elementos. Sem collapse, você obtém um vetor de caracteres; com ele, obtém uma única cadeia.

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 e collapse juntos

Você pode usar sep e collapse na mesma chamada. Primeiro, sep une os vetores de argumentos elemento a elemento; depois, collapse reúne o vetor de caracteres resultante em uma única cadeia.

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 criar nomes de variáveis

paste0() é comumente usada para criar programaticamente nomes de variáveis ou colunas, caminhos de arquivos e cadeias semelhantes a SQL, sem separadores indesejados.

# 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)

Conversão numérica em paste()

paste() converte automaticamente números, valores lógicos e outros tipos em cadeias de caracteres. Você não precisa chamar as.character() primeiro — paste() cuida disso 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))

Criando linhas semelhantes a CSV

Combine paste() vetorizada com collapse = ',' para criar cadeias de saída simples no formato CSV a partir de um quadro de dados, sem carregar nenhum pacote 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'))

Tratamento de NA em paste()

Ao contrário de muitas funções de R, paste() converte NA na cadeia literal 'NA', em vez de propagar o valor ausente. Isso é útil, mas pode surpreender usuários que esperam que os valores ausentes sejam tratados silenciosamente.

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

Padrões práticos: paste() em relatórios

paste é especialmente útil para gerar cadeias de relatórios fáceis de ler. Combine paste0(), round() e paste() com collapse para criar frases de resumo a partir dos dados.

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)

Verificação rápida

O que o argumento collapse de paste() faz?

paste() e paste0(): principais conclusões

Principais conclusões sobre paste() e paste0():

  • paste(a, b) une com um espaço; paste0(a, b) une sem separador
  • sep controla a cadeia colocada entre cada argumento
  • collapse reduz o vetor resultante a uma única cadeia
  • As duas funções são vetorizadas e repetem argumentos menores
  • NA é convertido na cadeia literal 'NA'
  • Números e valores lógicos são convertidos automaticamente em 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')
Grátis para começar

Aprenda R com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
43
Aulas
159

Perguntas Frequentes

A aula “Criando strings com paste() e paste0()” é grátis?

Sim — o texto completo de “Criando strings com paste() e paste0()” é 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 “Criando strings com paste() e paste0()”?

Concatene strings com separadores usando paste e paste0. 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 1 de 4.

Quanto tempo leva a aula “Criando strings com paste() e paste0()”?

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

  1. Criando strings com paste() e paste0()
  2. Saída formatada com sprintf()
  3. Exibindo saída com cat() e print()
  4. Preenchimento e alinhamento de strings
← Voltar para R Academy