35
Introduc ¸˜ ao ao R Tatiene Correia de Souza / UFPB [email protected] February 14, 2016 Souza Introduc ¸˜ ao ao R February 14, 2016 1 / 35

Tatiene Correia de Souza / UFPB [email protected]/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB [email protected] February 14,

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Introducao ao R

Tatiene Correia de Souza / [email protected]

February 14, 2016

Souza Introducao ao R February 14, 2016 1 / 35

Page 2: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Introducao

Inicie o R em seu computador. Aparecera uma janela de comandoscom o sımbolo > que indica que o programa esta pronto para recebercomandos. Qualquer texto iniciando com o sımbolo # e entendido peloprograma como um comentario.

Souza Introducao ao R February 14, 2016 2 / 35

Page 3: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Iniciando o R

# Fazer com que o R ignore o que seradigitado: ## Sair do programa: q()# Salva o trabalho que esta sendo realizado:save.image# Lista todos os objetos da area de trabalhoatual: ls()# Remove o objeto x: rm(x)# Remove o objeto x e y: rm(x,y)# Dado ausente: NA

Souza Introducao ao R February 14, 2016 3 / 35

Page 4: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Iniciando o R

# Mostra os pacotes instalados: library()# Carrega o pacote sandwich: library(sandwich)# Obtendo ajuda: help(hist) ou ?hist# Obter ajuda sobre o comando ls: help(ls)# Obter ajuda sobre o pacote lmtest:help(package=lmtest)# Comando que procura objetos pelo nome model:apropos("model")# Mostra exemplo do comando hist:example(hist)

Souza Introducao ao R February 14, 2016 4 / 35

Page 5: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Manipulando objetos

> x=10 # o objeto x recebe 10> y=sqrt(4) #y recebera o valor da operacao indicada.> A=1> B=2> rm(A, B) # remove os objetos A e B> rm(list=ls()) # remove tudo!

Souza Introducao ao R February 14, 2016 5 / 35

Page 6: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Alguns objetos especiais

# Vetor> x=c(2,3,5,7,11) # vetor> mode(x); length(x) # tipo e o tamanho do objeto> y=c(x,13,17,19)# adicionando mais tres numeros

# Sequencia> a = 1:10 # criar sequencia de inteiros> b= 100:50 # sequencia decrescente> seq(1,10,1) # o mesmo que 1:10> seq(1,10,2)> seq(10,1,-3) # decrescente/passo negativo

Souza Introducao ao R February 14, 2016 6 / 35

Page 7: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Alguns objetos especiais

> rep(1,10) # repete 1 dez vezes> rep(c(1,2),10)> c(rep(0,10), rep(1,5))

> y=c(x,13,17,19)# adicionando mais tres numeros

# Sequencia> a = 1:10 # criar sequencia de inteiros> b= 100:50 # sequencia decrescente> seq(1,10,1) # o mesmo que 1:10> seq(1,10,2)> seq(10,1,-3) # decrescente/passo negativo

Souza Introducao ao R February 14, 2016 7 / 35

Page 8: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Alguns objetos especiais

# Listas> pes = list(idade=24, nome=’Alice’,notas=c(9.8,9.5,9.6))

> pes$idade[1] 24$nome[1] "Alice"$notas[1] 98 95 96

Souza Introducao ao R February 14, 2016 8 / 35

Page 9: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Alguns objetos especiais

# Matrizes> x = 1:12 # sequencia de 1 a 12> xmat= matrix(x, ncol=3) # matriz de 3 colunas> xmat

[,1] [,2] [,3][1,] 1 5 9[2,] 2 6 10[3,] 3 7 11[4,] 4 8 12> matrix(x, ncol=3, byrow=T)

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

Souza Introducao ao R February 14, 2016 9 / 35

Page 10: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Alguns objetos especiais

# Matrizes

> x1 = matrix(1:12, ncol=4)> dim(x1) # dimensoes da matriz x1[1] 3 4

> summary(x1)V1 V2 V3 V4

Min. :1.0 Min. :4.0 Min. :7.0 Min. :10.01st Qu.:1.5 1st Qu.:4.5 1st Qu.:7.5 1st Qu.:10.5Median :2.0 Median :5.0 Median :8.0 Median :11.0Mean :2.0 Mean :5.0 Mean :8.0 Mean :11.03rd Qu.:2.5 3rd Qu.:5.5 3rd Qu.:8.5 3rd Qu.:11.5Max. :3.0 Max. :6.0 Max. :9.0 Max. :12.0

