Você está na página 1de 30

Noções de Probabilidade e Estatı́stica

Resolução dos Exercı́cios Pares


Capı́tulo 1
Gledson Luiz Picharski
Data da última atualização: 2 de Maio de 2008

Seção 1.1

2. Para as situações descritas a seguir, identifique a população e a amostra correspondente.


Discuta a validade do processo de inferência estatı́stica para acada um dos casos.

a) Para avaliar a eficácia de uma campanha de vacinação no estado de São Paulo,200


mães de recém-nascidos,durante o primeiro semestre de um dado ano em uma dada
maternidade em São Paulo, foram entrevistadas a respeito da última vez em que
vacinaram seus filhos.
b) Uma amostra de sangue foi retirada de um paciente com suspeita de anemia.
c) Para verificar a audiência de um programa de TV, 563 indivı́duos foram entrevistados
por telefone com relação ao canal em que estavam sintonizados.
d) A fim de avaliar a intenção de votopara presidente dos brasileiros, 122 pessoas foram
entrevistadas em Brası́lia.

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

2. Quinze pacientes de uma clı́nica de ortopedia foram entrevistados quanto ao número de


meses previstos de fisioterapia, se haverá(S) ou não(N) seqüelas após o tratamento e o
grau de complexidade da cirurgia realizada: alto(A), médio(M) ou baixo(B). Os dados
são apresentados na tabela abaixo.

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

a) Classifique cada uma das variáveis.


b) Para o cada variável, construa a tabela de frequüência e faça uma representação
gráfica.
c) Para o grupo de paciêntes que não ficaram com seqüelas, faça um gráfico de barras
para a variável Fisioterapia. Você acha que essa variável se comporta de modo
diferente nesse grupo?

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")

meses de fisioterapia seqüelas complexidade da cirurgia


5

7
6
N
4

5
3

4
3
2

2
1

1
0

0
4 5 6 7 8 B M A

Figura 1: Representações gráficas das variáveis.

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)

4. Um grupo de estudantes do ensino médio foi submetido a um teste de matemática resul-


tando em:

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

Figura 2: barplot para a variável Fisioterapia.

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

Figura 3: Representações para as notas dos alunos.

5
Seção 1.3

2. Considerando o banco de dados criado no Exercı́cio 1 desta seção, construa um histograma


para as quatro variáveis e, baseado no gráfico, descreva os seus comportamentos.

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

> # endereçando a um endereço de internet poderiamos ter problemas de conectividad


> # mas pode facilitar um pouco a programaç~ao se tudo funcionar certinho.
> tab1.1 <- read.table('http://www.ime.usp.br/~noproest/dados/questionario',head=T)

> with(tab1.1, hist(Idade, main = "Idade", xlab = "", ylab = ""))


> with(tab1.1, hist(Alt, main = "ALtura", xlab = "", ylab = ""))
> with(tab1.1, hist(Peso, main = "Peso", xlab = "", ylab = ""))
> with(tab1.1, hist(Filhos, main = "Filhos", xlab = "", ylab = ""))

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.

4. A idade dos 20 ingressantes num certo ano no curso de pós-graduação em jornalismo de


uma universidade foi o seguinte: 22,22,22,22,23,23,24,24,24,24,25,25,26,26,26,26,27,28,35,40.

a) Apresente os dados em uma tabela de freqüência, incluindo a freqüência relativa.


b) Idades atı́picas parecem ter ocorrido nesse ano. Após sua retirada do conjunto de
dados refaça o item (a). Comente as diferenças encontradas.

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

Figura 5: Boxplot representando outliers

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.

a) Organize uma tabela de freqüência.


b) Faça uma representação gráfica.
c) Você identifica valores muito discrepantes? Que fazer com eles?

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

Figura 6: Número de crianças nas familias que utilizam o posto

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

8. Um grupo de pedagogos estuda a influência da troca de escolas no desempenho de alunos


do ensino fundamental. Como parte do levantamento realizado, foi anotado o número de
escolas cursadas pelos alunos participantes do estudo.

a) Qual a porcentagem dos alunos que cursaram mais de uma escola?

11
freq
1 46
2 57
3 21
4 15
5 4

b) Construa o gráfico de barras.


c) Classifique os alunos em dois grupos segundo a rotatividade: alta para alunos com
mais de 2 escolas e baixa para os demais. Obtenha a tabela de freqüência dessa
variável.

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

Figura 7: Número de Escolas cursadas pelos alunos.

c) A tabela de frequência é obtida a seguir.

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

a) organize uma tabela de freqüência sem agrupar os dados.


b) Agrupe os dados em faixas de tamanho 0,2 a partir de 0,8 e obtenha uma nova tabela
de freqüência.
c) Compare as tabelas obtidas em (a) e (b). Comente as diferenças.
d) Se ao invés de 26 medidas tivéssemos 1000, qual procedimento, dentre agrupar ou
não, você utilizaria?

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

