String Caracteres especiais Espaços em Branco
Você não precisa usar o R, mas é uma boa ideia.
Gostaria de compartilhar uma função que desenvolvi para tabulação de resultados para um projeto da Escola de Matemática da UNIRIO durante a pandemia.
No passado, para fazer isso, provavelmente eu ia abrir o excel, selecionar uma coluna e substituir os caracteres especiais um a um. Mas hoje, como sou totalmente apaixonado pelo , posso desenvolver uma função para fazer exatamente isso de uma forma mais rápida.
Os caracteres especiais são acentos, cedilhas, til, e outras coisas bem específicas. Assim, nesse nosso encontro, eu quero:
1. Remover todos os acentos;
2. Transformar tudo em minúscula;
3. Remover todos os espaços.
Por exemplo, textos como “Estatística e Probabilidade” e “Estatística para a Educação Básica” devem ser transformados em “estatistica_e_probabilidade” e “estatistica_para_a_educacao_basica”. O nome da função é “criar_nomes” e está aqui.
criar_nomes <-function(string){
string<-chartr("áéíóúÁÉÍÓÚýÝàèìòùÀÈÌÒÙâêîôûÂÊÎÔÛãõÃÕñÑäëïöüÄËÏÖÜÿçÇ","aeiouaeiouyyaeiouaeiouaeiouaeiouaoaonnaeiouaeiouycc",string)
gsub("\\s+", "_", tolower(string))
}
Vamos pegar um vetor com todos os nomes de cursos da Escola de Matemática e colar no (para isso usei o datapasta, ainda vou escrever sobre ele aqui). Os nomes foram capturados do site da Escola de Matemática
disciplinas<-c("Álgebra Linear 1","Álgebra Linear 2",
"Álgebra para a Educação Básica",
"Análise Real","Anéis de Polinômios",
"Aritmética","Aritmética para a Educação Básica",
"Cálculo 1A","Cálculo 1B","Cálculo 2",
"Cálculo com variável complexa",
"Combinatória","Dinâmica e Organização Escolar",
"Didática","Didática da Matemática",
"Educação Ambiental e Cidadania",
"Estágio Supervisionado 1",
"Estágio Supervisionado 2",
"Estágio Supervisionado 3",
"Estágio Supervisionado 4",
"Estatística e Probabilidade",
"Estatística para a Educação Básica",
"Fundamentos de Matemática 1",
"Fundamentos de Matemática 2",
"Fundamentos de Matemática 3",
"Geometria 1","Geometria 2","Geometria 3",
"Geometria Analítica",
"Geometria para a Educação Básica",
"História da Matemática",
"Introdução à Análise Real",
"Introdução à Ciência da Computação",
"Laboratório de Ensino de Matemática 1 (LEMA)",
"Laboratório de Ensino de Matemática 2 (LEMA)",
"Língua Brasileira de Sinais (LIBRAS)",
"Matemática Financeira","Metodologia Científica",
"Modelos Matemáticos","Prática de Ensino 1",
"Prática de Ensino 2","Prática de Ensino 3",
"Prática de Ensino 4","Psicologia e Educação",
"Seminários / Monografia","Disciplinas Optativas")
A função criar_nomes pode ser capturada dessa forma:
source('https://raw.githubusercontent.com/DATAUNIRIO/Miscellaneous_Functions_Rstats/master/criar_nomes.R',encoding = "UTF-8")
Para criar um vetor com os nomes, só precisamos fazer:
[1] "algebra_linear_1"
[2] "algebra_linear_2"
[3] "algebra_para_a_educacao_basica"
[4] "analise_real"
[5] "aneis_de_polinomios"
[6] "aritmetica"
[7] "aritmetica_para_a_educacao_basica"
[8] "calculo_1a"
[9] "calculo_1b"
[10] "calculo_2"
[11] "calculo_com_variavel_complexa"
[12] "combinatoria"
[13] "dinamica_e_organizacao_escolar"
[14] "didatica"
[15] "didatica_da_matematica"
[16] "educacao_ambiental_e_cidadania"
[17] "estagio_supervisionado_1"
[18] "estagio_supervisionado_2"
[19] "estagio_supervisionado_3"
[20] "estagio_supervisionado_4"
[21] "estatistica_e_probabilidade"
[22] "estatistica_para_a_educacao_basica"
[23] "fundamentos_de_matematica_1"
[24] "fundamentos_de_matematica_2"
[25] "fundamentos_de_matematica_3"
[26] "geometria_1"
[27] "geometria_2"
[28] "geometria_3"
[29] "geometria_analitica"
[30] "geometria_para_a_educacao_basica"
[31] "historia_da_matematica"
[32] "introducao_a_analise_real"
[33] "introducao_a_ciencia_da_computacao"
[34] "laboratorio_de_ensino_de_matematica_1_(lema)"
[35] "laboratorio_de_ensino_de_matematica_2_(lema)"
[36] "lingua_brasileira_de_sinais_(libras)"
[37] "matematica_financeira"
[38] "metodologia_cientifica"
[39] "modelos_matematicos"
[40] "pratica_de_ensino_1"
[41] "pratica_de_ensino_2"
[42] "pratica_de_ensino_3"
[43] "pratica_de_ensino_4"
[44] "psicologia_e_educacao"
[45] "seminarios_/_monografia"
[46] "disciplinas_optativas"
Funciona!