Lista de Exerícios - Aplicações de Estatística


26 de novembro de 2007

1 Estatística Descritiva

  1. Carregue o conjunto de dados sobre o questionário sócio-estudantil com o comando:

      > quest<-read.table("http://www.leg.ufpr.br/~joel/dados/quest.txt",h=T)

    1. encontre os nomes das variáveis

        > names(quest)

         [1] "Id"     "Turma"  "Sexo"   "Idade"  "Alt"    "Peso"   "Filhos" "Fuma"
         [9] "Toler"  "Exerc"  "Cine"   "OpCine" "TV"     "OpTV"
    2. calcule o peso médio, peso mediano e o desvio padrão dos pesos dos adolescentes

        > # media
        > mean(quest$Peso)

        [1] 60.928

        > # mediana
        > median(quest$Peso)

        [1] 58

        > # desvio padrao
        > sd(quest$Peso)

        [1] 12.17909
    3. encontre a média de peso das meninas e dos meninos

        > # media de peso por sexo
        > by(quest$Peso,quest$Sexo,mean)

        INDICES: F
        [1] 55
        ------------------------------------------------------------
        INDICES: M
        [1] 77.8
    4. verifique a proporção de fumantes

        > # tamanho da amostra
        > n<-length(quest$Fuma)
        > n

        [1] 50

        > # tabela de frequencias absolutas
        > tab.fuma<-table(quest$Fuma)
        > tab.fuma

        NAO SIM
         44   6

        > # tabela de frequencias relativas - alternativa 1
        > tab.fuma/n

         NAO  SIM
        0.88 0.12

        > # tabela de frequencias relativas - alternativa 2
        > prop.table(tab.fuma)

         NAO  SIM
        0.88 0.12
    5. verifique a proporção de fumantes por sexo

        > t.1<-prop.table(table(quest$Fuma,quest$Sexo),margin=1)
        > t.1

                      F         M
          NAO 0.7500000 0.2500000
          SIM 0.6666667 0.3333333
    6. verifique a proporção de mulheres nas diferentes turmas através do gáfico de barras.

        > t.2<-prop.table(table(quest$Turma,quest$Sexo),margin=1)
        > t.2

                    F         M
          A 0.8076923 0.1923077
          B 0.6666667 0.3333333

        > barplot(t.2,legend=T,beside=T)

      pict

    7. Construa um gráfico de barras que ilustre o percentual de fumantes por sexo.

        > barplot(t.1,beside=T,legend=T)

      pict

    8. Construa um histograma da variável idade e verifique o ajuste da curva normal pela sobreposição da função densidade de probabilidade teórica.

        > hist(quest$Idade,prob=T)
        > m<-mean(quest$Idade)
        > s<-sd(quest$Idade)
        > curve(dnorm(x,m,s),0,30,add=T)

      pict

    9. Sobreponha ao gráfico do item anterior a curva da função de densidade exponencial na cor vermelha.

        > hist(quest$Idade,prob=T,breaks='scott')
        > m<-mean(quest$Idade)
        > s<-sd(quest$Idade)
        > curve(dnorm(x,m,s),0,30,add=T)
        > curve(dexp(x,1/m),0,30,add=T,col='red')

      pict

    10. Para o conjunto de dados abaixo

        > x<-c(13,23,34,56,78,99)

      Construa o gráfico da fuço de disibuição acumulada empírica

        > plot(ecdf(x))

      pict

2 Cálculo de probabilidades

  1. Para a variável X ~ Normal(10,9), calcule
    1. P(X < 8)

        > pnorm(8,10,sqrt(9))

        [1] 0.2524925
    2. P(8 < X < 12)

        > pnorm(12,10,sqrt(9))-pnorm(8,10,sqrt(9))

        [1] 0.4950149
    3. P([X < 10] [X > 13])

        > pnorm(10,10,sqrt(9))+pnorm(13,10,sqrt(9),lower.tail=F)

        [1] 0.6586553
    4. Construa o gráfico da função de distribuição acumulada para valores de X entre 5 e 15.

        > curve(pnorm(x,10,sqrt(9)),5,15)

      pict

  2. Considere uma variável com distribuição de Poisson com média igual a 3.

    1. retire uma amostra de 5 números desta distribuição.

        > rpois(5,3)

        [1] 3 3 2 5 3
    2. Construa um gráfico de barras para exibir as probabilidades teóricas de valores entre 0 e 10

        > plot(0:10,dpois(0:10,3),type='h')

      pict

    3. Calcule para esta variável P(X 5)

        > 1-ppois(4,3)

        [1] 0.1847368
    4. Calcuele P(X > 5)
        > 1-ppois(5,3)

        [1] 0.08391794
  3. Para uma variável X ~ binomial(10,0.8), calcule P(X = 5), P(X > 5) e P(X 5).
      > dbinom(5,10,0.8)

      [1] 0.02642412

      > 1-pbinom(5,10,0.8)

      [1] 0.9672065

      > pbinom(5,10,0.8)

      [1] 0.0327935