a) Organize os dados em faixas de tamanho 1 a partir do 11.


b) Construa o histogrma.
c) Determine o terceiro quartil e a mediana.
d) Taxas abaixo de 12 ou acima de 16 são consideradas alteradas e requerem aompa-
nhamento médico. Obtenha a tabela de freqüência da variável Acompanhamento
Médico com duas opções sim ou não.

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

Figura 8: Histograma sobre a Taxa de Hemoglobina


Clube 1 2 3 4 5 6 7 8 9 10
Gols 32 42 73 35 79 57 37 52 35 25

Clube 11 12 13 14 15 16 17 18 19 20
Gols 55 70 42 41 63 66 74 29 47 53

14. O número de gols marcados no último campeonato da Federação Paulista de Futebol


pelos 20 clubes participantes nos seus 38 jogos é uma variável com os seguintes valores:

a) Classifique a variável. Você acha rasoável construir uma tabela de freqüência de


acordo com a classificação dada?
b) Construa uma tabela de freqüência agrupando as observações em intervalos de com-
primento 10 a partir de 20(não esqueça de indicar claramente os intervalos).
c) obtenha o histograma.
d) Que porcentagem dos clubes marcaram mais de 38 gols?

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

Figura 9: Taxa de Hemoglobina

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

Figura 10: Número de gols.

V1
(60,75] 8
(75,80] 20
(80,85] 42
(85,90] 18
(90,95] 10
(95,100] 2

a) Faça uma representação gráfica da tabela acima.


b) Construa o box-plot
c) Comente a afirmação do fabricante.

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

(60,75] (75,80] (80,85] (85,90] (90,95] (95,100]

Figura 11: Índice de germinação de sementes de milho do fabricante.

b) O Box-plot é mostrado na Figura 12


> boxplot(sgerm)
c) Para verificar se a afirmação do fabricante é rasoavel poderia ser feito um teste
de hipoteses, mas isso é visto apenas no capitulo 8, então intuitivamente podemos
perceber que em média a germinação é bastante próxima da afirmada pelo fabricante.
> mean(sgerm)
[1] 82.5
> rm("freq", "pm", "sgerm", "sgerm.tb")

18. Num estudo sobre rotatividade de mão-de-obra na indústria, anotou-se o número de


empregos nos últimos 3 anos para operários especializados.

a) Construa o diagrama de barra correspondente a cada tabela usando a porcentagem


no eixo das ordenadas.
b) Junte as informações das duas tabelas em uma só e obtenha um diagrama de barras
da rotatividade de mão-de-obra na indústria (sem diferenciar a especialização).

18
95
90
85
80
75
70

Figura 12: Box-plot sobre as germinações.

c) Você acha que os trabalhadores especializados trocam menos de emprego? Justifique.

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))

especializados não especializados


0.30
0.4

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

Figura 13: Rotatividade de mão de obra na industria.

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

Figura 14: Rotatividade de mão de obra na industria.

c) Percebemos, através do item a, que os trabalhadores especializados trocam menos de


emprego do que os não especializados, isso está no fato de termos uma quantidade
maior de especializados com menor variação de empregos.

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.

a) Organize uma tabela de freqüência para cada variável.


b) Faça uma representação gráfica das tabelas obtidas em (a).
c) Construa a tabela de freqüência da variável total de pontos.
d) Comente sobre a afirmação: os aprovados são melhores em português do que em
matemática.

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

Figura 15: Comparação de Notas.

> notas <- t(matrix(c(Port, Mat), ncol = 2, nrow = 20))


> dimnames(notas) <- list(c("Port", "Mat"), 1:20)
> notas
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Port 35 35 34 32 31 30 26 26 24 23 23 12 11 20 17 12 14 20 8 10
Mat 31 29 27 28 28 26 30 28 25 23 21 32 31 20 21 25 20 13 23 20
a) Por termos poucos dados, parece ser de fácil visualisação, por isso não é necessário
que os dados sejam separados em classes(mas poderiam), as tabelas são apresentadas
a seguir.
> table(Port)
Port
8 10 11 12 14 17 20 23 24 26 30 31 32 34 35
1 1 1 2 1 1 2 2 1 2 1 1 1 1 2
> table(Mat)
Mat
13 20 21 23 25 26 27 28 29 30 31 32
1 3 2 2 2 1 1 3 1 1 2 1
b) A Figura 15 representa as tabelas obtidas no item a.
> hist(Port, freq = T)
> hist(Mat, freq = T)
c) O total de pontos de cada aluno, pode ser obtido com a soma entre as duas linhas, que
representam as disciplinas, da matriz gerada anteriormente, talvez fosse interessante
colocarmos os dados em classes, mas por termos pouca informação não considero
necessário.
> table(notas[1, ] + notas[2, ])

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

a) Encontre valores aproximados para a mediana de cada técnica.


