Probabilidade e Estatisti - Cap1 - Exercicios Resolvidos
Probabilidade e Estatisti - Cap1 - Exercicios Resolvidos
Probabilidade e Estatisti - Cap1 - Exercicios Resolvidos
Seção 1.1
Resposta:
a) As crianças do estado de São Paulo são a população de interesse, estão fazendo parte
da amostra 200 mães de recém nascidos, não é interessante utilizar esta amostra, pois
não é representativa, pode ser que algumas mães estejam no primeiro filho e apenas
um posto de saúde não representa o estado todo.
b) A população é o sangue do paciente, a amostra é um pouco deste sangue, como
o sangue é homogêneo então esta é uma amostra representativa e podemos tirar
conclusões sobre todo o sangue do paciente.
c) Os telespectadores de um programa de TV são a população de interesse, a amostra
é formada pelos 563 indivı́duos que foram entrevistados por telefone com relação ao
canal em eu estavam sintonizados .Não seria valido inferir atravez desta amostra,
1
pois apenas um seleto grupo esta participando da pesquisa, como a pesquisa é por
telefone, pode ser que telespectadores não tenham telefone, ou não quiseram atender,
ou então não quiseram atender.
d) Os eleitores brasileiros formam a população, a amostra são as 122 pessoas entrevis-
tadas em Brası́lia, a amostra não é representativa, para saber a intenção de voto
dos brasileiros, precisariamos pesquisar com um número bem maior de pessoas e
distribuido entre vários estados, apenas um estado não representa o paı́s todo.
Seção 1.2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Fisioterapia 7 8 5 6 4 5 7 7 6 8 6 5 5 4 5
Sequelas S S N N N S S N N S S N S N N
Cirurgia A M A M M B A M B M B B M M A
Resposta:
a) Fisioterapia é quantitativa discreta, Sequelas é qualitativa nominal e Cirurgia é qua-
litativa ordinal.
b) A Figura 1 mostra os gráficos de cada uma das variaveis e as tabelas de frequência
são geradas pelos comandos a seguir.
> tb1 <- with(dados, table(Fisioterapia))
> tb1
Fisioterapia
4 5 6 7 8
2 5 3 3 2
> seque.tb <- table(dados$Sequelas)
> seque.tb
2
N S
8 7
> cir.tb <- table(dados$Cirurgia)
> cir.tb
B M A
4 7 4
> barplot(tb1, main = "meses de fisioterapia")
> pie(seque.tb, main = "seqüelas", radius = 0.95, init.angle = 45)
> barplot(cir.tb, main = "complexidade da cirurgia")
7
6
N
4
5
3
4
3
2
2
1
1
0
0
4 5 6 7 8 B M A
c) Nota-se que o tempo de fisioterapia é menor nos pacientes sem sequelas, observamos
isso na Figura 2
> fisio.tb <- table(with(dados, Fisioterapia[Sequelas == "N"]))
> fisio.tb
> barplot(fisio.tb)
freq
(0,2] 14
(2,4] 28
(4,6] 27
(6,8] 11
(8,10] 4
a) Construa o histograma.
b) Se a nota mı́nima para aprovação é 5, qual será a porcentagem de aprovação?
3
> op <- options()
> par(mar = c(2, 2, 2, 2))
> fisio.tb <- table(with(dados, Fisioterapia[Sequelas == "N"]))
> fisio.tb
> barplot(fisio.tb)
> options(op)
3.0
2.5
2.0
1.5
1.0
0.5
0.0
4 5 6 7
c) Obtenha o box-plot.
Resposta:
Para gerar os dados em classes percebi 3 possibilidades, aqui está resolvido pela que
considerei mais simples, as duas outras maneiras estrão no final do capitulo.
> freqs <- c(14, 28, 27, 11, 4)
> dados <- rep(0:4 * 2 + 1, freqs)
> dados.tb <- table(cut(dados, seq(0, 10, l = 6)))
> dados.tb
(0,2] (2,4] (4,6] (6,8] (8,10]
14 28 27 11 4
a) A Figura 3 representa o histograma das notas.
> op <- options()
> par(mar = c(2, 2, 2, 2))
> hist(dados, breaks = 0:5 * 2, main = "", xlab = "", ylab = "")
> options(op)
b) Primeiramente monto uma tabela de frequência acumulada, descubro o percentual
que tirou acima de 4 e acima de 6 então trato a média 5 linearmente e encontro o
4
percentual de aprovados.
> freqAc <- cumsum(prop.table(freqs))
> result <- 1 - (freqAc[2] + freqAc[3])/2
> result
[1] 0.3392857
Encontramos então aprovação de aproximadamente 0.339.
No histograma da Figura 3 está representado o percentual de aprovados.
> hist(dados, breaks = 0:5 * 2, main = "", xlab = "", ylab = "")
> rect(5, 0, 6, dados.tb[3], col = "gray")
> rect(6, 0, 8, dados.tb[4], col = "gray")
> rect(8, 0, 10, dados.tb[5], col = "gray")
> legend("topright", c("repr.", "apr."), fill = c("white", "gray"))
c) A Figura 3 representa o boxplot das notas.
> boxplot(dados, main = "")
repr.
25
25
apr.
8
20
20
6
15
15
10
10
4
5
2
0
0 2 4 6 8 10 0 2 4 6 8 10
5
Seção 1.3
Resposta:
A tabela da página 7 do livro foi obtida no endereço http://www.ime.usp.br/~noproest.
É possivel notar que grande parte dos estudantes teêm entre 17 e 18 anos e a quantidade
de pessoas é menor quanto maiores são as idades. Percebe-se que aparecem mais pessoas
conforme maior a altura até 1,70, alturas entre 1,7 e 1,85 têm frequencia de aproxima-
damente 4 pessoas a cada 5cm. Nota-se que a maioria das pessoas têm peso entre 50 e
60Kg. Percebe-se ainda que grande parte das pessoas teêm 1 ou 2 filhos. Estes dados
estão representados na Figura 2
6
Idade ALtura
12
30
10
25
8
20
6
15
10
4
2
5
0
0
18 20 22 24 1.5 1.6 1.7 1.8
Peso Filhos
40
20
30
15
20
10
10
5
0
40 50 60 70 80 90 100 1 2 3 4 5 6 7
Figura 4:
Seção 1.4
2. Suponha que duas empresas desejam empregá-lo e após considerar as vantagens de cada
uma, você vai escolher aquela que lhe pagar melhor. Após mcerta pesquisa, você consegue
a distribuição de salário das empresas, dadas segundo os gráficos abaixo.
7
Empresa A Empresa B
100
100
80
80
60
60
40
40
20
20
0
0
10 20 30 40 50 10 20 30 40 50 60 70
Com base nas informações de cada gráfico, qual seria sua decisão?
Resposta:
Para poder representar os histogramas fiz uma soposição dos dados. Na Figura ?? é
possivel verificar que o salário na empresa A está distribuido de forma mais uniforme, o
que indica que ela deve pagar mais para pessoas em cargos intermediarios, a empresa B
mostra ter um salário inicial um pouco maior e também poucas pessoas ganham mais do
que na A, então se eu fosse ser contratado para um auto cargo escolheria A e se fosse para
cargos intermediários, que são a maioria ds cargos, escolheria B.
Resposta:
As idades são apresentadas a seguir.
> idade <- c(rep(22:28, c(4, 2, 4, 2, 4, 1, 1)), 35, 40)
> idade
[1] 22 22 22 22 23 23 24 24 24 24 25 25 26 26 26 26 27 28 35 40
a) > table(idade)
idade
22 23 24 25 26 27 28 35 40
4 2 4 2 4 1 1 1 1
> range(idade)
[1] 22 40
> nclass.Sturges(idade)
8
[1] 6
> idade.class <- ordered(cut(idade, seq(21.5, 41.5, 5)))
> idade.class
[1] (21.5,26.5] (21.5,26.5] (21.5,26.5] (21.5,26.5] (21.5,26.5] (21.5,26.5]
[7] (21.5,26.5] (21.5,26.5] (21.5,26.5] (21.5,26.5] (21.5,26.5] (21.5,26.5]
[13] (21.5,26.5] (21.5,26.5] (21.5,26.5] (21.5,26.5] (26.5,31.5] (26.5,31.5]
[19] (31.5,36.5] (36.5,41.5]
Levels: (21.5,26.5] < (26.5,31.5] < (31.5,36.5] < (36.5,41.5]
> idade.class.tb <- table(idade.class)
> idade.class.tb
idade.class
(21.5,26.5] (26.5,31.5] (31.5,36.5] (36.5,41.5]
16 2 1 1
> freqs <- data.frame(Classes = names(idade.class.tb), absoluta = as.vector(id
+ relativa = as.vector(prop.table(idade.class.tb)))
> freqs
Classes absoluta relativa
1 (21.5,26.5] 16 0.80
2 (26.5,31.5] 2 0.10
3 (31.5,36.5] 1 0.05
4 (36.5,41.5] 1 0.05
b) Usando o box-plot apresentado na Figura 5, percebemos que 35 e 40 são dados
atı́picos. Na tabela de frequência a seguir é possivel perceber que todas as classes
estão com alguma informação, sendo assim o resultado fica melhor resumido, além
disso, na tabela de frequência do item a ocorreu um acumulo de freqüência nos
menores valores e nesta todos os dados são representativos da grande maioria.
> boxplot(idade)
> idade1 <- idade[idade < 35]
> idade1
[1] 22 22 22 22 23 23 24 24 24 24 25 25 26 26 26 26 27 28
> table(idade1)
idade1
22 23 24 25 26 27 28
4 2 4 2 4 1 1
> range(idade1)
[1] 22 28
> nclass.Sturges(idade1)
[1] 6
> idade1.class <- ordered(cut(idade1, seq(20.5, 28.5, 4)))
> idade1.class
9
[1] (20.5,24.5] (20.5,24.5] (20.5,24.5] (20.5,24.5] (20.5,24.5] (20.5,24.5]
[7] (20.5,24.5] (20.5,24.5] (20.5,24.5] (20.5,24.5] (24.5,28.5] (24.5,28.5]
[13] (24.5,28.5] (24.5,28.5] (24.5,28.5] (24.5,28.5] (24.5,28.5] (24.5,28.5]
Levels: (20.5,24.5] < (24.5,28.5]
> idade1.class.tb <- table(idade1.class)
> idade1.class.tb
idade1.class
(20.5,24.5] (24.5,28.5]
10 8
40
35
30
25
6. O posto de saúde de um certo bairro mantém um arquivo com o número de crianças nas fa-
mı́lias que utilizam do Posto. Os dados são os seguintes: 3,4,3,4,5,1,6,3,4,5,3,4,3,3,4,3,5,5,5,5,6,11,10,2
e 2.
Resposta:
> crian <- c(rep(1:5, c(3, 4, 7, 5, 6)), 6, 6, 10, 11)
> crian
[1] 1 1 1 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 5
[26] 6 6 10 11
10
a) A tabela de frequência é apresentada a seguir
> table(crian)
crian
1 2 3 4 5 6 10 11
3 4 7 5 6 2 1 1
b) A representação gráfica é mostrada através do box-plot da Figura 6
> boxplot(crian)
10
8
6
4
2
c) Percebemos que 10 e 11 são valores discrepantes, eles podem ser retirados da amostra,
afim de analisar melhor os dados, pois esses valores influênciam as medidas resumo
o que interferiria em qualquer tomada de decisão, nota-se por exemplo a diferença
entre a média considerando ou não estes valores.
> mean(crian)
[1] 3.965517
> mean(crian[crian < 10])
[1] 3.481481
11
freq
1 46
2 57
3 21
4 15
5 4
Resposta:
a) Percebe-se fazendo uma simples operação que em torno de 68% dos alunos cursaram
em mais de uma escola.
> 1 - cumsum(prop.table(table(freq)))[1]
1
0.6783217
b) o gráfico de barras é apontado na Figura 7
> barplot(table(freq))
50
40
30
20
10
0
1 2 3 4 5
12
> freq[freq > 2] <- "alta"
> freq[freq <= 2] <- "baixa"
> table(freq)
freq
alta baixa
40 103
10. O tempo de utilização de caixas eletrônicos depende de cada usuário e das operações
efetuadas. Foram coletadas 26 medidas desse tempo(em minutos):
1.10 1.20 1.70 1.50 0.90 1.30 1.40 1.60 1.70 1.60 1.00 0.80 1.50
1.30 1.70 1.60 1.40 1.20 1.20 1.00 0.90 1.80 1.70 1.50 1.30 1.50
Resposta:
a) A tabela de frequência vem a seguir.
> table(temp)
temp
0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8
1 2 2 1 3 3 2 4 3 4 1
b) Podemos observar a tabela de frequência por classes a seguir.
> range(temp)
[1] 0.8 1.8
> table(ordered(cut(temp, seq(0.8, 1.8, by = 0.2), include.lowest = T)))
[0.8,1] (1,1.2] (1.2,1.4] (1.4,1.6] (1.6,1.8]
5 4 5 7 5
c) Percebemos que no item b fica mais fácil de visualizar os dados por eles estarem
mais resumidos.
d) se tivessemos estas 1000 medidas no digitadas no computador poderiamos ultilizar
várias outras jeitos de resumir os dados, entre eles agrupar em poucas classes poderia
ser uma solução, mas tentar visualizar todos os 1000 dados não parece ser uma boa
alternativa.
13
12. Foram feitas medidas em operários da construção civil a respeito da taxa de hemoglobina
no sangue(em gramas/cm3 ):
11.10 12.20 11.70 12.50 13.90 12.30 14.40 13.60 12.70 12.60
11.30 11.70 12.60 13.40 15.20 13.20 13.00 16.90 15.80 14.70
13.50 12.70 12.30 13.50 15.40 16.30 15.20 12.30 13.70 14.10
Resposta:
a) Separando os dados em classes de tamanho 1, obtemos 5 classes
> range(hem)
[1] 11.1 16.9
> table(ordered(cut(hem, 11:17)))
(11,12] (12,13] (13,14] (14,15] (15,16] (16,17]
4 10 7 3 4 2
b) O Histograma é representado na Figura 8
> hist(hem, main = "")
c) Atravéz do comando a seguir, podemos verificar a mediana o terceiro quartil e outras
medidas resumo.
> summary(hem)
Min. 1st Qu. Median Mean 3rd Qu. Max.
11.10 12.35 13.30 13.46 14.32 16.90
d) Obtemos a tabela de acompanhamento médico substituindo os valores numéricos,
pelos caracteres sim e não de acordo com a situação, como percebe-se nos comandos
a seguir.
> hem[hem < 12 | hem > 16] <- "sim"
> hem[hem != "sim"] <- "nao"
> table(hem)
hem
nao sim
24 6
14
10
8
6
4
2
0
11 12 13 14 15 16 17
Clube 11 12 13 14 15 16 17 18 19 20
Gols 55 70 42 41 63 66 74 29 47 53
Resposta:
a) A variável é quantitativa ordinal, não parece interessante construir uma tabela de
frequência com os valores dados, pois eles estariam pouco resumidos e seria quase a
mesma coisa que olhar para os valores originais.
b) A tabela de frequência iniciando em 20 e de comprimento 10 é obtida a seguir.
> range(gols)
15
[1] 25 79
> table(ordered(cut(gols, 2:8 * 10)))
(20,30] (30,40] (40,50] (50,60] (60,70] (70,80]
2 4 4 4 3 3
c) O Histograma é obtido na Figura 9
> hist(gols)
Histogram of gols
4
3
2
1
0
20 30 40 50 60 70 80
d) Observamos na Figura 10 que 0.7 dos times marcaram mais que 38 gols
> por <- length(gols[gols > 38])/length(gols)
> por
[1] 0.7
> hist(gols, main = "")
> rect(c(38, 4:7 * 10), rep(0, 5), 4:8 * 10, c(4, 4, 4, 3, 3),
+ col = "gray")
> legend("topright", c("> 38 gols", "< 38 gols"), fill = c("gray",
+ "white"))
16. O ı́ndice de germinação é um dos principais fatores para definir a qualidade das sementes.
Ele é determinado em experimento cientı́fico conduzido pelo fabricante e regulamentado
pelos órgãos fiscalizadores. Um fabricante afirma que o ı́ndice de germinação de suas
sementes de milho é de 85%. Para verificar tal afirmação, uma cooperativa de agricul-
tores sorteou 100 amostras com 100 sementes em cada uma e anotou a porcentagem de
germinação em cada amostra.
16
4
> 38 gols
< 38 gols
3
2
1
0
20 30 40 50 60 70 80
V1
(60,75] 8
(75,80] 20
(80,85] 42
(85,90] 18
(90,95] 10
(95,100] 2
Resposta:
Primeiramente suponho que os dados são o ponto médio de cada classe, e em seguida
monto as classes através desses valores, é uma suposição bastante válida para as
análises a seguir.
> freq <- c(8, 20, 42, 18, 10, 2)
> pm <- c(67.5, 0:4 * 5 + 77.5)
> sgerm <- rep(pm, freq)
> sgerm.tb <- table(ordered(cut(sgerm, c(60, seq(75, 100, by = 5)))))
> sgerm.tb
(60,75] (75,80] (80,85] (85,90] (90,95] (95,100]
8 20 42 18 10 2
17
a) Os dados são continuos, mas as classes podem ser tratadas como dados discretos
e podemos melhor visualizar os dados em um gráfico de barras, mostrado pela Fi-
gura 11.
> barplot(sgerm.tb)
40
30
20
10
0
18
95
90
85
80
75
70
Resposta:
a) Os histogramas são mostrados na Figura 13
> par(mfrow = c(1, 2))
> hist(esp, breaks = 0:5, freq = F, main = "especializados")
> hist(nesp, breaks = 0:5, freq = F, main = "n~
ao especializados")
> par(mfrow = c(1, 1))
0.25
0.3
0.20
0.15
0.2
0.10
0.1
0.05
0.00
0.0
0 1 2 3 4 5 0 1 2 3 4 5
19
b) Podemos observar o diagrama de barras na Figura 14
> barplot(table(c(nesp, esp)), main = "")
500
400
300
200
100
0
1 2 3 4 5
20. Um exame vestibular para uma faculdade tem 80 nquestões, sendo 40 de português e 40
de matemática. Para os 20 melhores classificados, apresentamos o número de acertos em
cada disciplina, em ordem decrescente do total de pontos.
Resposta:
O número de acerto em cada disciplina de cada aluno é apresentado a seguir.
> Port <- c(35, 35, 34, 32, 31, 30, 26, 26, 24, 23, 23, 12, 11,
+ 20, 17, 12, 14, 20, 8, 10)
> Mat <- c(31, 29, 27, 28, 28, 26, 30, 28, 25, 23, 21, 32, 31,
+ 20, 21, 25, 20, 13, 23, 20)
20
Histogram of Port Histogram of Mat
7
6
4
5
3
4
3
2
2
1
1
0
0
5 10 15 20 25 30 35 10 15 20 25 30 35
21
30 31 33 34 37 38 40 42 44 46 49 54 56 59 60 61 64 66
1 1 1 1 1 1 1 1 2 1 1 1 2 1 1 1 1 1
d) Nota-se, nos histogramas do item b, que poucos alunos tiraram notas mais altas em
matemática, o que demonstra que eles se sairam melhor em português.
22. Deseja-se comparar três técnicas para extração do siso. Cada uma das técnicas foi aplicada
em 20 pacientes e os resultados são apresentados a seguir.
10
9
8
7
6
5
A B C
Resposta:
a) Pelo box-plot apresentado no livro, encontramos medianas de aproximadamente 6,7,
9,5 e 8 para as váriaveis A, B e C.
b) O intervalo interquartil pode ser obtido observando o grafico do livro. Entre os
pacientes submetidos a cada uma das três técnicas, seu valor é de aproximadamente
2, 0,5 e 1,5 dias para as técnicas A, B e C.
c) O tempo de recuperação para a técnica A é entre 4,8 e 8,7 dias, para a B é entre 8,7
e 10 dias e para a C é entre 6 e 9,5 dias, está variação é dada pelas caracteristicas
de cada técnica.
d) Escolheria a técnica A, pois tem um possui um grupo razoavel com menor tempo de
recuperação do que as outras técnicas.
22
24. (Use o computador) Os itens seguintes referem-se aos dados contidos no arquivo de nome
cancer.txt. Esse arquivo contém os dados de uma pesquisa sobre incidência de câncer e é
apresentado em 9 colunas representando as seguintes variáveis de interesse:
Resposta:
Os arquivos do livro são encontrados em http://www.ime.usp.br/~noproest, onde
temos cancer.xls.
> cancer <- read.table("http://www.ime.usp.br/~noproest/dados/cancer",
+ head = T)
> head(cancer)
Ident Grupo Idade AKP P LDH ALB N GL
1 1 1 71 8.0 3.2 7.8 62 6 113
2 2 1 66 10.5 5.1 50.1 57 9 93
3 3 1 83 8.5 3.3 15.3 53 21 109
4 4 1 52 12.8 3.2 18.8 45 14 91
5 5 1 61 7.4 4.3 12.9 69 19 78
6 6 1 54 8.1 2.7 15.9 57 10 122
> attach(cancer)
a) O Grupo é uma variavel qualitativa nominal, GL é quantitativa continua e Idade é
uma quantitativa continua. A Figura 16 mostra os histogramas das três variaveis.
23
> table(Grupo)
> range(Idade)
> table(ordered(cut(Idade, 0:5 * 20 + 5)))
> range(GL)
> table(ordered(cut(GL, 0:5 * 60, include.lowest = T)))
> hist(Grupo, breaks = 0:4, main = "")
> hist(Idade, breaks = 0:5 * 20 + 5, main = "")
> hist(GL, breaks = 0:5 * 60, main = "")
150
140
Frequency
Frequency
50
40
50
20
0
0
0 1 2 3 4 20 40 60 80 100 0 50 100 150 200 250 300
Grupo Idade GL
b) Pela Figura 17, podemos perceber que o grupo com falso-positivos é um pouco mais
jovem do que o outro, pois temos um maior quantidade de pessoas mais novas nesse
grupo. y
> range(Idade[Grupo == 1])
[1] 18 101
> range(Idade[Grupo == 4])
[1] 9 88
> table(ordered(cut(Idade[Grupo == 1], 0:9 * 10 + 15)))
(15,25] (25,35] (35,45] (45,55] (55,65] (65,75] (75,85] (85,95]
5 7 8 9 13 9 2 2
(95,105]
1
> table(ordered(cut(Idade[Grupo == 4], 0:8 * 10 + 5)))
(5,15] (15,25] (25,35] (35,45] (45,55] (55,65] (65,75] (75,85]
1 9 3 7 18 11 10 5
> hist(Idade[Grupo == 1], freq = F, main = "falso-negativo")
> hist(Idade[Grupo == 4], freq = F, main = "falso-positivo")
> detach(cancer)
24
falso−negativo falso−positivo
0.025
0.020
0.020
0.015
0.010
0.010
0.005
0.000
0.000
20 40 60 80 100 0 20 40 60 80
> rm("cancer")
26. (Use o computador) Os itens seguintes referem-se aos dados contidos no arquivo de nome
aeusp.txt, que contém parte dos dados de uma pesquisa, realizada pela Associação dos
Educadores da USP(AEUSP), sobre aspectos sócio-econômicos e culturais de comunidades
de baixa renda da região do Butantã, São Paulo. O questionário foi respondido por um
dos moradores da casa sorteada para participar da pesquisa. Os dados estão organizados
da seguinte forma:
25
coluna 6:Região de procedência(Reproce).
coluna 7:Tempo de residência em São PAulo, em anos(Temposp).
coluna 8:Número de residentes na casa(Resid).
coluna 9:Trabalho(Trab):
1 = sim;
2 = não;
3 = aposentado;
coluna 10:Tipo de trabalho, só para os que trabalham(Ttrab):
1 = empregado com carteira;
2 = empregado sem carteira;
3 = profissional liberal;
4 = autônomo;
5 = rural;
coluna 11:Idade em que começou a trabalhar, em anos(Itrab).
coluna 12:Renda familiar em faixa de reais(Renda).
1 = [0, 150);
2 = [150, 300);
3 = [300, 450);
4 = [450, 900);
5 = [900, 1500);
6 = [1500, ∞);
coluna 13:Acesso a computador(Acompu):
1 = sim;
2 = não;
coluna 14:Série em que parou de estudar(Serief).
Branco = não parou de estudar;
1 a 8 = séries do ensino fundamental;
9 a 12 = séries do ensino médio.
26
d) Faça um box-plot para a variável Itrab.
Resposta:
> se <- read.xls("aeusp.xls", head = T)
[1] "/tmp/Rtmp55nwWQ/file69e7f3e5.csv"
> head(se)
Num Comun Sexo Idade Ecivil X.Reproce X.Temposp X.Resid Trab Ttrab X.Itrab
1 1 JdRaposo 2 4 4 Nordeste 21 9 3 NA 20
2 2 JdRaposo 2 1 1 Sudeste 24 9 1 1 14
3 3 JdRaposo 2 2 1 Nordeste 31 3 1 1 14
4 4 JdRaposo 1 2 2 Nordeste 10 3 1 4 10
5 5 JdRaposo 2 4 2 Nordeste 31 6 1 1 11
6 6 JdRaposo 2 4 2 Sudeste 24 4 2 NA 15
X.Renda X.Acompu X.Serief
1 1 2 1
2 2 2 7
3 5 2 7
4 5 2 11
5 6 1 4
6 4 2 4
> attach(se)
a) Classificação das veriaveis:
quantitativas continuas:Tempo de residencia em SP e Idade que começou a
trabalhar.
quantitativas discretas:Faixa de Idade, Número de residencias e faixa da renda
familiar.
qualitativas nominais:Comunidade, sexo, estado civil, região de procedência,
trabalho, tipo de trabalho e acesso ao computador.
qualitativas ordinais:Série em que parou de estudar.
A seguir faço o teste para verificar se todos os dados apresentados, são possiveis, para
os dados não coerentes substituo por NA. Existem outras atitudes que poderiam ser
tomadas conforme o caso, os testes de verificação também poderiam ser de várias
formas, poderiamos por exemplo tentar perceber se o dado está errado por erro de
digitação, ou por que a resposta do individuo foi incoerente, ou pelo pesquisador não
ter colotado os dados de forma correta, mas aqui vou assumir que seja o suficiente
substituir por NA.
> with(se, Sexo[Sexo != 1 & Sexo != 2] <- NA)
> with(se, Idade[Idade < 1 | Idade > 4] <- NA)
> with(se, Ecivil[Ecivil < 1 | Ecivil > 5] <- NA)
> with(se, X.Temposp[X.Temposp[Idade == 1] > 25] <- NA)
> with(se, X.Temposp[X.Temposp[Idade == 2] > 35] <- NA)
> with(se, X.Temposp[X.Temposp[Idade == 3] > 45] <- NA)
> with(se, X.Temposp[X.Temposp[Idade == 4] > Inf] <- NA)
27
> with(se, Idade[X.Temposp == NA] <- NA)
> with(se, Trab[Trab < 1 | Trab > 3] <- NA)
> with(se, Ttrab[Ttrab < 1 | Ttrab > 5] <- NA)
> with(se, X.Renda[X.Renda < 1 | X.Renda > 6] <- NA)
> with(se, X.Acompu[X.Acompu < 1 | X.Acompu > 2] <- NA)
> with(se, X.Serief[X.Serief < 1 | X.Serief > 12] <- NA)
As váriaveis em branco podem aparecer por que o item não foi respondido pelo
morador.
b) Pelos histogramas apresentados na Figura 2 é possivel perceber que o Jardim d’Abril
tem uma renda um pouco menor
> ren.c <- X.Renda[Comun == "Cohab"]
> ren.j <- X.Renda[Comun == "JddAbril"]
> table(ren.c)
ren.c
1 2 3 4 5 6
3 7 9 36 17 14
> table(ren.j)
ren.j
1 2 3 4 5 6
5 16 10 14 4 1
> hist(ren.c, breaks = 0:6, main = "Cohab", freq = F)
> hist(ren.j, breaks = 0:6, main = "Jardim d'Abril", freq = F)
0.30
0.25
0.3
0.20
0.15
0.2
0.10
0.1
0.05
0.00
0.0
0 1 2 3 4 5 6 0 1 2 3 4 5 6
28
50
50
40
40
30
30
20
20
10
10
0
0
1 2 3 4 1 2 3 4
> detach(se)
> rm("se", "ren.c", "ren.j")
29
Existem muitas soluções para um mesmo exercı́cio, em alguns casos acho interessante fazer
uma demonstração de mais casos possı́veis.
No caso em que recebemos uma tabela de classe e precisamos tratar dos dados, percebo 3
soluções, uma delas seria pegar o ponto médio de cada classe e gerar ele conforme a frequência
que a classe a parece, foi essa a possição que assumi e está resolvido em exercı́cios como o 4 da
seção 1.2, outras soluções seriam pegar números espaçados igualmente dentro de cada classe,
ou então pegar números aleatórios dentro de cada classe, vou usar o exercı́cio citado para fazer
isto.
1.2.4
Solução 2
Dentro da primeira classe tem 14 números igualmente espaçados, e assi ocorre para cada
classe com a quantidade de números relativos a sua frequência.
Solução 3
Muito semelhante a anterior, mas agora os números foram gerados de forma aleatória
dentro de cada classe.
É importante observar que as duas primeiras soluções fornecem as mesmas médias que o
livro ensina calcular, já a solução 3 a média pode se distinguir, pois os dados supostos
foram gereados aleatóriamente dentro de cada classe.
30