3 Inferência Estatística

  1. Para estudar o comportamento do estimador S2, gere 120 amostras de tamanho 20 de uma Exponencial de parâmetro 1/5. Em cada amostra, calcule a estimativa de S2. Com 120 estimativas obtidas, utilize as medidas descritivas e o histograma para comparar esses resultados com a variância do modelo Exponencial.

      > amostras<-rexp(120*20,1/5)
      > amostras<-matrix(amostras,ncol=20)
      > estimativas.s2<-apply(amostras,1,var)
      > summary(estimativas.s2)

         Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
        5.755  15.030  20.760  23.650  29.180  74.860

      > hist(estimativas.s2,prob=T)

    pict

  2. Simule a coleta de 80 observações de uma variável Normal(10,25) e obtenha o intervalo de 92% de confiança para a média. Repita este procedimento 100 vezes, isto é, obtenha 100 intervalos de confiança. Verifique quantos deles contém a verdadeira média.

      > lim.inf<-NULL
      > lim.sup<-NULL
      > for (i in 1:100){
      + x<-rnorm(80,10,5)
      + lim.inf[i]<-mean(x)+qnorm(0.04)*5/sqrt(80)
      + lim.sup[i]<-mean(x)+qnorm(0.96)*5/sqrt(80)
      + }
      > IC<-data.frame(lim.inf,lim.sup)
      > table(IC[1]<10 & IC[2]>10)

      FALSE  TRUE
          7    93

      > amostras<-rnorm(100*80,10,5)
      > amostras<-matrix(amostras,ncol=80)
      > li=function(x){mean(x)+qnorm(0.04)*5/sqrt(80)}
      > ls=function(x){mean(x)+qnorm(0.96)*5/sqrt(80)}
      > lim.inf<-apply(amostras,1,li)
      > lim.sup<-apply(amostras,1,ls)
      > IC<-data.frame(lim.inf,lim.sup)
      > table(IC[1]<10 & IC[2]>10)

      FALSE  TRUE
          8    92
  3. Gere 200 observações do modelo Unifrme Contínuo [0,20]. Construa um intervalo de confiança de 95% para a média.Repetindo 120 vezes esse procedimento, quantos intervalos conterão a verdadeira média ?

      > lim.inf<-NULL
      > lim.sup<-NULL
      > for (i in 1:100){
      + x<-runif(200,0,20)
      + lim.inf[i]<-mean(x)+qnorm(0.025)*sd(x)/sqrt(200)
      + lim.sup[i]<-mean(x)+qnorm(0.975)*sd(x)/sqrt(200)
      + }
      > IC<-data.frame(lim.inf,lim.sup)
      > table(IC[1]<10 & IC[2]>10)

      FALSE  TRUE
          2    98

