105
Análise de Dados dr. Rachid Muleia, Msc. in Statistics Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática Julho - Novembro 2019 dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informátic Análise de Dados Julho - Novembro 2019 1 / 66

Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Análise de Dados

dr. Rachid Muleia, Msc. in Statistics

Universidade Eduardo MondlaneFaculdade de Ciências

Departamento de Matemática e Informática

Julho - Novembro 2019

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 1 / 66

Page 2: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Avaliação da qualidade de dados (DQA)

O objectivo primário é determinar se uma decisão ou estimativa podeser feita com o nível de certeza desejado, dado a qualidade dos dados

Verificar a adequação das variáveis de interesse.

Verificar a adequação dos instrumentos de medição.

Suficiência da amostra para detectar um efeito com significânciaprática caso esteja presente.

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 2 / 66

Page 3: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Revisão de dadosDurante o processo de revisão de dados é preciso inspeccionar os dados nasua totalidade, gerando uma série de estatísticas sumárias e visualizaçõesgráficas.

Calcular o mínimo e máximo para todas as variáveis, e comparar-oscom os intervalos predeterminados.

Eliminar duplicados da base de dados.

verificar se os dados foram colhidos na unidade de medida correcta.

calcular a correlação serial para verificar se as observações sãoindependentes umas das outra (correlação entre a variável e os seusvalores defasados)

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 3 / 66

Page 4: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

O que é R?

Uma linguagem de programação.

Software para análises estatísticas e visualização de dados.

Open source não precisa de gastar algum centavo

Está disponível para os sistemas operativos: Linux, Mac e Windows.

Pode ser baixado a partir do repositório CRAN ou The R Project forStatistical Computing

Recomendo que também instale o RStudio, um editor que ajuda naaprendizagem e garante maior produtividade.

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 4 / 66

Page 5: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Por que usar R?

Actualmente é uma das liguangens de programação com maiorpopularidade.

R é bastante recomendável para Data Science.

Tem uma imensidão de recursos para aprendizagem.

Muita gente empenhada no desenvolvimento do R

A comunidade de usuários de R é bastante grande. CheckStackoverflow R“Melhor software para visualização de dados.”Desenvolvimento de aplicações webs, vulgarmente conhecidas porShiny App

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 5 / 66

Page 6: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Instalação e Inicialização

O processo de instalação é similar ao de qualquer programa.

O ficheiro é executavel, então é só clicar duas vezes e seguir asinstruçõesApós a instalação o programa pode ser incializado indo ao Sart Menu eprocurar pelo icon:

Para maior desempenho na aprendizagem recomendo que use o Rstudio(preferência pessoal). Existem outros editores. . .

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 6 / 66

Page 7: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Operadores aritiméticos

O R também pode ser usado como calculadora.

x + y #adiçãox - y #subtraçãox * y #multiplicaçãox / y #divisãox ^ y #exponenciaçãox %% y #modulus(resto da divisão)x %/% y #divisão inteira

Para além de operações artiméticas, o R pode fazer operações matemáticascomplexas. [Vide documentação] emhttps://stat.ethz.ch/R-manual/R-devel/library/base/html/Trig.html

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 7 / 66

Page 8: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Tipo de Dados e Estrutura de Dados

Tipo de dadosLogical (TRUE e FALSE)Interger (número inteiro) ex: 1L,2L,3L. . .Numeric (número real) ex: 2.0, 4.7,. . .character (carácter/string) ex: " Global“.

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 8 / 66

Page 9: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Estrutura de dados

Vectors (vectores)Lists (listas)Matrix (matrizes)ArrayDataframe

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 9 / 66

Page 10: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

vectorapple <- c('red','green',"yellow")print(apple)

## [1] "red" "green" "yellow"

#elementos do vector podem ser acedidos usando []apple[1]

## [1] "red"

apple[2]

## [1] "green"

apple[c(1,3)]

## [1] "red" "yellow"

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 10 / 66

Page 11: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Listas

# Criacao de lista.list1<-list(c(2,5,3),21.3,sin)# imprimir a lista.print(list1)

## [[1]]## [1] 2 5 3#### [[2]]## [1] 21.3#### [[3]]## function (x) .Primitive("sin")

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 11 / 66

Page 12: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Matrizes

Uma matriz é um conjunto de dados retangular bidimensional. A funçãomatrix() recebe um vector.# Criacao da matriz.M = matrix( c('a','a','b','c','b','a'), nrow = 2, ncol = 3, byrow = TRUE)print(M)

## [,1] [,2] [,3]## [1,] "a" "a" "b"## [2,] "c" "b" "a"

# Os valores da matriz podem ser acedidos usando [,]M[1,3]; M[1,1:3]

## [1] "b"

## [1] "a" "a" "b"

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 12 / 66

Page 13: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Matrizes (um pouco mais)

Y=matrix(1:12, nrow = 3, ncol = 4)Y

## [,1] [,2] [,3] [,4]## [1,] 1 4 7 10## [2,] 2 5 8 11## [3,] 3 6 9 12

Y[1, 3]; Y[1, ]; Y[, 2]

## [1] 7

## [1] 1 4 7 10

## [1] 4 5 6

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 13 / 66

Page 14: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Data frame