Souza Introducao ao R February 14, 2016 10 / 35

Page 11: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Alguns objetos especiais

# Matrizes> x=matrix(10:1, ncol=2)> y=cbind(x,1:5)> y=rbind(y, c(99,99,99))> y

[,1] [,2] [,3][1,] 10 5 1[2,] 9 4 2[3,] 8 3 3[4,] 7 2 4[5,] 6 1 5[6,] 99 99 99

>z=cbind(y,rep(88,6),y)

Souza Introducao ao R February 14, 2016 11 / 35

Page 12: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Alguns objetos especiais

> z[2,5][1] 9> z[,4] # extraindo a quarta coluna[1] 88 88 88 88 88 88> z[,3] # extraindo a terceira coluna[1] 1 2 3 4 5 99> z[c(1,3,5),] # extraindo tres linhas

[,1] [,2] [,3] [,4] [,5] [,6] [,7][1,] 10 5 1 88 10 5 1[2,] 8 3 3 88 8 3 3[3,] 6 1 5 88 6 1 5

Souza Introducao ao R February 14, 2016 12 / 35

Page 13: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Alguns objetos especiais

> z[,5:7] # extraindo tres colunas[,1] [,2] [,3]

[1,] 10 5 1[2,] 9 4 2[3,] 8 3 3[4,] 7 2 4[5,] 6 1 5[6,] 99 99 99> z[c(2,3),c(4,6)] # tomando uma submatriz 2x2

[,1] [,2][1,] 88 4[2,] 88 3>

Souza Introducao ao R February 14, 2016 13 / 35

Page 14: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Alguns objetos especiaisVamos definir uma matriz em que as colunas armazenam: ındices (1 a5), idade e sexo (0 ou 1).

> pessoas = cbind(c(1:5), c(43,65,62,23,46), c(1,1,0,1,1))> pessoas

[,1] [,2] [,3][1,] 1 43 1[2,] 2 65 1[3,] 3 62 0[4,] 4 23 1[5,] 5 46 1

Agora queremos extrair todas as pessoas que tem mais que 60 anos.

> idosos = pessoas[pessoas[,2]>60,]> idosos

[,1] [,2] [,3][1,] 2 65 1[2,] 3 62 0>

Souza Introducao ao R February 14, 2016 14 / 35

Page 15: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Entrando com os dados

Diversos comandos podem ser usados com a finalidade de ler oueditar os dados. Entre eles podemos destacar: scan(), edit(),read.table() e data().

Uso da funcao scan:

> teste = scan()1: 102: 53: 64: 45: 76:Read 5 items

Souza Introducao ao R February 14, 2016 15 / 35

Page 16: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Entrando com os dadosOutra maneira...

Uso da funcao scan:

> trat=scan()1: 12: 13: 24: 25: 36:Read 5 items> dados=scan()1: 102: 153: 504: 225: 106:Read 5 items

Souza Introducao ao R February 14, 2016 16 / 35

Page 17: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Entrando com os dados

Outra maneira...

Uso da funcao scan:

> dados=cbind(trat, dados)> dadostrat dados[1,] 1 10[2,] 1 15[3,] 1 50[4,] 1 22[5,] 1 10

Souza Introducao ao R February 14, 2016 17 / 35

Page 18: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Entrando com os dados

Uso da funcao edit:

> teste=c(10,20,30,40,50)# trocar 50 por 60, por exemplo.> teste2=edit(teste)

Souza Introducao ao R February 14, 2016 18 / 35

Page 19: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Entrando com os dados

Uso da funcao read.table:

> read.table("nome do arquivo", header = TRUE)# header = TRUE: cabecalho.

Exercıcio: vamos criar um conjunto de dados para ler no R com a funcaoread.table.

Souza Introducao ao R February 14, 2016 19 / 35

Page 20: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Exercıcio

Vamos considerar o conjunto de dados que ja incluıdo no R. Paracarregar e visualizar os dados digite:

> data(Titanic)> help(Titanic)> Titanic

Perguntas:

Quantas pessoas havia no total?

> sum(Titanic)[1] 2201

Quantas pessoas havia tripulacao (crew)?

> sum(Titanic[4, , , ])[1] 885

Souza Introducao ao R February 14, 2016 20 / 35

Page 21: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Quantas pessoas sobreviveram e quantas morreram?

> apply(Titanic, 4, sum)No Yes1490 711

Quantas criancas sobreviveram??

> sum(Titanic[, , 1, 2])[1] 57