4 Teste de Hipóteses

  1. Deseja-se investigar se uma certa moléstia qe ataca o rim altera o consumo de oxigênio desse órgão. Para indivíduos sadios, admite-se que esse consumo tem distribuição Normal com média 12cm3/min. Os valores medidos em 5 pacientes com a moléstia foram: 14,4 ; 12,9; 15 ; 13,7 ; 13,5. Qual seria a conclusão ao nível de 1% de significância ?

      > x<-c(14.4,12.9,15,13.7,13.5)
      > t.test(x,mu=12,conf.level=0.99)

       One Sample t-test
      
      data:  x
      t = 5.2099, df = 4, p-value = 0.006472
      alternative hypothesis: true mean is not equal to 12
      99 percent confidence interval:
       12.22093 15.57907
      sample estimates:
      mean of x
           13.9
  2. No item anterior, construa o intervalo de confiança de 90% para a média populacional

      > t.test(x,mu=12,conf.level=0.90)

       One Sample t-test
      
      data:  x
      t = 5.2099, df = 4, p-value = 0.006472
      alternative hypothesis: true mean is not equal to 12
      90 percent confidence interval:
       13.12253 14.67747
      sample estimates:
      mean of x
           13.9
  3. Considere os dados do arquivo aeusp.txt que corresponde a uma amostra da população de baixa renda da região do Butantã-SP. (As informações sobre estes dados podem ser encontradas em http://www.ime.usp.br/~noproest/

      > # Leitura do arquivo aeusp.txt com dados da AEUSP
      > aeusp<-read.csv("http://www.leg.ufpr.br/~joel/dados/aeusp.txt",sep="")
      > # Resumindo as informações deste conjunto.
      > summary(aeusp)

            Num              Comun         Sexo           Idade           Ecivil
       Min.   :   1.0   Cohab   :86   Min.   :1.000   Min.   :1.000   Min.   :1.000
       1st Qu.: 123.0   JddAbril:50   1st Qu.:1.000   1st Qu.:1.000   1st Qu.:1.000
       Median : 238.0   JdRaposo:81   Median :2.000   Median :2.000   Median :2.000
       Mean   : 531.3   Sapé   :59   Mean   :1.561   Mean   :2.252   Mean   :1.909
       3rd Qu.: 366.0   V1010   :62   3rd Qu.:2.000   3rd Qu.:3.000   3rd Qu.:2.000
       Max.   :3702.0   VDalva  :47   Max.   :2.000   Max.   :4.000   Max.   :5.000
      
               Reproce       Temposp          Resid             Trab
       Centro-oeste:  3   Min.   : 1.00   Min.   : 1.000   Min.   :1.000
       Nordeste    :190   1st Qu.:10.00   1st Qu.: 3.000   1st Qu.:1.000
       Norte       :  3   Median :18.00   Median : 4.000   Median :1.000
       Sudeste     :178   Mean   :19.01   Mean   : 4.465   Mean   :1.426
       Sul         : 11   3rd Qu.:26.00   3rd Qu.: 6.000   3rd Qu.:2.000
                          Max.   :67.00   Max.   :10.000   Max.   :4.000
      
           Ttrab            Itrab            Renda            Acompu
       Min.   : 1.000   Min.   : 1.000   Min.   : 1.000   Min.   : 1.000
       1st Qu.: 2.000   1st Qu.: 3.000   1st Qu.: 2.000   1st Qu.: 2.000
       Median : 4.000   Median :10.000   Median : 3.000   Median : 2.000
       Mean   : 5.792   Mean   : 9.327   Mean   : 3.123   Mean   : 3.003
       3rd Qu.: 9.000   3rd Qu.:14.000   3rd Qu.: 4.000   3rd Qu.: 2.000
       Max.   :29.000   Max.   :35.000   Max.   :10.000   Max.   :12.000
                                         NA's   :19.000   NA's   :52.000
           Serief
       Min.   :  1.000
       1st Qu.:  4.000
       Median :  6.000
       Mean   :  6.112
       3rd Qu.:  8.000
       Max.   : 12.000
       NA's   :179.000

    1. Teste se o número médio de residentes em casas da população acima mencionada é inferior a 4.

        > t.test(aeusp$Resid,mu=4,alternative='greater')

         One Sample t-test
        
        data:  aeusp$Resid
        t = 4.4336, df = 384, p-value = 6.056e-06
        alternative hypothesis: true mean is greater than 4
        95 percent confidence interval:
         4.292029      Inf
        sample estimates:
        mean of x
         4.464935
    2. Verifique estatisticamente se a proporção de trabalhadores com carteira assinada, nessa população, é diferente de 25%. Use α = 5%

        > # Tamanho da amostra
        > n<-length(aeusp$Ttrab)
        > n

        [1] 385

        > # Estimativa pontual
        > pchapeu<-sum(aeusp$Ttrab==1)/n
        > pchapeu

        [1] 0.2051948

        > # Encontrando intervalo de confianca otimista
        > ic.otimista<-pchapeu+c(-1,1)*qnorm(0.975)*sqrt(pchapeu*(1-pchapeu)/n)
        > ic.otimista

        [1] 0.1648552 0.2455344

        > # Encontrando o intervalo de confianca conservador
        > ic.conservador<-pchapeu+c(-1,1)*qnorm(0.975)*sqrt(0.5*0.5/n)
        > ic.conservador

        [1] 0.1552503 0.2551393

      os intervalos de confiança aqui serão utilizados para testar a hipótese de interesse H0 : p = 0.25. Se o valor especificado na hipótese nula não estiver dentro do intervalo, rejeita-se H0.