Um objecto data.frame em R tem propriedades dimensionais semelhantes auma matriz, mas pode conter dados categóricos, além de numéricos. Umamatriz só pode levar dados do mesmo tipo.

Uma data frame pode ser criada usando a função data.frame().

nomes=c("Edson", "Eudson","Euclides", "Freid")idade=c(30,35,32,34)residencia=c('Zimpeto','Liberdade','Alto-Mae', "Polana")#data framedados_trab=data.frame(nomes, idade, residencia, stringsAsFactors=FALSE)#inspeccionarhead(dados_trab)

## nomes idade residencia## 1 Edson 30 Zimpeto## 2 Eudson 35 Liberdade## 3 Euclides 32 Alto-Mae## 4 Freid 34 Polana

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 14 / 66

Page 15: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

dim(dados_trab) #dimensão da base de dados.

## [1] 4 3

names(dados_trab) # nome das variáveis.

## [1] "nomes" "idade" "residencia"

str(dados_trab) # estrutura da base de dados.

## 'data.frame': 4 obs. of 3 variables:## $ nomes : chr "Edson" "Eudson" "Euclides" "Freid"## $ idade : num 30 35 32 34## $ residencia: chr "Zimpeto" "Liberdade" "Alto-Mae" "Polana"

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 15 / 66

Page 16: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Como aceder aos elementos da Data Frame?Os elementos de uma data frame podem ser acedidos da mesma formacomo elementos de uma lista ou matriz.

Acedendo como lista:

Pode-se usar os seguintes operados, [ , [[ or $ para aceder as colunas.

dados_trab['nomes']

## nomes## 1 Edson## 2 Eudson## 3 Euclides## 4 Freid

dados_trab$nomes

## [1] "Edson" "Eudson" "Euclides" "Freid"dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 16 / 66

Page 17: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

dados_trab[['nomes']]

## [1] "Edson" "Eudson" "Euclides" "Freid"

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 17 / 66

Page 18: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Aceder como uma matriz.

dados_trab[1:3,] #seleccione as três primeiras linhas.

## nomes idade residencia## 1 Edson 30 Zimpeto## 2 Eudson 35 Liberdade## 3 Euclides 32 Alto-Mae

dados_trab[dados_trab$idade<34,] #seleccione os que tem idade inferior a 35.

## nomes idade residencia## 1 Edson 30 Zimpeto## 3 Euclides 32 Alto-Mae

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 18 / 66

Page 19: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

dados_trab[,2:3] #seleccione a segunda e a terceira coluna.

## idade residencia## 1 30 Zimpeto## 2 35 Liberdade## 3 32 Alto-Mae## 4 34 Polana

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 19 / 66

Page 20: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Modificar elementos da Data Frame (observações).

dados_trab[1, 'idade']=35dados_trab

## nomes idade residencia## 1 Edson 35 Zimpeto## 2 Eudson 35 Liberdade## 3 Euclides 32 Alto-Mae## 4 Freid 34 Polana

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 20 / 66

Page 21: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

R tem um editor de dados, no estilo de planilha, que pode ser usado parainserir os dados.

newdata=edit(data.frame())dados_trab=edit(dados_trab)

O R não foi concebido para inserção de dados.Dados são geralmente armazenados em ficheiros .txt, .csv,.xlsx, .dat, ...O R tem várias funções para ler vários ficheiros. A função mãe éread.table()

path="C:/Users/Rachid/Box Sync/My Box Docs/Analise de dados em R/Introducao"carros=read.table(paste(path,"cars.csv",sep='/'),

sep=',',header=TRUE)

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 21 / 66

Page 22: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

O R não só pode ler dados armazenados localmente, mas também pode lerdados a partir da internet.

data=read.table("http://www.sthda.com/upload/decathlon.txt",sep='\t', header=TRUE)

head(data)

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 22 / 66

Page 23: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Usar uma url na função read.table() não é aconselhável, pois nãoé “reprodutível”.

O ideal é baixar os dados e ler-os localmente.

A partir do R é possível baixar dados/ficheiros online usando a funçãodownload.file()

# baixar um ficheiro .txtdownload.file("http://www.sthda.com/upload/decathlon.txt",destfile=paste(path,"decathlon.txt",sep='/'))

A função download.file(), não só pode ser usada para baixarficheiros .txt.

download.file("http://www2.ntia.doc.gov/files/broadband-data/AK-NBM-CSV-Dec-2012.zip",destfile=paste(path,"AK-NBM-CSV-Dec-2012.zip",sep="/"))

unzip("AK-NBM-CSV-Dec-2012.zip")data = read.delim(paste(path,"AK-NBM-Wireless-CSV-DEC-2012.TXT",sep="/"), sep = "|")

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 23 / 66

Page 24: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Exportação de Dados

O R permite exportar/gravar dados em vários formatos.

Um dos formatos mais populares é o .csv, mas usuário está livre deexportar para o formato que lhe convem.

Para exportação de dados usa-se a função write.table()

write.table(dados_trab, file=paste(path, "dados_trab.csv",sep="/"), sep=",",row.names=FALSE)

A função write.table() é mais genérica. Existem função maisespecíficas, como write.csv()

write.csv() grava/exporta um ficheiro no formato .csv.

write.csv(dados_trab, file=paste(path, "dados_trab_1.csv",sep='/'))

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 24 / 66

Page 25: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Um pouco mais sobre Import/Export (Dados)

As funções read.table() e write.table() são funções internas comalgumas litimações.

Há ficheiros que não é possível ler/ gravar com estas funções.

Por ex, ficheiros em formato .xlsx não podem ser lidos usando afunção read.table()

#install.packages("openxlsx")library(openxlsx)example_xlsx=openxlsx::read.xlsx(xlsxFile = paste(path,

"data_example.xlsx", sep="/"))head(example_xlsx)

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 25 / 66

Page 26: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

A função read.xlsx() permite também especificar a planilha de dados quese pretende ler usando o argumento sheet.

O argumento sheet pode ser o nome da panilha, em aspas, ou o nr daplanilha.

library(openxlsx)example_xlsx_1=openxlsx::read.xlsx(xlsxFile = paste(path, "data_example.xlsx"

, sep="/"),sheet=2)dim(example_xlsx)dim(example_xlsx_1)

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 26 / 66

Page 27: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Importação de ficheiros SPSS, SAS e STATAO R oferece recursos para leitura de ficheiros SPSS, SAS e STATA, a partirda livraria foreign.Caso a livraria foreign não esteja instalada, pode-se instalar usando ocondamando install.packages('foreign').#install.packages("foreign")library(foreign)#leitura de ficheiro SPSSbasedados=read.spss('C:/Users/lucp8943/Dropbox/Analise de Dados DMI/Slides Aulas/MZAR72FL.SAV',

to.data.frame=TRUE)

