Exercícios recomendados da CE-223 Estatística computacional, 2008

Semana 1

Aula 25/02

  1. Fazer um gráfico da função de probabilidade de uma v.a. <latex>X \sim Bin(n=10, p=0.03)</latex>
    x <- 0:10
    fx <- dbinom(x, 10, 0.35)
    plot(x, fx, type='h')
    title("Função de Probabilidade da Binomial")
  2. Fazer um gráfico da função de densidade de probabilidade de uma v.a. <latex>X \sim N(70, 10^2)</latex>
    curve(dnorm(x, mean=70, sd=10), xlim=c(-3,3))

Aula 27/02

  1. Mostrar o comando para obter uma sequência dos múltiplos de 10 até 200.
    seq(10, 200, by=10)
  2. Criar um vetor a1 com os elementos (23, 45, 21, 29, 40, 22, 29, 37, 44, 37, 31, 33, 36)
    a1 <- c(23, 45, 21, 29, 40, 22, 29, 37, 44, 37, 31, 33, 36)
  3. Extrair os elementos de a1 que sejam maiores que 30.
    a1[a1 > 30]
  4. Extrair os elementos de a1 que sejam menores que 25 ou maiores que 40. Guardar estes valores em um vetor a2
    a2 <- a1[a1 < 25 | a1 > 40]
  5. Extrair os elementos de a1 que sejam maiores que 30 e menores que 40.
    a1[a1 > 30 & a1 < 40]
  6. Obter as posições dos elementos de a1 que sejam menores que 30
    which(a1[a1 < 30])
  7. Obter a posição do maior elemento da a1
    wihch.max(a1)
  8. Obter a posição do menor elemento da a1
        which.min(a1)
  9. Criar um vetor a3 com os elementos de a1 para os quais o resto da divisão por 3 seja igual a 2.
    a3 <- a1[a1 %% 3 == 2]
  10. Extrair os elementos de a1 que sejam múltiplos de 4
    a1[a1 %% 4 == 0]
  11. Substituir em a1 os elementos iguais a 37 pelo valor 36
    a1[a1 == 37] <- 36
  12. Substituir em a1 os elementos maiores que 40 pelo código de valor perdido NA
    a1[a1 > 40] <- NA   
  13. Obter as posições de a1 onde estão os valores perdidos
    which(is.na(a1))
  14. Crie um vetor chamado sexo com os comandos a seguir:
    sexo <- c(1, 2, 2, 2, 1, 2, 1, 1, 1, 2, 2, 1, 2)
    sexo <- factor(sexo, lev=1:2, lab=c("M","F"))
  15. Obter as posições em sexo que possuem o valor “M“
    which(sexo == "M")
  16. Obter os valores de a1 para os quais o valor correspondente em sexo é “M“
    a1[which(sexo == "M")]
  17. Obter os valores de a1 para os quais o valor correspondente em sexo é “F“
    a1[which(sexo == "F")]
  18. Descrever o resultado de cada um dos comandos a seguir:
    sort(a1)             # Ordena o vetor a1 em ordem crescente
    order(a1)            # Retorna a ordem de cada elemento no vetor a1
    a1[order(a1)]        # Ordena o vetor a1 em ordem crescente
    sort(a1, dec = TRUE) # Ordena o vetor a1 em ordem decrescente
  19. Criar um objeto a1.ord com os elementos de a1 em ordem crescente
    a1.ord <- sort(a1)
  20. Ordenar os objetos de a1 de forma a exibir primeiro todos os elementos correpondentes a “M“ e depois os correspondentes a “F“
    a1[order(sexo)]
  21. Criar um objeto chamado notas que possua os elementos de a1 com valores correspondentes de sexo sendo “M“ ordenados de forma crescente, seguidos pelos correspondentes a “F“ também ordenados de forma crescente. Em outras palavras, o objeto notas deverá ter as notas dos homes ordenadas seguidas pelas das mulheres também ordenadas.
    notas <- a1[order(sexo, a1)]
  22. Criar um vetor com os seguinte elementos: (1, 2, 3, 4, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 60, 70, 80, 90, 100, 200, 300, 400, 500)
    c(1:5, seq(10,50, by=5), seq(60,100, by=10), seq(200, 500, by=100))

Arquivo .R uma segunda versão da resolução da lista. Versão 2 lista 1 por Wagner 29/02/2008

Aula ?

  1. Obtenha usando o R o resultado da combinação de 10 elementos tomados 4 a 4 de três formas diferentes:
    • usando a função choose()
    • usando a função factorial()
    • usando a função gamma()
      choose(10, 4)
      factorial(10)/(factorial(10-4) * factorial(4))
      gamma(10 + 1)/(gamma((10 - 4) + 1) * gamma(4 + 1))
  2. Obtenha um gráfico da função de densidade de probabilidade da distribuição <latex>\chi^2</latex>, três graus de liberdade, de duas formas diferentes:
    • utilizando operações algébricas com a expressão da f.d.p.
    • utilizando a função dchisq()
      fChisq <- function(x, k=3)
        1/(gamma(k/2)) * ((1/2) ^ (k/2)) * x^((k/2) - 1) * exp(-(1/2) * x)
       
      plot(fChisq, 0:10, xlim=c(0,10))
      curve(dchisq(x, 3), xlim=c(0, 10)
  3. Obtenha um gráfico de formas análogas às do exercício anterior para a distribuição t com 9 graus de liberdade.
    ft <- function(x, k = 9)
      (gamma((k + 1) / 2)/gamma(k / 2)) * (1 / sqrt(k * pi)) * (1/(1 + ((x^2) / k))^((k + 1)/2))
     
    plot(ft, 0:10)
    curve(dt(x, 9), 0:10)
  4. Considere o exercício da distribuição binomial da primeira aula do curso e discutido na aula desta semana. Experimente utilizar o comando plot() com o uso do argumento type com cada uma das opções: type = “p“, type = “l“, type = “b“, type = “c“, type = “o“, type = “h“, type = “s“, type = “S“, type = “n“. Verifique os resultados produzidos e:
    • descreva o tipo de gráfico produzido com cada opção
    • discuta exemplos de situações onde o uso de cada um destes tipos de gráficos seria adequado
      fBin <- function(x, n, p)
        choose(n, x) * (p^x) * (1 - p)^(n - x)
       
      x <- 0:10
      fx <- fBin(x, 10, 0.03)
      plot(x, fx, type='p')
      plot(x, fx, type='l')
      plot(x, fx, type='b')
       
      #Versão alternativa
      par(mfrow=c(3,3)) #Dividir a tela Gráfica
      sapply(c("p", "l", "b", "c", "o", "h", "s", "S", "n"),
             function(.x)plot(x, fx, type=.x, main=sprintf("Tipo: %s", .x)))
Tipo Forma Exemplo
p Pontos Verificar Distribuição dos Pontos
l linhas Verificar Tendencia da Série
b Ambos, linhas e pontos Verificar a Tendencia e localizar as observações
c Como o Tipo b, mas apenas com as linhas
o Como o tipo b, mas com as linhas sobre os pontos
h Com linhas verticais, similares à um histograma Verificar a Frequencia
s Por etapas, similares a uma escada, começando a etapa horizontalmente
S como o anterior, mas começando verticalmente
n Não plota o gráfico Útil para 'pegar' os parametros gráficos e ajustar a janela aos pontos

QR Code
QR Code disciplinas:ce223:interna:solucoes2008 (generated for current page)