Buscar

04-Manipulação_de_Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação Estatística
Material Teórico
Responsável pelo Conteúdo:
Prof.ª Me. Jéssica Bárbara da Silva Ribas
Revisão Textual:
Prof.ª Dr.ª Luciene Oliveira da Costa Granadeiro
Manipulação de Dados
• Introdução;
• Entrada de Dados;
• Manipulação de Dados.
• Permitir que o aluno importe dados de arquivos e manipule os mesmos conforme 
sua necessidade.
OBJETIVO DE APRENDIZADO
Manipulação de Dados
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem 
aproveitado e haja maior aplicabilidade na sua 
formação acadêmica e atuação profissional, siga 
algumas recomendações básicas: 
Assim:
Organize seus estudos de maneira que passem a fazer parte 
da sua rotina. Por exemplo, você poderá determinar um dia e 
horário fixos como seu “momento do estudo”;
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
alimentação saudável pode proporcionar melhor aproveitamento do estudo;
No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos 
e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você tam-
bém encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua 
interpretação e auxiliarão no pleno entendimento dos temas abordados;
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus-
são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o 
contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e de 
aprendizagem.
Organize seus estudos de maneira que passem a fazer parte 
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Determine um 
horário fixo 
para estudar.
Aproveite as 
indicações 
de Material 
Complementar.
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
Não se esqueça 
de se alimentar 
e de se manter 
hidratado.
Aproveite as 
Conserve seu 
material e local de 
estudos sempre 
organizados.
Procure manter 
contato com seus 
colegas e tutores 
para trocar ideias! 
Isso amplia a 
aprendizagem.
Seja original! 
Nunca plagie 
trabalhos.
UNIDADE Manipulação de Dados
Introdução
Em ciência de dados, a tarefa mais importante e usual realizada é a manipulação 
de dados, pode parecer bobagem, mas cerca de 80% do trabalho de um estatístico 
ou cientista de dados está na escolha e organização do conjunto de dados a ser 
processado e/ou visualizado.
Segundo Wickham (2017), há um fluxo de tarefas a serem seguidas para que 
suas análises resultantes tenham bons resultados. Tal fluxo de trabalho, representa-
do na Figura 1, tem um looping entre as tarefas manipulação e ou transformação, 
visualização e modelo até que o trabalho esteja apresentável ao solicitante.
Importação Comunicação
Visualização
Modelo
Transformação
Análise
exploratória
Figura 1 – Organização das principais tarefas no processamento 
dados, considerando a análise exploratória
Fonte: Adaptado de Wickhan, 2017
Nesse momento, o principal foco está nas fases de importação e transformação 
dos dados, pois a complexidade e qualidade dos dados de entrada têm grande influ-
ência no alcance do resultado final desejado.
Um conjunto de dados podem ser classificados em: estruturado, não estruturado 
e semiestruturado (AMARAL, 2016). Os dados estruturados, como o nome sugere, 
possuem uma estrutura rígida que não devem sofrer alterações, por exemplo, tabe-
las feitas no Excel, tabelas de Banco de Dados Relacionais. 
Os dados não estruturados geralmente estão em arquivos em formato de texto 
(como livros, revistas, páginas da web), imagens, vídeos, áudio, entre outros que 
precisem de um processo de análise para entender o real conteúdo.
Importante!
Quase 90% dos dados existentes no mundo são não estruturados (AMARAL, 2016).
Você Sabia?
8
9
Os dados semiestruturados são um meio termo entre os dois anteriores e pos-
suem um nível de complexidade maior que os anteriores, pois são arquivos com certa 
estrutura flexível a mudanças, por exemplo: XML (Extensible Markup Language ), 
JSON (JavaScript Object Notation), RDF (Resource Description Framework) e 
OWL (Ontology Web Language).
Considerando a fonte de dados e como a sua estrutura se apresenta, para ajustá-
-la, limpar possíveis “impurezas”, como, por exemplo, duplicidade de registros, é 
necessária uma estruturação ou, algumas vezes, somente uma reorganização para 
facilitar a visualização e/ou processamento dos dados, podendo, assim, gerar infor-
mações mais precisas. 
Entrada de Dados
Como qualquer outra linguagem de programação, no R, é possível que o usu-
ário insira dados nos vetores e variáveis via console. Também é usual o preen-
chimento das variáveis com valores aleatórios ou a partir de uma equação ou 
utilizando a função “seq()”.
Contudo, a maneira mais comum de trabalhar com dados no R é por leitura de 
arquivos ou acessando os dados de uma base de dados. Neste material, iremos tra-
balhar com a importação via leitura de arquivos, mas, caso queira testar as demais 
maneiras de entrada de dados, acesse o link disponível no quadro saiba mais.
Dados no R, disponível em: http://bit.ly/2L0DnJg
Ex
pl
or
Para a leitura de arquivos TXT, CSV utilizaremos o pacote “readr”, já para a 
leitura de arquivos XLS ou XLSX, o pacote a ser utilizado é o “readxl” – ambos 
precisam ser instalados.
Por padrão, a leitura e gravação de arquivos no R ocorrerá no Diretório de 
Trabalho e, para saber qual é o seu diretório de trabalho, vamos utilizar a fun-
ção “getwd()”. Conforme apresentado na Figura 2, o diretório de trabalho atual é 
“C:/Users/jessica/Documents”.
Vamos mudar o diretório de trabalho utilizando a função “setwd()”, por exemplo: 
setwd(“C:/Users/jessica/Documents/disciplina de lingagem estatistica/script”).
Note que o caminho até o novo diretório deve estar entre aspas (duplas ou sim-
ples) para ser reconhecido como um texto. Outro detalhe importante é a utilização 
das barras invertidas entre os nomes dos diretórios, pois a linguagem R segue o 
padrão de Linux de navegação de diretórios. Após a execução do “setwd”, execute 
novamente o “getwd()”.
9
UNIDADE Manipulação de Dados
Figura 2 – Verificação e Alteração do diretório de trabalho no R
A utilização do recurso de diretório de trabalho no R não é obrigatória, pois você 
pode, na hora de abrir um para leitura, indicar um caminho diferente. Mas, por 
experiência própria, indicar o diretório de trabalho de maneira que os dados e os 
scripts fiquem organizados no projeto é a melhor estratégia em longo prazo.
O RStudio possui um botão para importar um conjunto de dados ou dataset, o 
“import Dataset”, localizado no terceiro quadrante na aba “Enviroment”, conforme 
apresentado na Figura 3. Vamos importar um arquivo de texto qualquer (*.TXT) 
utilizando o pacote “readr”.
Após selecionar a opção de importação de arquivo com o “readr”, irá apresentar 
a tela “Import text Data”, clique no botão “Browser” e selecione o arquivo deseja-
do. Após um processamento no quadrante “Data Preview”, irá aparecer uma pré-
-visualização do conteúdo do arquivo.
No Quadrante “Import Options”, poderá configurar algumas opções de impor-
tação, como, por exemplo, a primeira do arquivo poderá ser o nome das colunas, 
as opções “Delimiter”, para arquivos txt demilitados.
Figura 3 – Botão Import Dataset do RStudio
No quadrante “Code Preview”, aparecerão as linhas de comandos relacionadas 
à importação desse arquivo. Copie as linhas e clique no botão “Import”, depois, 
cole o código fonte da importação de dados no script R. A importação de arquivos 
XLS e XLSX segue praticamente o mesmo passo a passo, mudando a função para 
a “read_excel()”.
10
11
Carregando arquivos CSV no R: https://youtu.be/2Dmj28wMOkQ
Ex
pl
or
Na aba “Enviroment”, irá apresentar uma nova “variável” contendo o nome do 
arquivo (ou o nome que você colocou nas opções); na frentedela, irá apresentar 
um texto informando a quantidade de observações (registros ou linhas) e variáveis 
(colunas). Isso ocorre porque o objeto contendo os dados importados é do tipo 
Data Frame. 
Data Frame
O Data Frame é a estrutura de dados mais utilizada (e, diga-se de passagem, a 
mais importante) no R, pois ela é uma estrutura de dados bidimensional, porém, 
cada coluna pode conter tipos de dados diferentes. Pense nele como uma espécie 
de tabela para os dados.
Para criar um Data Frame, basta utilizar a função data.frame(), conforme exem-
plo abaixo:
dfTeste <- data.frame(id=c(1:3),
 nome=c(“Ana”,”Maria”,”Joana”),
 idade=c(10,5,15))