## re-encoding from UTF-8

## Warning in read.spss("C:/Users/lucp8943/Dropbox/Analise de Dados DMI/## Slides Aulas/MZAR72FL.SAV", : Undeclared level(s) 577, 624, 643, 651, 669,## 714, 739, 745, 746, 760, 763, 779, 800, 808, 810, 834, 852, 858, 859, 889,## 901, 914, 927, 934, 940, 954, 960, 967, 969, 974, 981, 985, 1002, 1009,## 1019, 1024, 1031, 1036, 1067, 1076, 1080, 1083, 1091, 1099, 1117, 1119,## 1130, 1141, 1154, 1163, 1199, 1218, 1222, 1248, 1275, 1284, 1285, 1293,## 1302, 1326, 1360, 1368, 1378, 1394, 1401, 1407, 1417, 1427, 1448, 1458,## 1472, 1476, 1479, 1489, 1500, 1511, 1532, 1543, 1545, 1559, 1565, 1587,## 1595, 1599, 1611, 1622, 1633, 1643, 1656, 1668, 1692, 1704, 1711, 1716,## 1735, 1760, 1765, 1778, 1803, 1808, 1816, 1828, 1829, 1842, 1855, 1866,## 1881, 1935, 1949, 2005, 2033, 2048, 2062, 2107, 2121, 2137, 2167, 2182,## 2198, 2213, 2229, 2239, 2283, 2293, 2295, 2319, 2326, 2342, 2393, 2427,## 2444, 2461, 2479, 2500, 2514, 2532, 2547, 2587, 2597, 2642, 2679, 2698,## 2718, 2736, 2737, 2756, 2796, 2811, 2816, 2876, 2913, 2916, 2938, 2958,## 2962, 2979, 2980, 3001, 3013, 3022, 3043, 3055, 3065, 3086, 3087, 3109,## 3135, 3151, 3153, 3175, 3198, 3201, 3290, 3313, 3337, 3360, 3397, 3408,## 3422, 3457, 3506, 3581, 3585, 3607, 3658, 3676, 3684, 3688, 3710, 3723,## 3737, 3752, 3763, 3790, 3817, 3869, 3883, 3899, 3909, 3926, 3954, 3977,## 3989, 4039, 4068, 4097, 4115, 4123, 4155, 4214, 4244, 4291, 4347, 4366,## 4397, 4460, 4463, 4491, 4523, 4555, 4588, 4592, 4612, 4618, 4649, 4653,## 4675, 4686, 4719, 4787, 4853, 4855, 4889, 4923, 4924, 4994, 5030, 5065,## 5124, 5172, 5248, 5285, 5360, 5376, 5398, 5437, 5475, 5514, 5553, 5567,## 5593, 5633, 5677, 5679, 5696, 5753, 5794, 5877, 5919, 5948, 5961, 6003,## 6046, 6132, 6175, 6191, 6219, 6308, 6316, 6353, 6443, 6489, 6535, 6581,## 6628, 6675, 6723, 6770, 6818, 6867, 6880, 6911, 6916, 6933, 6965, 6980,## 7026, 7064, 7114, 7165, 7211, 7264, 7267, 7318, 7370, 7423, 7528, 7657,## 7690, 7744, 7799, 7902, 7911, 7967, 8054, 8080, 8138, 8254, 8312, 8335,## 8450, 8491, 8508, 8551, 8612, 8859, 8865, 8872, 8922, 8985, 8987, 9049,## 9113, 9178, 9204, 9309, 9375, 9441, 9494, 9508, 9576, 9644, 9712, 9851,## 9991, 10093, 10206, 10278, 10351, 10499, 10573, 10724, 10800, 10907, 10954,## 11032, 11110, 11197, 11348, 11429, 11510, 11581, 11592, 11674, 11757,## 11841, 11925, 12009, 12180, 12267, 12354, 12402, 12442, 12530, 12619,## 12629, 12659, 12799, 12981, 13166, 13260, 13544, 13641, 13737, 13835,## 13933, 14032, 14132, 14223, 14333, 14435, 14537, 14618, 14641, 14849,## 14918, 14955, 15061, 15118, 15128, 15276, 15321, 15424, 15442, 15493,## 15548, 15603, 15655, 15763, 15938, 16059, 16165, 16181, 16280, 16377,## 16512, 16537, 16819, 16866, 16986, 17228, 17350, 17474, 17598, 17723,## 17849, 17975, 18103, 18202, 18231, 18361, 18447, 18491, 18708, 18755,## 18888, 19022, 19157, 19360, 19430, 19493, 19707, 19847, 19868, 19988,## 20130, 20134, 20417, 20451, 20562, 20708, 20855, 21152, 21302, 21309,## 21454, 21455, 21569, 21606, 22069, 22384, 22486, 22543, 22864, 22977,## 23004, 23027, 23190, 23355, 23521, 23688, 23856, 24025, 24103, 24106,## 24196, 24368, 24541, 24715, 24754, 24890, 25067, 25245, 25254, 25605,## 25787, 25970, 26109, 26154, 26340, 26527, 26715, 26905, 26994, 27289,## 27678, 27874, 28095, 28271, 28415, 28472, 28674, 28807, 28878, 29046,## 29083, 29289, 29497, 29707, 30130, 30231, 30344, 30560, 30748, 30777,## 31048, 31437, 31660, 31885, 32111, 32569, 32800, 33033, 33268, 33504,## 33742, 33857, 33982, 34223, 34466, 34711, 34957, 35205, 35238, 35240,## 35455, 35707, 35961, 36190, 36216, 36732, 37520, 37787, 38325, 38683,## 39202, 39705, 39987, 39993, 40271, 40801, 40845, 42183, 42280, 42316,## 42749, 42919, 43531, 43612, 43840, 44151, 45099, 46066, 46393, 46723,## 46929, 47389, 47558, 48064, 48490, 48749, 49095, 49444, 49497, 49795,## 50148, 50504, 50835, 50863, 51224, 51588, 51954, 52557, 52695, 53371,## 53446, 53618, 53825, 53976, 54208, 54592, 54980, 55805, 56554, 56932,## 56960, 57365, 57695, 57772, 58081, 58182, 58595, 59430, 59650, 59852,## 60705, 61136, 61671, 62008, 62892, 62916, 63788, 64241, 65047, 65156,## 65619, 66002, 66085, 66554, 67027, 67503, 68465, 68609, 69067, 69441,## 69934, 70430, 70930, 71407, 71434, 71941, 72365, 72849, 73485, 74007,## 74532, 74816, 75061, 75594, 76131, 76327, 77764, 78317, 78388, 78872,## 78873, 79433, 79440, 80506, 80565, 81137, 81173, 81621, 81713, 82182,## 82878, 84059, 84656, 84913, 85862, 86472, 87086, 89586, 90863, 91508,## 92158, 92596, 93471, 94135, 96155, 97525, 98218, 98915, 101755, 103938,## 104395, 104676, 105419, 107215, 108445, 109991, 110772, 111099, 113148,## 113952, 114761, 115576, 117223, 118484, 120588, 122307, 123175, 124050,## 124931, 125818, 127495, 127611, 130069, 131275, 132207, 133582, 134091,## 135374, 136002, 138920, 141900, 142786, 142908, 143923, 144701, 144945,## 148054, 149106, 150165, 150603, 151231, 152262, 152305, 155572, 156677,## 157790, 158910, 159911, 160038, 161175, 164230, 165802, 166433, 166979,## 167546, 168165, 170561, 170929, 174221, 180287, 184367, 185676, 189660,## 191007, 192363, 193729, 196490, 196600, 203260, 212394, 216951, 218717,## 221606, 223179, 239543, 242957, 244295, 248169, 251706, 253494, 260771,## 264487, 267112, 277917, 293228, 296191, 307228, 317909, 325758, 335026,## 338812, 339521, 343641, 382120, 390318, 393089, 401523, 404374, 411892,## 421911, 437105, 456062, 478117, 492977, 532879, 567128, 584222, 647970,## 717288, 732677, 737880, 769881, 775348, 814718, 1210859, 1261610, 3081240,## 3574851 added in variable: SVIRAL

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 27 / 66

