Uma string é um valor de texto formado por um ou mais caracteres. Ela pode ser delimitada por aspas simples ('Isto é uma string') ou aspas duplas ("Isto também é uma string"). Porém, internamente, as strings em R são representadas entre aspas duplas.
Neste tutorial, você vai aprender sobre strings em R e veremos os seguintes tópicos:
Primeiro, você vai conhecer as strings em R e as regras para trabalhar com strings em R.
Depois, vamos abordar a concatenação de strings em R e outras propriedades importantes.
Também veremos em detalhes como extrair e substituir trechos de uma string.
Por fim, veremos como formatar strings, convertendo qualquer vetor de entrada em um formato bem apresentado.
Regras para strings em R
A string que começa com aspas simples precisa terminar com aspas simples. Você pode incluir aspas duplas dentro dela e, usando a sequência de escape ('\'), a aspa simples também pode fazer parte da string.
Por exemplo: 'cars', 'merry"s' , 'merry\'s' são strings válidas em R.
A string que começa com aspas duplas precisa terminar com aspas duplas. Você pode incluir aspas simples dentro dela e, usando a sequência de escape ('\'), a aspa dupla também pode fazer parte da string.
Por exemplo: "cars" , "merry's", "merry\"s" também são strings válidas em R.
Concatenação de strings
Concatenar strings significa unir ou combinar várias strings.
A sintaxe para concatenar strings em R é: paste(..., sep = "",collapse = NULL) paste0(..., collapse = NULL)
Os argumentos de paste indicam:
'...' - Um ou mais caracteres ou objetos que serão convertidos em vetores de caracteres.
'sep' - O caractere usado como separador entre elementos.
'collapse' - Um separador opcional para colapsar o resultado em uma única string.
Por exemplo, considere o código abaixo, em que as variáveis contêm strings de caracteres:
my.var1 = "I"
my.var2 = "eat"
my.var3 = "rice"
print(paste(my.var1,my.var2,my.var3))
O código acima gera uma única string, como abaixo:
Nesse caso, a saída inclui um '-' entre Pen e Copy por causa do argumento collapse, que define a separação entre dois vetores diferentes. Já o sep inclui um espaço (' '), separando os itens individualmente.
Vamos ver um exemplo com paste0()
paste0() usa, por padrão, sep = '' (sem espaço) e é útil quando você quer eficiência e nenhum separador.
nchar(char,type, allowNA,keepNA) - Retorna o número total de caracteres em um vetor. nzchar(char) - Retorna TRUE se x não é vazio e FALSE se for uma string vazia.
Os argumentos indicam:
char - Um vetor de caracteres.
type - Um dentre três tipos: "width", "chars" ou "bytes".
allowNA - Lógico, padrão FALSE; se o resultado não puder ser calculado, não gera erro e retorna NA.
keepNA - Lógico, padrão FALSE; quando TRUE, trata valores ausentes de forma a mapeá-los conforme a documentação (nzchar() retorna TRUE em certos casos envolvendo ausentes).
No exemplo abaixo, determinamos o comprimento de um vetor de caracteres:
my.char = nchar("hello")
print(my.char)
O exemplo acima retorna '5' como saída, pois há cinco caracteres no vetor.
Para o uso de nzchar(), veja o código abaixo:
new.char = nzchar("monkey")
print(new.char)
O código acima retorna o valor lógico 'TRUE' porque 'new.char' não é uma string vazia.
my.char = nzchar("")
print(my.char)
O código acima retorna o valor lógico 'FALSE' porque 'my.char' é uma string vazia.
Convertendo para maiúsculas e minúsculas
toupper(char) - Converte todos os caracteres para maiúsculas. tolower(char) - Converte todos os caracteres para minúsculas.
Exemplo para converter em maiúsculas:
my.var = toupper("I'm changed to upper case")
print(my.var)
O código acima gera a saída abaixo, em que cada caractere na variável 'my.var' foi convertido para maiúscula.
No código acima, 'Remaining' é uma string cujo primeiro índice é 'R' (inteiro 1). O último caractere é 'g', com índice 9.
O código acima produz a saída onde o valor inicial 3 corresponde ao caractere ' m ' em 'Remaining'. Da mesma forma, os demais caracteres até o inteiro 9 (inclusivo), correspondendo a 'g', são impressos.
O código acima produz a saída em que o valor inicial 3 corresponde ao caractere ' m ' em 'Remaining'. Os demais caracteres até o inteiro 8 (inclusivo), cujo caractere correspondente é 'n', são impressos.
Neste tutorial, você aprenderá tudo sobre as cadeias de caracteres do Python: fatiamento e encadeamento, manipulação e formatação com a classe Formatter, cadeias de caracteres f, modelos e muito mais!
Explore as expressões regulares no R, por que elas são importantes, as ferramentas e funções para trabalhar com elas, os padrões comuns de regex e como usá-las.
Uma string é um valor de texto formado por um ou mais caracteres. Ela pode ser delimitada por aspas simples ('Isto é uma string') ou aspas duplas ("Isto também é uma string"). Porém, internamente, as strings em R são representadas entre aspas duplas.
Neste tutorial, você vai aprender sobre strings em R e veremos os seguintes tópicos:
Regras para strings em R
Por exemplo: 'cars', 'merry"s' , 'merry\'s' são strings válidas em R.
Por exemplo: "cars" , "merry's", "merry\"s" também são strings válidas em R.
Concatenação de strings
Concatenar strings significa unir ou combinar várias strings.
A sintaxe para concatenar strings em R é:
paste(..., sep = "",collapse = NULL)paste0(..., collapse = NULL)Os argumentos de paste indicam:
Por exemplo, considere o código abaixo, em que as variáveis contêm strings de caracteres:
my.var1 = "I" my.var2 = "eat" my.var3 = "rice" print(paste(my.var1,my.var2,my.var3))O código acima gera uma única string, como abaixo:
Agora, um exemplo em que as variáveis contêm vetores que são convertidos em uma única string:
my.var1 = c('Book','Copy') my.var2 = c('Pen','Chair') print(paste(my.var1,my.var2,sep=" ",collapse="-"))O código acima produz a seguinte saída:
Nesse caso, a saída inclui um '-' entre Pen e Copy por causa do argumento collapse, que define a separação entre dois vetores diferentes. Já o sep inclui um espaço (' '), separando os itens individualmente.
Vamos ver um exemplo com paste0()
paste0() usa, por padrão, sep = '' (sem espaço) e é útil quando você quer eficiência e nenhum separador.
A saída do código acima está abaixo: todos os caracteres são unidos em um só, sem espaço definido por sep.
Encontrando o comprimento
nchar(char,type, allowNA,keepNA) - Retorna o número total de caracteres em um vetor.
nzchar(char) - Retorna TRUE se x não é vazio e FALSE se for uma string vazia.
Os argumentos indicam:
No exemplo abaixo, determinamos o comprimento de um vetor de caracteres:
my.char = nchar("hello") print(my.char)
O exemplo acima retorna '5' como saída, pois há cinco caracteres no vetor.
Para o uso de nzchar(), veja o código abaixo:
new.char = nzchar("monkey") print(new.char)O código acima retorna o valor lógico 'TRUE' porque 'new.char' não é uma string vazia.
my.char = nzchar("") print(my.char)O código acima retorna o valor lógico 'FALSE' porque 'my.char' é uma string vazia.
Convertendo para maiúsculas e minúsculas
toupper(char) - Converte todos os caracteres para maiúsculas.
tolower(char) - Converte todos os caracteres para minúsculas.
Exemplo para converter em maiúsculas:
my.var = toupper("I'm changed to upper case") print(my.var)O código acima gera a saída abaixo, em que cada caractere na variável 'my.var' foi convertido para maiúscula.
Exemplo para converter em minúsculas:
my.var = tolower("I'm changed to lower case") print(my.var)O código acima gera a saída abaixo, em que cada caractere na variável 'my.var' foi convertido para minúscula.
Extraindo e substituindo trechos de uma string
substr(char, start, stop): extrai ou substitui parte de uma string.
Os argumentos indicam:
Veja um exemplo de extração de caracteres.
No código acima, 'Remaining' é uma string cujo primeiro índice é 'R' (inteiro 1). O último caractere é 'g', com índice 9.
O código acima produz a saída onde o valor inicial 3 corresponde ao caractere ' m ' em 'Remaining'. Da mesma forma, os demais caracteres até o inteiro 9 (inclusivo), correspondendo a 'g', são impressos.
Agora, um exemplo em que os caracteres são substituídos.
O código acima mostra a saída na qual o intervalo de 3 a 5 em y é substituído por 'der'.
substring(char, first, last = 1000000L): extrai ou substitui parte de uma string.
Os argumentos indicam:
O código acima produz a saída em que o valor inicial 3 corresponde ao caractere ' m ' em 'Remaining'. Os demais caracteres até o inteiro 8 (inclusivo), cujo caractere correspondente é 'n', são impressos.
Outro exemplo de substituição de caracteres:
No código acima, o intervalo de 6 a 9 em y é substituído por '???'.
Formatando strings
format(char,width,scientific,justify,nsmall,digits): converte um vetor de inteiros e/ou caracteres para um formato amplamente utilizado.
Os argumentos indicam:
Exemplo de formatação em notação científica:
O código acima gera a saída em notação científica (exponencial):
A saída "1.9267e+01" = 1,9267 × 10 (à potência 1) = 1,9267 × 10 = 19,267.
Exemplo de formatação usando nsmall:
O código acima gera a saída abaixo, com 6 casas decimais.
Exemplo de formatação usando digits:
O código acima gera a saída abaixo, em que o total de dígitos considerados (antes e depois da vírgula) é 7.
São incluídos sete dígitos; o último deveria ser 7, mas, como o dígito anterior (9) é maior que 7, ocorre arredondamento para 8.
Exemplo de formatação com alinhamento à direita:
O código acima gera a saída abaixo, onde 'Running' é alinhado à direita com espaçamento definido por width.
Exemplo de formatação com alinhamento centralizado:
O código acima gera a saída abaixo, onde 'Running' é centralizado, com espaços à esquerda e à direita.
Parabéns
Parabéns, você chegou ao fim deste tutorial!
Você aprendeu sobre strings em R: regras, concatenação, propriedades essenciais, extração e substituição de trechos e formatação de strings.
Se quiser aprender mais sobre R, faça o curso Introduction to R da DataCamp.
Confira também nosso tutorial Data Types in R.