class(dfTeste)
View(dfTeste)
Agora, vamos interpretar os parâmetros passados para a função data.frame do 
exemplo. Cada parâmetro é um vetor; o primeiro vetor foi nomeado id e é do tipo 
numérico, o segundo parâmetro é o nome, do tipo texto (caractere); e a idade é do 
tipo número (mas poderia ser caractere).
Após a criação do data frame, ele foi salvo no objeto dfTeste; quando foi execu-
tado, a função class apresentou o valor “data.frame” e a função “View()”abriu uma 
aba no primeiro quadrante, listando os valores do data frame.
Você pode acessar determinadas linhas ou colunas 
do data frame utilizando o operador “$” ou os [linha, 
coluna], conforme mostrado na Figura 4. Quando 
utilizado o operador “$”, serão listados os valores da 
coluna. Quando mostramos o vetor nome, a primeira 
linha apresenta os dados na sequência salva, porém, 
apareceu a opção “Levels”. Isso ocorreu porque há a 
opção “stringAsFactors= TRUE”, e tem como saída 
os valores de texto em ordem alfabética.
Quando a pesquisa foi realizada por um ou mais 
registro(s) (linha), sempre aparecerá o cabeçalho (nome 
dos vetores) junto com as linhas resultantes. Na pesquisa 
Figur a 4 – Acesso aos 
dados do Data Frame
11
UNIDADE Manipulação de Dados
utilizando [linhas, colunas], é possível preencher o valor das linhas e/ou colunas com 
um intervalo (operador “:”); por exemplo, queremos todos os campos dos registros 1 
e 2: dfTeste[1:2,]; ou todos os registros, mas somente as colunas 2 e 3: dfTeste[,2:3].
O data frame não é uma estrutura de dados de tamanho fixo, sempre é possível 
incluir e excluir linhas e colunas durante a execução do script. A função para incluir 
coluna é a “cbind()” e para linhas é “rbind()”. A sintaxe para incluir uma nova coluna 
no data frame é: dataFrame <- cbind(dataFrame, colunas). A função rbind:
dataFrame <- rbind(dataFrame,vetor1=valor,vetor2=valor,...,vetorN=valor)
Para excluir linhas ou colunas se faz necessário realizar uma pesquisa conten-
do o novo valor do data frame e salvá-lo. Por exemplo, dataFrame[-2,], não irá 
apresentar a segunda linha do data frame, assim, podemos remover essa linha do 
objeto atribuindo o resultado da pesquisa, desta maneira: 
dataFrame <- dataFrame[-2,]
Quando se trata de data frames, a organização dos dados pode ser realizada 
com diversas funções nativas do R, além das funções próprias para manipulação 
do data frame. Veja outros exemplos de funções para manipulação de data frame 
no link disponível no quadro Explore.
Data Frame: http://bit.ly/2KWIKJz
Ex
pl
or
Manipulação de Dados
Apesar das várias maneiras de organizar os dados em um data frame, existe um 
pacote específico para essa tarefa, o “dplyr”; contudo, para uma boa utilização de 
todas as funções, instale também o pacote “tidyr”. 
O “dplyr” é uma gramática de dados, que possui um conjunto de “verbos” rela-
cionados a facilitar as tarefas mais comuns na manipulação de dados, e suas prin-
cipais funções são:
select();
filter();
mutate();
arrange();
group_by();
summarise().
12
13
Os dados utilizados no exemplo, daqui em diante, são dados públicos disponibili-
zados no Atlas do Desenvolvimento Humano no Brasil1, a base de dados é a “Radar 
IDHM (PNADS 2011-2015)”, contendo vários dados socioeconômicos, como, por 
exemplo, expectativa de vida, taxa de mortalidade, índice de Gini e IDH do Brasil, 
estados e algumas capitais.
Select()
A primeira coisa a se fazer na base de dados, após importar, é realizar uma bus-
ca nos dados; para tanto, será utilizada a função “select()”. A base de dados utilizada 
possui 68 colunas e 190 registros, contudo, a busca foi restrita aos indicadores 
mencionados anteriormente, conforme mostra a Figura 5.
Figura 5 – Busca na base de dados utilizando a função “Select()”
Note que a busca é restrita às colunas da base de dados; na Figura 5, houve uma 
busca dita positiva, onde foram mencionados os campos desejados, mas o inverso 
também é possível de se realizar. Caso desejássemos todos os campos, exceto a 
“ESPVIDA”, o comando seria: “idh %>% select(-ESPVIDA)”.
Filter()
Enquanto a função “select()” realiza busca nas colunas, a função “filter()” realiza um 
filtro nas linhas; para tanto, devemos utilizar operadores lógicos e/ou condicionais.
Figura 6 – Função “Filtro()” com operadores lógicos e condicionais
1 <http://bit.ly/2MvNBEU>.
13
UNIDADE Manipulação de Dados
No exemplo da Figura 6, foi realizado um filtro na primeira busca, o filtro pega 
somente os estados de Santa Catarina e Rio Grande do Sul quando o IDH está 
maior que .5, houve um retorno de 10 registro para esta condição. Um ponto a ser 
observado foi a utilização do operador %in% em vez de “==”, isso porque a entrada 
é um vetor de condições e não uma única condição.
Mutate()
Com a função “mutate()”, é possível criar e/ou incluir colunas no dataset. Por 
exemplo, algumas vezes, é necessário inserir variáveis para sinalizar ou identifi-
car alguns dados, as chamadas variáveis dummyes, conforme exemplificado na 
 Figura 7. Foram inseridas duas colunas na consulta: a primeira, contendo valores 