Page 28: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Para além da livraria ‘foreign‘, pode-se usar a livraria ‘haven‘ para osmesmos fins.

A livraria ‘haven‘ pode ser facilmente instalada usando o comando‘install.packages(’haven’)‘.

A livraria ‘haven‘ é mais recomendada e preferida para leitura deficheiros SPSS. Além ficheiros SPSS, pode ler ficheiros SAS e STATA.

#install.packages('haven')library(haven)basedados_1=read_spss('C:/Users/lucp8943/Dropbox/Analise de Dados DMI/Slides Aulas/MZAR72FL.SAV')

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 28 / 66

Page 29: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Como podem ver, read_spss devolve uma tibble. Caso queira converterpara uma data frame, é só usar o comando as.data.frame().

basedados_convr=as.data.frame(basedados_1)head(basedados_convr)

## HIVCLUST HIVNUMB HIVLINE HIV01 HIV02 HIV03 HIV05 HIV06 HIV07 HIV08## 1 1 2 1 K8L2G 6918 0 1725733 0 NA NA## 2 1 2 2 H4B4Q 6881 0 1735684 0 NA NA## 3 1 11 2 P2E5B 6950 0 1725733 0 NA NA## 4 1 12 2 G0P7D 6897 0 1725733 0 NA NA## 5 1 12 1 G8P6K 6851 0 1735684 1 0 0## 6 1 12 6 M0R9N 2749 0 1708158 NA 0 NA## HIV09 SHIV50 SLAGRECN SVIRAL SBIOARV SLAGE## 1 NA NA NA NA NA 1## 2 NA NA NA NA NA 1## 3 NA NA NA NA NA 1## 4 NA NA NA NA NA 1## 5 NA NA NA NA NA 1## 6 NA NA NA NA NA 3dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 29 / 66

