1
resposta

Unificação de linhas

Professor(a) bom dia,

Por gentileza, tenho uma dúvida quanto a "agregação" de linhas. Estou me exercitando com uma tabela na qual constam 9 "linhas" e 7 colunas, e gostaria de "juntar" algumas linhas.

A primeira coluna é a "id" da base e as demais representam a quantidade de eleitores segundo seu grau de escolaridade entre os anos de 2008 e 2018.

Como meu objetivo é o de elaborar um gráfico para acompanhar ao longo dos anos a evolução dessas categorias, gostaria de tornar esse gráfico ainda mais simples, unificando algumas categorias. Por exemplo "Ensino Fundamental completo" e "Ensino Médio Incompleto".

É possível entender minha dúvida?

Muito obrigado.

Att, AP

1 resposta

Olá Allyson, tudo bem? Espero que sim!

Desculpe pela demora em retornar.

Você pode utilizar o método gsub() para fazer a substituição de um texto por outro, dessa forma você pode fazer a centralização de uma categoria em outra.

Vou mostrar através de um exemplo simples como você pode transformar o valor "Ensino Médio incompleto" para o valor "Ensino Fundamental completo", mas você pode aplicar para qualquer string e em qualquer coluna.

Inicialmente, vamos criar os dados de exemplo através do código:

escolaridade <- c('Ensino Médio completo', 'Ensino Médio completo','Ensino Superior', 'Ensino Fundamental completo', 'Ensino Médio completo', 'Ensino Superior','Ensino Fundamental completo', 'Ensino Médio incompleto','Ensino Médio incompleto')
id <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)
dados <- data.frame(id, escolaridade)

Ao visualizarmos os dados, obteremos uma tabela como essa:

idescolaridade
1Ensino Médio completo
2Ensino Médio completo
3Ensino Superior
4Ensino Fundamental completo
5Ensino Médio completo
6Ensino Superior
7Ensino Fundamental completo
8Ensino Médio incompleto
9Ensino Médio incompleto

Os dois últimos registros correspondem a escolaridade Ensino Médio incompleto. Vamos aplicar a função gsub() nos dados de escolaridade e vamos salvar em uma variável escolaridade_modificada.

Através desse novo vetor, podemos substituir no conjunto de dados original ou criar uma nova coluna. Vamos criar uma nova coluna com o mesmo nome da variável. O código para realizar essas ações pode ser encontrado a seguir:

escolaridade_modificada <- gsub('Ensino Médio incompleto', 'Ensino Fundamental completo', dados$escolaridade)
dados$escolaridade_modificada <- escolaridade_modificada

A nova tabela, com a coluna de escolaridade modificada ficará assim:

idescolaridadeescolaridade_modificada
1Ensino Médio completoEnsino Médio completo
2Ensino Médio completoEnsino Médio completo
3Ensino SuperiorEnsino Superior
4Ensino Fundamental completoEnsino Fundamental completo
5Ensino Médio completoEnsino Médio completo
6Ensino SuperiorEnsino Superior
7Ensino Fundamental completoEnsino Fundamental completo
8Ensino Médio incompletoEnsino Fundamental completo
9Ensino Médio incompletoEnsino Fundamental completo

A função gsub() recebe como primeiro parâmetro o texto original que deseja modificar, o segundo parâmetro é referente ao novo texto que desejamos atribuir e o terceiro e último parâmetro é o vetor contendo os dados.

Espero que tenha tirado sua dúvida.

Estou à disposição. Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software