b) O intervalo interquartil é definido como a diferença entre o terceiro e o primeiro
quartis. Calcule seu valor para cada uma das técnicas e comente.
c) Discuta a variabilidade do tempo de recuperação em cada técnica.
d) Se você é otimista, qual técnica escolheria?

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:

coluna 1:identificação do paciente.


coluna 2:diagnóstico:
1 = falso-negativo:diagnóstico como não tendo a doença quando na verdade tinham.
2 = negativo: diagnóstico como não tendo a doença quando de fato não a tinham
3 = positivo:diagnósticados como tendo a doença.
4 = falso-positivo:diagnosticados como tendo a doença quando na verdade não
tinham.
coluna 3:idade
coluna 4:espectro quı́mico da análise de sangue-alkaliine phosphatose(AKP).
coluna 5:concentração de fosfato no sangue(P).
coluna 6:enzima, lactate dehydrogenase(LDH).
coluna 7:albumina(ALB).
coluna 8:nitrogênio na uréia(N).
coluna 9:glicose(GL).

a) Escolha 3 variáveis dentre as colunas 2 a 9. Classifique-as e faça o histograma e a


tabela de freqüência para cada uma delas(se necessário, crie até cinco faixas).
b) Uma afirmação feita por alguns médicos é a de que o grupo dos false-positivos é mais
jovem do que o dos falso-negativos. Para os dados dessa pesquisa, o que você diria
a respeito? Justifique sua resposta baseando-se em gráficos e tabelas de freqüência.

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

100 150 200 250 300


60 80 100
100
Frequency

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

Figura 16: Histogramas de idade, grupo e glicose(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

Figura 17: Comparativo de idade entre falso-negativo e falso-positivo

> 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:

coluna 1:Número do questionário(Num).


coluna 2:COmunidade(Comun).
coluna 3:Sexo(Sexo).
1 = masculino;
2 = feminino;
coluna 4:Faixas de idade, em anos(Idade):
1 = [14, 25);
2 = [25, 35);
3 = [35, 45);
4 = [45, ∞);
coluna 5:Estado civil(Ecivil).
1 = solteiro;
2 = casado;
3 = divorciado;
4 = viúvo;
5 = outro;

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.

a) Explore o conjunto de dados e classifique as variáveis. Verifique se existem variáveis


com valores incompatı́veis ou inválidos e proponha alternativas para a solução do
problema. Observe que existem variáveis com respostas em branco e discuta porque
isso acontece.
b) Estude a variável Renda em função de Comun. Você diria que os moradores da
Cohab e do Jardim d’Abril têm a mesma renda? Justifique sua resposta baseando-se
em gráficos e tabelas de frequência.
c) Verifique se o comportamento da variável Temposp é influenciado pelo tipo de tra-
balho(variável Trab).

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)

Cohab Jardim d’Abril


0.4

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

Figura 18: Comparativo de renda entre os dois bairros.

c) Podemos verificar na Figura 3 que o tempo de residencia em SP independe do tipo de


trabalho, pois o tipo 1 e 4 acumulam aproximadamente o mesma quantia de pessoas
com o limite de idade próximo e são bem distintos.

28
50

50
40

40
30

30
20

20
10

10
0

0
1 2 3 4 1 2 3 4

Figura 19: Camparação entre tempo em SP e tipo de trabalho.

> boxplot(X.Temposp ~ Ttrab)


> stripchart(X.Temposp ~ Ttrab, vertical = TRUE)
d) O boxplot está representado na Figura 20.
> boxplot(X.Itrab, main = "")
35
30
25
20
15
10
5

Figura 20: Idade em que começou a trabalhar.

> 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.

> freq <- c(14, 28, 27, 11, 4)


> x <- paste("a", 1:5, sep = "")
> for (i in 1:5) (assign(x[i], seq((0:4 * 2.001)[i], (1:5 * 2)[i],
+ l = freq[i])))
> y <- matrix(unlist(sapply(x, get)))
> table(ordered(cut(y, seq(0, 10, by = 2), include.lowest = T)))

[0,2] (2,4] (4,6] (6,8] (8,10]


14 28 27 11 4

> hist(y, breaks = 0:5 * 2)

Solução 3

Muito semelhante a anterior, mas agora os números foram gerados de forma aleatória
dentro de cada classe.

> freq <- c(14, 28, 27, 11, 4)


> x <- paste("a", 1:5, sep = "")
> for (i in 1:5) (assign(x[i], runif(freq[i], (0:4 * 2.001)[i],
+ (1:5 * 2)[i])))
> y <- matrix(unlist(sapply(x, get)))
> table(ordered(cut(y, seq(0, 10, by = 2), include.lowest = T)))

[0,2] (2,4] (4,6] (6,8] (8,10]


14 28 27 11 4

> hist(y, breaks = 0:5 * 2)

É 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

Você também pode gostar