Page 30: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

O comando read_spss(), da livraria haven, permite aceder facilmente aslabels dos nomes das variáveis.

attr(basedados_1[['HIV03']],which='label')

## [1] "Blood test result"

attr(basedados_1[['HIVNUMB']],which='label')

## [1] "Household"

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 30 / 66

Page 31: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 32: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 33: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 34: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 35: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 36: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 37: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 38: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 39: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 40: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 41: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 42: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 43: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 44: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 45: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 46: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 47: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 48: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 49: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 50: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 51: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 52: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 53: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 54: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 55: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 56: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 57: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 58: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 59: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 60: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 61: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 62: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 63: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 64: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 65: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 66: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 67: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 68: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 69: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 70: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Manipulação de dados

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 31 / 66

Page 71: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Objectivos

No final deste capítulo, os estudantes deverão saber:

Organizar os dados no formato desejável;

Criar novas variávies;

Filtrar linhas e seleccionar colunas;

Juntar várias bases de dados numa só base (merge);

Usar algumas funções da livraria dplyr para manipular dados;

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 32 / 66

Page 72: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Para ilustração de várias funiconalide de manipulação de dados , vamos usara base de dados mtcars.

Suponha que queira aceder as primeiras 10 linhas da base.

data("mtcars")mtcars[1:10, ]

## mpg cyl disp hp drat wt qsec vs am gear carb## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1## Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1## Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 2## Valiant 18.1 6 225.0 105 2.76 3.460 20.22 1 0 3 1## Duster 360 14.3 8 360.0 245 3.21 3.570 15.84 0 0 3 4## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 33 / 66

Page 73: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Pode-se também aceder algumas linhas especificas, por exemplo, suponhaque esteja interessado nas linhas 1,3,12,20.

mtcars[c(1,3,12,30),]

## mpg cyl disp hp drat wt qsec vs am gear carb## Mazda RX4 21.0 6 160.0 110 3.90 2.62 16.46 0 1 4 4## Datsun 710 22.8 4 108.0 93 3.85 2.32 18.61 1 1 4 1## Merc 450SE 16.4 8 275.8 180 3.07 4.07 17.40 0 0 3 3## Ferrari Dino 19.7 6 145.0 175 3.62 2.77 15.50 0 1 5 6

As primeiras 10 linhas podem ser armazenadas numa variável para usofuturo.

prim_10=mtcars[1:10, ]

Por vezes, o interesse é verificar linhas para a qual uma dada coluna contemum valor y. Por ex, podemos estar interessado em saber, quais os carroscom quatro velocidades. A variável que nos dá informação sobre velocidadesé gear

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 34 / 66

Page 74: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

mtcars[mtcars$gear==4,]

## mpg cyl disp hp drat wt qsec vs am gear carb## Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4## Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4## Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2## Merc 280 19.2 6 167.6 123 3.92 3.440 18.30 1 0 4 4## Merc 280C 17.8 6 167.6 123 3.92 3.440 18.90 1 0 4 4## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 35 / 66

Page 75: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Caso o interesse seja conhecer as viaturas com 4 velocidades e 2carburadores, usaríamos as variáveis gear e carb para aceder essainformação.

mtcars[mtcars$gear==4 & mtcars$carb==2, ]

## mpg cyl disp hp drat wt qsec vs am gear carb## Merc 240D 24.4 4 146.7 62 3.69 3.190 20.00 1 0 4 2## Merc 230 22.8 4 140.8 95 3.92 3.150 22.90 1 0 4 2## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2## Volvo 142E 21.4 4 121.0 109 4.11 2.780 18.60 1 1 4 2

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 36 / 66

Page 76: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Ordenção

O R permite ordenar observações (linhas) de forma crescente e decrescente.O ordenamento é com base na função order().

#ordenar por mpgnova_base=mtcars[order(mtcars$mpg),]head(nova_base)

