Ferramentas do usuário

Ferramentas do site


02_tutoriais:tutorial11:start

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Próxima revisão
Revisão anterior
02_tutoriais:tutorial11:start [2024/08/12 17:23]
127.0.0.1 edição externa
02_tutoriais:tutorial11:start [2024/09/16 13:28] (atual)
Linha 21: Linha 21:
 </​WRAP>​ </​WRAP>​
  
- +====== Vetores de texto no R ======
-===== Vetores de texto no R =====+
  
 Informações de texto no R são armazenadas em objetos que são vetores da classe ''​character'',​ que podem ser vazios ou ter comprimento 1 ou mais. Informações de texto no R são armazenadas em objetos que são vetores da classe ''​character'',​ que podem ser vazios ou ter comprimento 1 ou mais.
Linha 34: Linha 33:
 class(vetor) class(vetor)
 is.character(vetor) is.character(vetor)
-  
 </​code>​ </​code>​
  
Linha 44: Linha 42:
 sample(x = texto, size = 2) sample(x = texto, size = 2)
 duplicated(texto) duplicated(texto)
- 
 </​code> ​ </​code> ​
    
Linha 55: Linha 52:
    
    
-===== Funções básicas de manipulação texto =====+====== Funções básicas de manipulação texto ======
  
 Assim como existem funções específicas para manipular vetores numéricos, existem funções para manipular vetores de texto. Assim como existem funções específicas para manipular vetores numéricos, existem funções para manipular vetores de texto.
  
  
-====== Número de elementos e caracteres ​======+===== Número de elementos e caracteres =====
  
 As funções ''​length''​ e ''​nchar''​ funcionam para vetores numéricos e para vetores de texto. A primeira retorna o comprimento do vetor, enquanto que a segunda retorna o número de caracteres de cada elemento do vetor. ​ As funções ''​length''​ e ''​nchar''​ funcionam para vetores numéricos e para vetores de texto. A primeira retorna o comprimento do vetor, enquanto que a segunda retorna o número de caracteres de cada elemento do vetor. ​
Linha 72: Linha 69:
  
  
-====== Capitalização ​======+===== Capitalização =====
  
 As funcionalidades básicas relacionadas a tornar letras de vetores em maiúsculas ou minúsculas são: ''​toupper'',​ ''​tolower''​ e ''​casefold''​. Esta última função é mais flexível e pode transformar as letras tanto em maiúsculas quanto minúsculas ​ As funcionalidades básicas relacionadas a tornar letras de vetores em maiúsculas ou minúsculas são: ''​toupper'',​ ''​tolower''​ e ''​casefold''​. Esta última função é mais flexível e pode transformar as letras tanto em maiúsculas quanto minúsculas ​
Linha 84: Linha 81:
 </​code>​ </​code>​
  
-====== Colagem e concatenação ​======+===== Colagem e concatenação =====
  
 Duas funções muito úteis ao trabalho com vetores de texto são as funções ''​paste''​ e ''​cat''​. A primeira concatena elementos um ou mais vetores e o resultado dela pode ser salvo em um objeto ou imprimir o resultado da operação no console do R. Duas funções muito úteis ao trabalho com vetores de texto são as funções ''​paste''​ e ''​cat''​. A primeira concatena elementos um ou mais vetores e o resultado dela pode ser salvo em um objeto ou imprimir o resultado da operação no console do R.
Linha 100: Linha 97:
 </​code>​ </​code>​
  
-====== Localização e substituição ​======+===== Localização e substituição =====
  
 Duas funções muito úteis são as funções de localização ''​grep''​ e ''​grepl''​. A primeira retorna apenas a posição dos elementos que contém a busca desejada (no nosso exemplo a palavra maiúscula '​C'​). Já a função ''​grepl''​ retorno o vetor lógico de mesmo tamanho com '​TRUE'​ nas posições que contém a busca desejada. Duas funções muito úteis são as funções de localização ''​grep''​ e ''​grepl''​. A primeira retorna apenas a posição dos elementos que contém a busca desejada (no nosso exemplo a palavra maiúscula '​C'​). Já a função ''​grepl''​ retorno o vetor lógico de mesmo tamanho com '​TRUE'​ nas posições que contém a busca desejada.
Linha 123: Linha 120:
  
  
-====== Divisão, corte e abreviação ​======+===== Divisão, corte e abreviação =====
  
 É possível ainda dividir ou "​quebrar"​ vetores de texto baseado em letras, espaços, pontuação ou qualquer outro caractere desejado. Para usamos a função ''​strsplit''​. ​ É possível ainda dividir ou "​quebrar"​ vetores de texto baseado em letras, espaços, pontuação ou qualquer outro caractere desejado. Para usamos a função ''​strsplit''​. ​
Linha 150: Linha 147:
  
  
-===== Expressões regulares =====+====== Expressões regulares ​======
  
 Os exemplos e funcionalidades que vimos acima dependiam de buscas exatas. Ou seja, a função só identificava,​ localizava, substituía ou dividia o texto baseado em caracteres de busca únicos e explicitamente definidos (e.g. ''​sub("​C",​ "​E1",​ texto)''​). Nesse formato, cada operação é específica e, de certa forma, limitada. Os exemplos e funcionalidades que vimos acima dependiam de buscas exatas. Ou seja, a função só identificava,​ localizava, substituía ou dividia o texto baseado em caracteres de busca únicos e explicitamente definidos (e.g. ''​sub("​C",​ "​E1",​ texto)''​). Nesse formato, cada operação é específica e, de certa forma, limitada.
