apostila prog estatistica (apostila r)

Download Apostila Prog Estatistica (Apostila R)

Post on 03-Mar-2016

62 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

programao estatistica no R

TRANSCRIPT

  • Apostila de Programacao Estatstica

    Jessica Kubrusly

    Departamento de EstatsticaInstituto de Matematica e Estatstica

    Universidade Federal Fluminenes

    marco de 2013

  • Prefacio

    Esta apostila foi desenvolvia com o objetivo de se tornar um roteiro de aula para a disci-plina Programacao Estatstica, oferecida aos alunos do curso de Graduacao em Estatsticapelo Departamento de Estatstica da Universidade Federal Fluminense - UFF.

    A disciplina de Programacao Estatstica e constituda por uma aula teorica e duaspraticas por semana. Cada captulo desta apostila aborda o conteudo trabalhado em cadasemana. Alem disso a apostila e separada em 3 partes. Ao final de cada parte os alunossao submetidos a uma prova teorica e uma prova pratica. O foco da disciplina e praticartecnicas de programacao usando a linguagem de programacao R e tendo como plano defundo conceitos de estatstica descritiva, algebra linear basica e calculo.

    O aluno matriculado nessa disciplina ja foi aprovado em uma disciplina introdutoriasobre programacao de computadores e por isso este nao e o seu primeiro contato como assunto. Ao final desta disciplina espera-se que o aluno tenha nao so aprimorado suahabilidade computacional como tambem reforcado conceitos de estatstica e calculo javistos em outras disciplinas.

    Para maiores informacoes sobre a linguagem de programacao R entre no site oficialdo projeto: http://www.r-project.org/. La e possvel obter informacoes sobre comobaixar e instalar o R em seu computador. Alem disso, manuais introdutorios sao dispo-nibilizados gratuitamente.

    i

  • Sumario

    Prefacio i

    I Conceitos Basicos de Programacao 1

    1 Objetos e Classes 21.1 Numeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Textos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Logicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.5 Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.6 Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    2 Controle de Fluxo 102.1 if/else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2 for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3 while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.4 repeat/break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3 Funcoes e o Conceito de Variavel Local 183.1 Funcoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.2 Variaveis Locais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    4 Algoritmos para CalculosEstatsticos 264.1 Maximo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.2 Mnimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.3 Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.4 Mediana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.5 Quartis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.6 Frequencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.7 Moda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.8 Amplitude Total . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.9 Distancia Interquartlica . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.10 Variancia Amostral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.11 Desvio Medio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    ii

  • Sumario

    4.12 Covariancia Amostral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    5 Algoritmos para CalculosMatriciais 375.1 Multiplicacao de vetor por escalar . . . . . . . . . . . . . . . . . . . . . . 375.2 Soma entre vetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.3 Subtracao entre vetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.4 Produto interno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.5 Multiplicacao de matriz por escalar . . . . . . . . . . . . . . . . . . . . . 395.6 Soma entre matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405.7 Subtracao entre Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . 405.8 Transposicao de Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.9 Multiplicacao entre matriz e vetor . . . . . . . . . . . . . . . . . . . . . . 415.10 Multiplicacao entre matrizes . . . . . . . . . . . . . . . . . . . . . . . . . 42Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    II Recursao 45

    6 Algoritmos Recursivos 466.1 Fatorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466.2 Vetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476.3 Sequencias Definidas a partir de

    Equacoes de Diferencas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486.3.1 Padroes geometricos . . . . . . . . . . . . . . . . . . . . . . . . . 486.3.2 Matematica Financeira . . . . . . . . . . . . . . . . . . . . . . . . 496.3.3 Fibonacci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

    7 Algoritmos Recursivos(continuacao) 567.1 Series . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567.2 Maior Divisor Comum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577.3 Torre de Hanoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

    8 Algoritmos de Ordenacao 638.1 Ordenacao Bolha (Bubble Sort) . . . . . . . . . . . . . . . . . . . . . . . 638.2 Ordenacao Rapida (Quick Sort) . . . . . . . . . . . . . . . . . . . . . . . 67Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

    9 Complexidade deAlgoritmos 729.1 Nocao Introdutoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 729.2 A Notacao O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739.3 Exemplos Basicos de Complexidade . . . . . . . . . . . . . . . . . . . . . 74

    9.3.1 Complexidade Constante - O(1) . . . . . . . . . . . . . . . . . . . 749.3.2 Complexidade Logartmica- O(log(n)) . . . . . . . . . . . . . . . 74

    Departamento de Estatstica - UFF iii

  • Sumario

    9.3.3 Complexidade Linear - O(n) . . . . . . . . . . . . . . . . . . . . . 749.3.4 Complexidade n log(n) - O(n log(n)) . . . . . . . . . . . . . . . . 749.3.5 Complexidade quadratica - O(n2) . . . . . . . . . . . . . . . . . . 759.3.6 Complexidade cubica - O(n3) . . . . . . . . . . . . . . . . . . . . 759.3.7 Complexidade exponencial - O(cn) . . . . . . . . . . . . . . . . . 75

    Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

    III Uma Introducao ao Calculo Numerico 79

    10 Aproximacao de Funcoes porSeries de Taylor 8010.1 Serie de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8010.2 Aproximacao para a funcao exponencial . . . . . . . . . . . . . . . . . . 8110.3 Aproximacao para a funcao logaritmo . . . . . . . . . . . . . . . . . . . . 83Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    11 Aproximacao de Razes deFuncoes Reais 8711.1 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8711.2 Metodo da Bissecao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8811.3 Metodo de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . 9111.4 Comentarios Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

    12 Derivacao Numerica 9612.1 Metodos Numericos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

    12.1.1 Primeiro Metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . 9612.1.2 Segundo Metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

    12.2 Analise dos erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9712.3 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

    13 Integracao Numerica 10413.1 Aproximacao por retangulos . . . . . . . . . . . . . . . . . . . . . . . . . 10513.2 Aproximacao por trapezios . . . . . . . . . . . . . . . . . . . . . . . . . . 10713.3 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

    Departamento de Estatstica - UFF iv

  • Parte I

    Conceitos Basicos de Programacao

    1

  • Semana 1: Objetos e Classes

    Toda variavel dentro da linguagem R e interpretada como um objeto que pertence a umadeterminada classe. Para saber qual a classe de um certo objeto podemos usar o comandoclass(obj), onde obj e o nome do objeto para o qual queremos saber a classe.

    Existem diversos tipos de classes. Algumas serao vistas ao longo deste cur