## mpg cyl disp hp drat wt qsec vs am gear carb## Cadillac Fleetwood 10.4 8 472 205 2.93 5.250 17.98 0 0 3 4## Lincoln Continental 10.4 8 460 215 3.00 5.424 17.82 0 0 3 4## Camaro Z28 13.3 8 350 245 3.73 3.840 15.41 0 0 3 4## Duster 360 14.3 8 360 245 3.21 3.570 15.84 0 0 3 4## Chrysler Imperial 14.7 8 440 230 3.23 5.345 17.42 0 0 3 4## Maserati Bora 15.0 8 301 335 3.54 3.570 14.60 0 1 5 8

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 37 / 66

Page 77: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Pode-se também ordenar usando mais de uma variável.

# Vamos ordenar os dados usando as variáveis mpg e cly

nova_base_1=mtcars[order(mtcars$mpg, mtcars$cyl),]head(nova_base_1)

## mpg cyl disp hp drat wt qsec vs am gear carb## Cadillac Fleetwood 10.4 8 472 205 2.93 5.250 17.98 0 0 3 4## Lincoln Continental 10.4 8 460 215 3.00 5.424 17.82 0 0 3 4## Camaro Z28 13.3 8 350 245 3.73 3.840 15.41 0 0 3 4## Duster 360 14.3 8 360 245 3.21 3.570 15.84 0 0 3 4## Chrysler Imperial 14.7 8 440 230 3.23 5.345 17.42 0 0 3 4## Maserati Bora 15.0 8 301 335 3.54 3.570 14.60 0 1 5 8

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 38 / 66

Page 78: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Caso queira ordenar por ordem decrescente, basta preceder a variável pelosinal menos(-)

base_descr=mtcars[order(-mtcars$mpg),]head(base_descr)

## mpg cyl disp hp drat wt qsec vs am gear carb## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 39 / 66

Page 79: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Selecção de variáveisO R também permite fazer selecção de variáveis. Este procedimento éimportante quando se pretende trabalhar com um número reduzido devariáveis.

#suponha que queira apenas trabalhar com as variáveis mpg, cyl, drat

cols=c('mpg','cyl','drat') # criacao de vector com as variáveis desejadas.sel=mtcars[, cols]head(sel)

## mpg cyl drat## Mazda RX4 21.0 6 3.90## Mazda RX4 Wag 21.0 6 3.90## Datsun 710 22.8 4 3.85## Hornet 4 Drive 21.4 6 3.08## Hornet Sportabout 18.7 8 3.15## Valiant 18.1 6 2.76

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 40 / 66

Page 80: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Para além de usar os nomes das variáveis, pode-se usar o número da colunade cada variável para seleccionar as varíaveis de interesse.

sel_num=mtcars[, c(1,2,3,10)]head(sel_num)

## mpg cyl disp gear## Mazda RX4 21.0 6 160 4## Mazda RX4 Wag 21.0 6 160 4## Datsun 710 22.8 4 108 4## Hornet 4 Drive 21.4 6 258 3## Hornet Sportabout 18.7 8 360 3## Valiant 18.1 6 225 3

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 41 / 66

Page 81: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Exclusão de variáveis.

del_var=mtcars[,c(-3,-5,-9)]head(del_var)

## mpg cyl hp wt qsec vs gear carb## Mazda RX4 21.0 6 110 2.620 16.46 0 4 4## Mazda RX4 Wag 21.0 6 110 2.875 17.02 0 4 4## Datsun 710 22.8 4 93 2.320 18.61 1 4 1## Hornet 4 Drive 21.4 6 110 3.215 19.44 1 3 1## Hornet Sportabout 18.7 8 175 3.440 17.02 0 3 2## Valiant 18.1 6 105 3.460 20.22 1 3 1

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 42 / 66

Page 82: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

O procedimento anterior deixa a base de dados original intacta. Mas casoqueira remover(apagar) por definitivo uma determinada variável (que épouco recomendado) pode-se fazer da seguinte maneira:

#vamos apagar a variável mpg da base de dados.4mtcars$mpg=NULLhead(mtcars)

## cyl disp hp drat wt qsec vs am gear carb## Mazda RX4 6 160 110 3.90 2.620 16.46 0 1 4 4## Mazda RX4 Wag 6 160 110 3.90 2.875 17.02 0 1 4 4## Datsun 710 4 108 93 3.85 2.320 18.61 1 1 4 1## Hornet 4 Drive 6 258 110 3.08 3.215 19.44 1 0 3 1## Hornet Sportabout 8 360 175 3.15 3.440 17.02 0 0 3 2## Valiant 6 225 105 2.76 3.460 20.22 1 0 3 1

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 43 / 66

Page 83: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Filtro e seleçcão de colunas em simultâneoAté aqui vimos como fazer filtros e seleccionar colunas de formas separadas.Pode-se muito bem fazer os dois procedimentos em simultâneo.

#viaturas com mais de 4 cilindros (apresentar penas a coluna 8 e 9)data(mtcars)mtcars[mtcars$cyl>4, c(8,9)]

## vs am## Mazda RX4 0 1## Mazda RX4 Wag 0 1## Hornet 4 Drive 1 0## Hornet Sportabout 0 0## Valiant 1 0## Duster 360 0 0## Merc 280 1 0## Merc 280C 1 0## Merc 450SE 0 0## Merc 450SL 0 0## Merc 450SLC 0 0## Cadillac Fleetwood 0 0## Lincoln Continental 0 0## Chrysler Imperial 0 0## Dodge Challenger 0 0## AMC Javelin 0 0## Camaro Z28 0 0## Pontiac Firebird 0 0## Ford Pantera L 0 1## Ferrari Dino 0 1## Maserati Bora 0 1

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 44 / 66