Quais as proporcoes de sobreviventes entre homens e mulheres?

> apply(Titanic, 2, sum)Male Female1731 470> apply(Titanic[, , , 2], 2, sum)Male Female367 344> 100*apply(Titanic[, , , 2], 2, sum)/apply(Titanic, 2, sum)Male Female21.20162 73.19149

Souza Introducao ao R February 14, 2016 21 / 35

Page 22: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Exemplo

> data()> data(women) # carrega o conjunto de dados women> women # mostra os dados> help(woman) # mostra a documentacao destes dados

> summary(women[,1])Min. 1st Qu. Median Mean 3rd Qu. Max.58.0 61.5 65.0 65.0 68.5 72.0> summary(women[,2])Min. 1st Qu. Median Mean 3rd Qu. Max.115.0 124.5 135.0 136.7 148.0 164.0

Souza Introducao ao R February 14, 2016 22 / 35

Page 23: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Analise de dados no R

library(AER)

data("CPS1985")help(CPS1985)

str(CPS1985)

head(CPS1985)

CPS1985[1:4,]attach(CPS1985)

# Uma variavel numerica - salario

summary(wage)mean(wage)median(wage)var(wage)sd(wage)hist(wage)Souza Introducao ao R February 14, 2016 23 / 35

Page 24: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Analise de dados no R

# Uma variavel categorica - Ocupacao

summary(occupation)tab = table(occupation)prop.table(tab)

barplot(tab)pie(tab)

# Duas variaveis categoricas - Genero e ocupacao

xtabs(˜gender+occupation, data=CPS1985)plot(gender˜occupation, data=CPS1985)

# Duas variaveis numericas - salario e eduacacao

cor(log(wage), education)plot(log(wage)˜education)

# Uma variavel numerica e uma variavel categorica - salario e generotapply(log(wage), gender, mean)plot(log(wage)˜gender)

Souza Introducao ao R February 14, 2016 24 / 35

Page 25: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Descrevendo conjunto de dados no R

O livro Estatıstica Basica de W. Bussab e P. Morettin traz no primeirocapıtulo um conjunto de dados hipotetico de atributos de 36funcionarios da companhia ‘Milsa’. Nosso objetivo e entrar com osdados no R e fazer uma analise descritiva.OS dados devem ser digitados no ‘estilo planilha’, com variaveis dediferentes tipos: categoricas e numericas (qualitativas e quantitativas).Portanto o formato ideal de armazenamento destes dados no R e odata.frame.

# abra a planilha para entrada dos dadosmilsa <- edit(data.frame())milsa # visualiza os dados digitadosfix(milsa)

Souza Introducao ao R February 14, 2016 25 / 35

Page 26: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Descrevendo conjunto de dados no R

Precisamos informar para o programa que as variaveis civil, instrucaoe regiao, NAO sao numericas e sim categoricas. No R as variaveiscategoricas sao definidas usando o comando factor().

milsa$civil <- factor(milsa$civil,label=c("solteiro", "casado"), levels=1:2)

milsa$instrucao <- factor(milsa$instrucao,label=c("1oGrau", "2oGrau", "Superior"), lev=1:3, ord=T)

milsa$regiao <- factor(milsa$regiao, label=c("capital","interior", "outro"), lev=c(2,1,3))

milsa

Souza Introducao ao R February 14, 2016 26 / 35

Page 27: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Descrevendo conjunto de dados no R

E preciso definir uma variavel unica idade a partir das variaveis ano emes que foram digitadas. Para gerar a variavel idade (em anos)fazemos:

milsa$idade <- milsa$ano + milsa$mes/12milsa$idade

is.data.frame(milsa) # conferindo se e um data-framenames(milsa) # vendo o nome das variaveisdim(milsa) # vendo as dimensoes do data-frameattach(milsa)

Souza Introducao ao R February 14, 2016 27 / 35

Page 28: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Descrevendo conjunto de dados no R# Variavel Qualitativa Nominalcivilis.factor(civil)##Tabelacivil.tb <- table(civil)civil.tb100 * table(civil)/length(civil)## ou em porcentagemProp.table(civil.tb)# Graficopie(table(civil))

## Variavel Qualitativa Ordinalinstrucaois.factor(instrucao)## Tabelainstrucao.tb <- table(instrucao)instrucao.tbprop.table(instrucao.tb)## Grafico:barplot(instrucao.tb)

Souza Introducao ao R February 14, 2016 28 / 35

Page 29: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Descrevendo conjunto de dados no R