Linha 164: Linha 161:
 </​code>​ </​code>​
  
-Em bom português, a expressão ''​[A-Z]$''​ que dizer: 'indentifique ​o elemento contendo qualquer letra maiúscula de A a Z (o componente ''​[A-Z]''​) no final da cadeia de caracteres (componente ''​$''​)'​.+Em bom português, a expressão ''​[A-Z]$''​ que dizer: 'identifique ​o elemento contendo qualquer letra maiúscula de A a Z (o componente ''​[A-Z]''​) no final da cadeia de caracteres (componente ''​$''​)'​.
  
-====== Padrões individuais e âncoras ​======+===== Padrões individuais e âncoras =====
  
 Na expressão acima introduzimos dois elementos básicos: as sequências ou intervalos de caracteres de busca (declarados usando os colchetes ''​[]''​) e as âncoras, que podem ser usadas para identificar o fim da cadeia de caracteres (declarado usando ''​$''​) ou no ínicio (declarado usando ''​^''​). Na expressão acima introduzimos dois elementos básicos: as sequências ou intervalos de caracteres de busca (declarados usando os colchetes ''​[]''​) e as âncoras, que podem ser usadas para identificar o fim da cadeia de caracteres (declarado usando ''​$''​) ou no ínicio (declarado usando ''​^''​).
Linha 195: Linha 192:
  
  
-====== Alternância ​======+===== Alternância =====
  
 E se eu quiser identificar qualquer elemento de texto que termina ou começa com letras maiúsculas?​ Você pode combinar duas expressões com o sinal de '​ou'​ que no R é representado pelo operador ''​|''​ (barra vertical). E se eu quiser identificar qualquer elemento de texto que termina ou começa com letras maiúsculas?​ Você pode combinar duas expressões com o sinal de '​ou'​ que no R é representado pelo operador ''​|''​ (barra vertical).
Linha 210: Linha 207:
  
  
-====== Agrupamento ​======+===== Agrupamento =====
  
-Além de identificar podemos também substituir padrões usando RegExp. Por exemplo, vamos substituir todo elemento de texto que termine ​com letras maiúsculas seguidas de um espaço, que pode ser traduzido para RegExp usando o padrão '''​ [A-Z]$'''​. Iremos substituir esse padrão por um elemento vazio, o que equivale a um apagador.+Além de identificar podemos também substituir padrões usando RegExp. Por exemplo, vamos substituir todo elemento de texto que termine ​em um espaço ​seguido por letras maiúsculas, que pode ser traduzido para RegExp usando o padrão '''​ [A-Z]$'''​. Iremos substituir esse padrão por um elemento vazio, o que equivale a um apagador.
  
 <code rsplus> <code rsplus>
Linha 231: Linha 228:
  
  
-====== Quantificadores ​======+===== Quantificadores =====
  
 Usando '​RegExp'​ é possível também especificar a quantidade de vezes que queremos identificar ou operar caracteres de texto, usando os chamados '​quantificadores'​. Eles vem logo após o padrão em si e eles especificam buscas de um padrão pelo menos uma vez, todas as vezes ou o número de vezes que você quiser! Usando '​RegExp'​ é possível também especificar a quantidade de vezes que queremos identificar ou operar caracteres de texto, usando os chamados '​quantificadores'​. Eles vem logo após o padrão em si e eles especificam buscas de um padrão pelo menos uma vez, todas as vezes ou o número de vezes que você quiser!
Linha 263: Linha 260:
 </​code>​ </​code>​
  
-====== Funções específicas para RegEx no R =====+===== Funções específicas para RegEx no R ====
  
 Se você quiser extrair o resultado das buscas, ao invés de apenas listar quais elementos contém a busca, você pode usar as funções do R que são específicas para o uso de expressões regulares. Por exemplo, as funções ''​regexpr()''​ e ''​regexec()''​ fazem a busca e a função ''​regmatches()''​ uso o resultado dessas funções para fazer a extração. A diferença entre as duas funções de busca é na maneira que elas retornam a busca (vetor ou lista). Se você quiser extrair o resultado das buscas, ao invés de apenas listar quais elementos contém a busca, você pode usar as funções do R que são específicas para o uso de expressões regulares. Por exemplo, as funções ''​regexpr()''​ e ''​regexec()''​ fazem a busca e a função ''​regmatches()''​ uso o resultado dessas funções para fazer a extração. A diferença entre as duas funções de busca é na maneira que elas retornam a busca (vetor ou lista).
Linha 273: Linha 270:
  
  
-===== Para saber mais =====+====== Para saber mais ======
  
 Pronto, você já sabe o básico para poder manipular vetores de texto no R. Veja abaixo algumas sugestões para você se aprofundar no assunto. Pronto, você já sabe o básico para poder manipular vetores de texto no R. Veja abaixo algumas sugestões para você se aprofundar no assunto.
02_tutoriais/tutorial11/start.1723494209.txt.gz · Última modificação: 2024/08/12 17:23 por 127.0.0.1