Page 84: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Combinação de base de dados

Para a combinação de dados iremos usar as seguintes funções:

rbind() para juntar linhas;

cbind() para juntar colunas;

merge() para juntar bases de dados com base numa chave deidentificação;

Algumas funções da livraria dplyr para junção de base de dados;

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 45 / 66

Page 85: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

rbind()

A função rbind() retorna a junção de linhas de duas bases de dados, quetêm mesmas variáveis (colunas).

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 46 / 66

Page 86: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

data_1=data.frame(Name=c('Lenna','Malcom',"Akiko"),City=c("San Francisco","New York", "Tokyo"), Country=c("US","US","Japan"))

data_2=data.frame(Name=c("Lenna","Thomas","Diane"),City=c("San Franscico", "London", "Chicago"), Country=c("US","UK","US"))

data_1

## Name City Country## 1 Lenna San Francisco US## 2 Malcom New York US## 3 Akiko Tokyo Japan

data_2

## Name City Country## 1 Lenna San Franscico US## 2 Thomas London UK## 3 Diane Chicago US

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 47 / 66

Page 87: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

data_new=rbind(data_1, data_2)data_new

## Name City Country## 1 Lenna San Francisco US## 2 Malcom New York US## 3 Akiko Tokyo Japan## 4 Lenna San Franscico US## 5 Thomas London UK## 6 Diane Chicago US

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 48 / 66

Page 88: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

cbind()Retorna a junção de colunas de duas bases de dados, quando estas têm omesmo número de linhas.

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 49 / 66

Page 89: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

data_3=data.frame(Age=c(14,16,17,18,19,20))data_3

## Age## 1 14## 2 16## 3 17## 4 18## 5 19## 6 20

data_4=cbind(data_new, data_3)data_4

## Name City Country Age## 1 Lenna San Francisco US 14## 2 Malcom New York US 16## 3 Akiko Tokyo Japan 17## 4 Lenna San Franscico US 18## 5 Thomas London UK 19## 6 Diane Chicago US 20

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 50 / 66

Page 90: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Merge/Join

Merge permite unir duas bases dados com base numa identificação(ID).

Existem vários tipos de merge: natural join, left join e right outer join

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 51 / 66

Page 91: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

natural join/inner join

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 52 / 66

Page 92: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

df1=data.frame(employee_ID=c(1,2,3,4,5),first_name=c("Jone","Daniel","Anne","George","Tim"),department_ID=c(10,20,10,20,10))

df2=data.frame(department_ID=c(10,20),department_name=c('sales', 'HR'))df_all=merge(df1,df2, by.x='department_ID',by.y='department_ID')df_all

## department_ID employee_ID first_name department_name## 1 10 1 Jone sales## 2 10 3 Anne sales## 3 10 5 Tim sales## 4 20 2 Daniel HR## 5 20 4 George HR

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 53 / 66

Page 93: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Left Join

Retorna todas as linhas da tabela da esquerda e todas as linhas com aschaves correspondentes da tabela da direita.

df1 = data.frame(CustomerId = c(1:6),Product = c(rep("Oven", 3), rep("Television", 3)))

df1

## CustomerId Product## 1 1 Oven## 2 2 Oven## 3 3 Oven## 4 4 Television## 5 5 Television## 6 6 Television

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 54 / 66

Page 94: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

# data frame 2df2 = data.frame(CustomerId = c(2, 4, 6),

State = c(rep("California", 2), rep("Texas", 1)))df2

## CustomerId State## 1 2 California## 2 4 California## 3 6 Texas

df<-merge(x=df1,y=df2,by="CustomerId",all.x=TRUE)df

## CustomerId Product State## 1 1 Oven <NA>## 2 2 Oven California## 3 3 Oven <NA>## 4 4 Television California## 5 5 Television <NA>## 6 6 Television Texasdr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 55 / 66

Page 95: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Right outer join

Retorna todas as linhas da tabela da direita e todas as linhas com as chavescorrespondentes da tabela da esquerda.

df<-merge(x=df1,y=df2,by="CustomerId",all.y=TRUE)df

## CustomerId Product State## 1 2 Oven California## 2 4 Television California## 3 6 Television Texas

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 56 / 66

Page 96: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

dplyr

Quase que todos os pacotes que implementam modelos estatísticosfuncionam em data frame.

Manipulação de dados usando "built-in function" exige maisprogramação do que análise de dados.

Com a criação do pacote “dplyr‘ o processo de manipulação de dadostornou-se muito mais fácil.

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 57 / 66

Page 97: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

select()

# isntall.packages(dplyr)library(dplyr)iris %>% tbl_df %>% select(Petal.Width) %>% head(3)

## # A tibble: 3 x 1## Petal.Width## <dbl>## 1 0.2## 2 0.2## 3 0.2

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 58 / 66

Page 98: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Pode seleccionar, por exemplo, mais do que uma coluna.

# removi tbl_dfiris %>%