## Variavel quantitativa discretafilhos## Tabela:filhos.tb <- table(filhos)filhos.tbfilhos.tb/sum(filhos.tb) # frequencias relativas## Grafico:plot(filhos.tb) # grafico das frequencias absolutasfilhos.fac <- cumsum(filhos.tb)filhos.fac # frequˆencias acumuladasplot(filhos.fac, type="s") # gr´afico das frequˆencias acumuladassummary(filhos) # varias medidas

Souza Introducao ao R February 14, 2016 29 / 35

Page 30: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Descrevendo conjunto de dados no R

##Variavel quantitativa contınuasalario##Tabelarange(salario) # maximo e mınimonclass.Sturges(salario) #numero de classes - criterio de Sturgesargs(cut)args(cut.default)table(cut(salario, seq(3.5,23.5,l=8)))## Graficohist(salario)hist(salario, br=seq(3.5,23.5,l=8))boxplot(salario)# Quantissalario.qt <- quantile(salario, na.rm=T)salario.qt[4] - salario.qt[2] # amplitude interquartilicasummary(salario) # varias medidas

Souza Introducao ao R February 14, 2016 30 / 35

Page 31: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Descrevendo conjunto de dados no RVamos considerar as variaveis civil (estado civil) e instrucao (grau deinstrucao). A tabela envolvendo duas variaveis e chamada tabela decruzamento ou tabela de contingencia.

## Analise Bivariada## Variavel Qualitativa vs Qualitativa## Estado civil e grau de instrucaociv.gi.tb <- table(civil, instrucao) # frequencias absolutasciv.gi.tbciv.gi.tb/as.vector(table(civil)) # frequencias por linha## Graficoplot(civ.gi.tb)barplot(civ.gi.tb)barplot(t(civ.gi.tb))## Medida de associacaosummary(civ.gi.tb)## Criando uma nova variavel para agrupar 2o Grau e Superiorinstrucao1 <- ifelse(instrucao == 1, 1, 2)table(instrucao)table(instrucao1)table(civil, instrucao1)summary(table(civil, instrucao1))

Souza Introducao ao R February 14, 2016 31 / 35

Page 32: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Descrevendo conjunto de dados no R

## Variavel Qualitativa vs Quantitativa## Grau de instrucao vs salario## Tabelaquantile(salario)ins.sal.tb <- table(instrucao, cut(salario, quantile(salario)))ins.sal.tb## Graficoplot(instrucao, salario)plot(salario, instrucao)## calculando as madias para cada grau de instrucaotapply(salario, instrucao, mean)## e as varianciastapply(salario, instrucao, var)## os mınimo, maximo e quartistapply(salario, instrucao, quantile)

Souza Introducao ao R February 14, 2016 32 / 35

Page 33: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Descrevendo conjunto de dados no R

## Varavel Quantitativa vs Quantitativa## salario e idade## Tabelatable(cut(idade, quantile(idade)), cut(salario, quantile(salario)))table(cut(idade, quantile(idade, seq(0,1,len=4))), cut(salario, quantile(salario, seq(0,1,len=4))))## Graficoplot(idade, salario)## Correlacaocor(idade, salario)

Souza Introducao ao R February 14, 2016 33 / 35

Page 34: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Exercıcio no RAnalise bivariada - variavel qualitativa versus quantitativa (instrucao esalario).Vamos agrupar a variavel salario em 4 classes definidas pelos quartisusando cut . Note que as classes sao definidas por intervalos abertosa esquerda e entao usamos o argumento include.lowest=TRUE paragarantir que todos os dados, inclusive o menor (mınimo) seja incluıdona primeira classe.

quantile(salario)salario.cl <- cut(salario, quantile(salario), include.lowest = T)ins.sal.tb <- table(dados$instrucao, salario.cl)ins.sal.tbprop.table(ins.sal.tb, margin = 1)

boxplot(salario ˜ dados$instrucao)

Souza Introducao ao R February 14, 2016 34 / 35

Page 35: Tatiene Correia de Souza / UFPB tatiene@de.ufpbtatiene/Disciplinas/2015.2/... · 2016. 2. 14. · Introduc¸ao ao˜ R Tatiene Correia de Souza / UFPB tatiene@de.ufpb.br February 14,

Exercıcio no R

cont. Analise bivariada - variavel qualitativa versus quantitativa(instrucao e salario).

tapply(salario, instrucao, mean)tapply(salario, instrucao, sd)tapply(salario, instrucao, quantile)

Souza Introducao ao R February 14, 2016 35 / 35