zeros, e a segunda, contendo valor 1.
Figura 7 – Inclusão de colunas utilizando o função “mutate()”
Atente para o fato de que é possível salvar valores calculados entre as colunas, 
ou inserir novos vetores contendo dados de outras fontes (base) de dados, que são 
necessários para a geração da análise atual.
Arrange()
A função “arrange()” deve ser utilizada para ordenar os resultados, seguindo o 
critério indicado, por exemplo, ordenar os resultados pelo “NOME_AGREGA” em 
forma crescente ou decrescente.
A Figura 8 apresenta o exemplo da ordenação dos resultados utilizando o co-
mando arrange(), ordenando pelo campo “IDHM”, no objeto “tst5” de forma cres-
cente e no objeto “tst6” de forma decrescente.
14
15
Figura 8 – ordenação dos resultados, função “arrange()”
Group_by() e Summarise()
Geralmente, as funções “group_by()” e “summarise()” são utilizadas juntas, pois 
a primeira função separa a base nos grupos seguindo as regras estabelecidas, a se-
gunda função sumariza (ou agrega) os grupos aplicando funções matemáticas como 
media, soma, desvio padrão ou simplesmente conta frequência de determinado item.
Como nós agrupamos os dados e sumarizamos os resultados, ocorreu uma dimi-
nuição dos registros resultantes na busca, conforme mostra a Figura 9. Ao realizar 
essa tarefa, diminuímos o nível de detalhamento dos dados, como se estivéssemos 
parando de trabalhar com microdados ou dados brutos e passamos a trabalhar com 
dados um pouco mais limpos (ou lapidados).
Para contar a frequência de determinado item na base de dados, podemos uti-
lizar juntamente com o “group_by()” e “summarise()” a função “count()”. Apesar 
de as funções “group_by()” e “summarise()” estarem ligadas uma com a outra, é 
possível utilizar a “summarise()” para criar novas colunas (variáveis) como a função 
mutate(), contudo, o valor delas seria a sumarização de um conjunto de variáveis.
Figura 9 – Agrupamento e sumarização da base de dados
15
UNIDADE Manipulação de Dados
Rename()
Para alterar o nome das colunas, devemos utilizar a função “rename()”, a sin-
taxe desse comando está exemplificada na Figura 10, onde deve ser indicada a 
base de dados, após o operador “%>%”, então a função “rename(NovoNome = 
NomeAntigo,....,fim)”.
Figura 10 – Mudançade nome das colunas utlizando a função “rename()”
Operador %>%
Até este momento, utilizamos o operador %>% sem entender por que ele está 
naquele lugar, ou para que ele está sendo utilizado. Na realidade, esse operador é 
utilizado para fazer com que uma opção ocorra atrás da outra em sequência sem 
problema. Por exemplo, o resultado de uma busca é o parâmetro de entrada para 
outra função como a de ordenação ou filtro dos dados. 
No comando: idh >% select(ANO,NOME_AGREGA,ESPVIDA,MORT1). A base 
de dados IDH está sendo passada como parâmetro para a função select buscar os 
campos necessários. Quando realizamos um filtro, o operador >% veio antes do 
comando filtro para indicar que a entrada para o mesmo vem da função “select()”.
Esse operador torna a manipulação de dados prática, pois permite que os blocos 
de comandos fiquem próximos e organizados, facilitando, assim, a leitura e manu-
tenção do script.
Tibble 
Você notou que todos os retornos das operações realizadas com o pacote “dplyr”, 
em uma posição antes da lista dos dados, costuma aparecer a palavra “Tibble” 
juntamente com os valores numéricos indicando a quantidade de linhas e colunas 
retornados. Isso ocorre porque o data frame de entrada foi convertido durante o 
processamento das funções no tipo de dados Tibble. 
Um Tibble é definido como um data frame com método de impressão mais 
adequado, além do fato de uma maior facilidade e estabilidade ao se trabalhar com 
grandes volumes de dados textuais (caractere e/ou String).
16
17
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
 Leitura
