Criando strings com paste() e paste0()
Concatene strings com separadores usando paste e paste0.
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 separadorsepcontrola a cadeia colocada entre cada argumentocollapsereduz 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')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
- Criando strings com paste() e paste0()
- Saída formatada com sprintf()
- Exibindo saída com cat() e print()
- Preenchimento e alinhamento de strings