select(Petal.Width, Sepal.Length, Petal.Length) %>%head(3)

## Petal.Width Sepal.Length Petal.Length## 1 0.2 5.1 1.4## 2 0.2 4.9 1.4## 3 0.2 4.7 1.3

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 59 / 66

Page 99: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Existem várias formas de seleccionar colunas.

iris %>% tbl_df %>%select(starts_with("Petal")) %>% head(3)

## # A tibble: 3 x 2## Petal.Length Petal.Width## <dbl> <dbl>## 1 1.4 0.2## 2 1.4 0.2## 3 1.3 0.2

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 60 / 66

Page 100: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

iris %>% tbl_df %>%select(ends_with("Width")) %>% head(3)## # A tibble: 3 × 2## Sepal.Width Petal.Width## <dbl> <dbl>## 1 3.5 0.2## 2 3.0 0.2## 3 3.2 0.2iris %>% tbl_df %>%select(contains("etal")) %>% head(3)## # A tibble: 3 × 2## Petal.Length Petal.Width## <dbl> <dbl>## 1 1.4 0.2## 2 1.4 0.2## 3 1.3 0.2

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 61 / 66

Page 101: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

mutate()

A função mutate() permite adicionar uma coluna ao seu quadro de dados,especificando uma expressão de como calculá-la:

iris %>% tbl_df %>%mutate(Petal.Width.plus.Length = Petal.Width + Petal.Length) %>%select(Species, Petal.Width.plus.Length) %>%head(3)

## # A tibble: 3 x 2## Species Petal.Width.plus.Length## <fct> <dbl>## 1 setosa 1.60## 2 setosa 1.60## 3 setosa 1.5

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 62 / 66

Page 102: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

arrange()Ordena uma base de dados com base numa variável.

iris %>% tbl_df %>%arrange(Sepal.Length)

## # A tibble: 150 x 5## Sepal.Length Sepal.Width Petal.Length Petal.Width Species## <dbl> <dbl> <dbl> <dbl> <fct>## 1 4.3 3 1.1 0.1 setosa## 2 4.4 2.9 1.4 0.2 setosa## 3 4.4 3 1.3 0.2 setosa## 4 4.4 3.2 1.3 0.2 setosa## 5 4.5 2.3 1.3 0.3 setosa## 6 4.6 3.1 1.5 0.2 setosa## 7 4.6 3.4 1.4 0.3 setosa## 8 4.6 3.6 1 0.2 setosa## 9 4.6 3.2 1.4 0.2 setosa## 10 4.7 3.2 1.3 0.2 setosa## # ... with 140 more rowsdr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 63 / 66

Page 103: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Por defeito ela ordena por odem crescente, mas pode-se ordenar por ordemdecrescente usandoa função desc()

iris %>% tbl_df %>%arrange(desc(Sepal.Length))

## # A tibble: 150 x 5## Sepal.Length Sepal.Width Petal.Length Petal.Width Species## <dbl> <dbl> <dbl> <dbl> <fct>## 1 7.9 3.8 6.4 2 virginica## 2 7.7 3.8 6.7 2.2 virginica## 3 7.7 2.6 6.9 2.3 virginica## 4 7.7 2.8 6.7 2 virginica## 5 7.7 3 6.1 2.3 virginica## 6 7.6 3 6.6 2.1 virginica## 7 7.4 2.8 6.1 1.9 virginica## 8 7.3 2.9 6.3 1.8 virginica## 9 7.2 3.6 6.1 2.5 virginica## 10 7.2 3.2 6 1.8 virginica## # ... with 140 more rowsdr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 64 / 66

Page 104: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

filter()A função filter() permite selecionar linhas com base em expressõeslógicas. Você dá à função um predicado, especificando o que uma linhadeve satisfazer para ser incluída.

iris %>% tbl_df %>%filter(Sepal.Length > 5)

## # A tibble: 118 x 5## Sepal.Length Sepal.Width Petal.Length Petal.Width Species## <dbl> <dbl> <dbl> <dbl> <fct>## 1 5.1 3.5 1.4 0.2 setosa## 2 5.4 3.9 1.7 0.4 setosa## 3 5.4 3.7 1.5 0.2 setosa## 4 5.8 4 1.2 0.2 setosa## 5 5.7 4.4 1.5 0.4 setosa## 6 5.4 3.9 1.3 0.4 setosa## 7 5.1 3.5 1.4 0.3 setosa## 8 5.7 3.8 1.7 0.3 setosa## 9 5.1 3.8 1.5 0.3 setosa## 10 5.4 3.4 1.7 0.2 setosa## # ... with 108 more rows

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 65 / 66

Page 105: Análise de Dados - Rachid Muleiadr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de

Pode-se ter mais do que uma expressão lógica.

iris %>% tbl_df %>%filter(Sepal.Length > 5 & Species == "virginica") %>%select(Species, Sepal.Length) %>%head(3)

## # A tibble: 3 x 2## Species Sepal.Length## <fct> <dbl>## 1 virginica 6.3## 2 virginica 5.8## 3 virginica 7.1

dr. Rachid Muleia, Msc. in Statistics (Universidade Eduardo Mondlane Faculdade de Ciências Departamento de Matemática e Informática)Análise de Dados Julho - Novembro 2019 66 / 66