CURSO-R – Importação de dados
http://bit.ly/2KVEKJg
CURSO-R – Manipulação de dados
http://bit.ly/2KYdTfN
FULLJOIN – Manipulação de Dados- Parte 1: Dplyr básico
http://bit.ly/2LcDUrV
WIKIR – Manipulando dados com dplyr e tidyr
http://bit.ly/2L2gsgz
17
UNIDADE Manipulação de Dados
Referências
AMARAL, F. Introdução à Ciência de Dados: mineração de dados e big data. 
Alta Books Editora, Rio de Janeiro, Brasil, 2016.
CRAN, The Comprehensive R Archive Network. Disponível em: <https://cran. 
r-project.org>. Acesso em: 05/2019.
DA SILVA, L. A.; PERES, S. M.; BOSCARIOLI, C. Introdução à mineração de 
dados: com aplicações em R. Elsevier editora LTDA, Rio de janeiro, Brasil, 2017.
ESTATISTIC BERKELEY, Department of Statistic Berkeley. Factors in R. 
Disponível em: <https://www.stat.berkeley.edu/~s133/factors.html>. Acesso 
em: 06/2019.
FERREIRA, E.; LISBOA, W. Introdução ao R. Disponível em: <https://bookdown .
org/wevsena/curso_r_tce/curso_r_tce.html>. Acesso em: 06/2019.
OLIVEIRA, P. F. de; GUERRA, S.; MCDONNEL, R. Ciência de Dados com R – 
Introdução. Brasília: IBPAD, 2018. Disponível em: <https://www.ibpad.com.br/ 
o-que-fazemos/publicacoes/introducao-ciencia-de-dados-com-r/>.
WICKHAM, H. R for Data Science. O’Reilly, 2017. Disponível em: <https://r4ds.
had.co.nz>.
________. Advanced R Syle Guide. Disponível em: <http://adv-r.had.co.nz/Style.
html>. Acesso em: 05/2019.
18

Continue navegando