1 AULA 1 - APRESENTAÇÃO DO PROGRAMA



Documentos relacionados
Linguagem R R-Gui e R-Commander

Linguagem R R-Gui e R-Commander

Dadas a base e a altura de um triangulo, determinar sua área.

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

&XUVRGH,QWURGXomRDR (GLWRUGH3ODQLOKDV([FHO

Introdução à Linguagem

Manual de backup do banco de dados PostgreSQL - Versão 2. Setembro-2011

CICLO DE APERFEIÇOAMENTO PROFISSIONAL DOS SERVIDORES MUNICIPAIS DE MARICÁ- RJ EDITOR DE TEXTO - WORD

PHP AULA1. Prof. Msc. Hélio Esperidião

Organização e Arquitetura de Computadores I. de Computadores

LINGUAGEM C UMA INTRODUÇÃO

Probabilidade e Estatística I Antonio Roque Aula 8. Introdução ao Excel

Scilab. Introdução ao Scilab. Como obter ajuda

Desenvolvendo Websites com PHP

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

Orientação a Objetos

SPSS Statistical Package for the Social Sciences Composto por dois ambientes:

MANUAL DE INSTALAÇÃO LUZ DO SABER

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Microsoft Office Excel 2007

Gerenciamento de Arquivos e Pastas. Professor: Jeferson Machado Cordini jmcordini@hotmail.com

Professor: Macêdo Firmino Informática para Administração Introdução ao Excel

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

Instruções para a atividade

Sistema de Controle. Como entrar no sistema. Tela inicial. Funcionalidades do sistema. Controle de permissões. Menu Aplicativo

Manual Captura S_Line

GRS Gerador de Redes Sistêmicas. (outubro/2004)

Tutorial do Iniciante. Excel Básico 2010

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Lógica de Programação

UNIVERSIDADE FEDERAL DA FRONTEIRA SUL AMBIENTE VIRTUAL INSTITUCIONAL MOODLE/UFFS

COMPILADORES E INTERPRETADORES

Google Drive. Passos. Configurando o Google Drive

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

3. O NIVEL DA LINGUAGEM DE MONTAGEM

MANUAL C R M ÍNDICE. Sobre o módulo de CRM Definindo a Campanha... 3

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

e à Linguagem de Programação Python

Lição 1 Introdução à programação de computadores

INSTALAÇÃO DO SISTEMA CONTROLGÁS

Informática Aplicada à Engenharia Florestal

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

Introdução à Programação de Computadores

Para participar de um mapa colaborativo usando o Cmap Tools

MANUAL DE NAVEGAÇÃO DO MILLENNIUM BUSINESS

Introdução ao Processamento de Dados (IPD)

PLANILHA PARA GERENCIAR NOTAS DAS TURMAS

Programação científica C++

MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Estatística Básica. Introdução à Análise Exploratória de Dados. Renato Dourado Maia. Instituto de Ciências Agrárias

APOSTILA DE EXCEL 2007

Lógica de Programação

Cartilha para utilização do software GRAPHMATICA no ensino de Funções Polinomiais do 1º grau no 9º ano do Ensino Fundamental.

Tutorial de Matlab Francesco Franco

Informática I. Aula 6. Aula 6-12/09/2007 1

Informática. Aula 03 Sistema Operacional Linux. Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Campus Currais Novos

FundamentosemInformática

Microsoft Excel 2007

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.

Esta aplicação permite desempenhar tarefas relacionadas com o cálculo, análise e apresentação gráfica de dados, de uma forma rápida e eficaz.

Histórico. Software estatístico utilizado em mais de 80 países por pesquisadores, engenheiros, analistas empresariais, professores, estudantes.

INTRODUÇÃO À LINGUAGEM C/C++

ADMINISTRAÇÃO DE SISTEMAS OPERACIONAIS SERVIÇOS IMPRESSÃO. Professor Carlos Muniz

Instalação: permite baixar o pacote de instalação do agente de coleta do sistema.

Montar planilhas de uma forma organizada e clara.

Figura 1 - O computador

Tutorial: Programando no Linux

Planejando o aplicativo

Softwares de Sistemas e de Aplicação

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

AMBIENTE DE PROGRAMAÇÃO PYTHON

Fundamentos de Física e Matemática para Biologia-FFCLRP-USP Primeiro Semestre de 2007 Professor: Antônio C. Roque (DFM-FFCLRP-USP)

Informática no Ensino de Matemática Prof. José Carlos de Souza Junior

MANUAL PARA INCLUSÃO DIGITAL- ANDRAGOGIA

PROGRAMANDO EM C# ORIENTADO A OBJETOS

Capítulo 5. ARQUIVOS E FUNÇÕES MATEMÁTICAS INTRÍNSECAS

Laboratório de Redes. Professora Marcela Santos

Universidade Federal da Fronteira Sul Campus Chapecó Sistema Operacional

Associação Educacional Dom Bosco Curso de Engenharia 1º ano

LINX POSTOS AUTOSYSTEM

Informática no Ensino da Matemática

Instruções de uso do TABNET. Linha, Coluna e Conteúdo

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Disciplina: Organização de computadores

2. ENTRADA DE DADOS 2.1. TEXTOS

Disciplina: Programas de Edição de Textos Professora: Érica Barcelos

MANUAL DE FTP. Instalando, Configurando e Utilizando FTP

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 03. Prof. Gabriel Silva

Instalando e usando o Document Distributor 1

GUIA BÁSICO DA SALA VIRTUAL

Manual Integra S_Line

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

É o UniNorte facilitando a vida de nossos docentes e discentes.

INTRODUÇÃO: 1 - Conectando na sua conta

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

Transcrição:

1 AULA 1 - APRESENTAÇÃO DO PROGRAMA 1.1 Contextualização sobre linguagens de programação A linguagem binária é um tipo de codificação numérica utilizada em informática para compactar informações numéricas de sistemas de comunicação de dados. Ela permite a representação de números decimais de 0 a 9 em acordo com o Quadro 1 abaixo: Quadro 1: Equivalência das linguagens. Decimal CBD 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 Todo computador possui um conjunto de instruções que seu processador é capaz de executar. Essas instruções, ou menos formalmente conhecidas por linguagem da máquina, são representadas por códigos do sistema binário ou decimal. A primeira a ser utilizada foi a Assembly, que é uma notação legível para os humanos comandarem a linguagem da máquina. A linguagem de programação Fortran foi desenvolvida para compilar (=traduzir) a linguagem da máquina para os usuários do IBM 704 em 1954 (Backus 1, 1956). Essa linguagem foi precursora de programas de cálculo matemático e análise estatística. A otimização no processo de compilação foi um dos objetivos para o desenvolvimento da linguagem de programação C ++ que combina características de codificação de baixo

nível (p. ex. linguagem da máquina) e de alto nível (p. ex. interface humana). Desde 1983, quando foi criada no laboratório Bell por Stroustrup 2 (1994), essa linguagem vem sendo utilizada comercialmente e também no meio acadêmico. Em 1991 foi iniciado projeto para o desenvolvimento de uma linguagem de programação orientada a objetos. O objetivo do projeto foi desenvolver uma vanguarda no mundo digital para convergir a utilização de computadores com outros equipamentos (p. ex. telefone). Assim nasceu a linguagem Java, que em seu primeiro protótipo, criava uma interface gráfica touchscreen para controle remoto. A partir de seu lançamento (Arnold e Gosling 3, 1996) a linguagem foi adotada rapidamente na internet, em sistema operacional, no celular e outros, sendo, atualmente, uma referência no desenvolvimento de software. Outra linguagem de programação de alto nível é a Python (van Rossum e de Boer 4, 1991), que é, atualmente, desenvolvida e gerenciada de forma livre pela organização sem fins lucrativos Python Software Foundation (http://www.python.org/psf/). Essa linguagem combina uma sintaxe concisa e clara com os recursos poderosos de sua biblioteca padrão e por módulos desenvolvidos por usuários, os quais são estimulados pela filosofia de utilização de software livre. Também orientada a objetos é a linguagem S que é uma linguagem de programação estatística, desenvolvida no laboratório Bell (Becker e col. 5, 1988). As duas implementações modernas dessa linguagem são os programas de análise estatística S-PLUS, que é proprietário, e o R, livre. 1.2 O que é o R? R é um programa livre e um ambiente computacional de exploração de gráficos e análise de dados (Chambers 6, 2008). Ele é útil para qualquer pessoa que usa e interpreta dados, das seguintes maneiras: 2

Super-calculadora; Ambiente com diversos pacotes estatísticos; Ferramenta de gráficos de alta qualidade; Linguagem de programação multi-uso. O R é utilizado para explorar, analisar e compreender os dados epidemiológicos. Os dados podem ser importados de fontes como, por exemplo, o DATASUS 1 ou o IBGE 2 em planilhas de Excel. Para epidemiologistas que têm interesse em modelos estatísticos, há diversas funções como, por exemplo, regressão logística ou modelo de riscos proporcionais de Cox. Ele, também, pode automatizar tarefas repetitivas com a criação de funções. A curva de aprendizado inicial é íngreme, mas a longo prazo capacita os epidemiologistas a realizar análises de dados mais complexas, de maneira mais fácil (Aragón e Enanoria 7, 2009). O epidemiologista pode achar o R um desafio. O R foi criado por programadores e estatísticos e é mais frequentemente utilizado por analistas com conhecimento em álgebra matricial e programação. Porém, o epidemiologista pode aplicar conceitos epidemiológicos por meio de métodos descritivos, tabelas de contingência e modelos de regressão (Aragón e Enanoria 7, 2009). E é essa abordagem que será explorada nesta disciplina. Qualquer analista de dados que implementa métodos quantitativos precisa de uma ferramenta computacional. Em uma extremidade do espectro estão as calculadoras e planilhas de cálculos simples, e na outra estão os programas de computador especializados para a modelagem estatística e matemática. No entanto, muitos problemas numéricos não são facilmente resolvidos por essas abordagens. Calculadoras e planilhas de cálculo são muito ineficientes para cálculos numéricos complexos. Os pacotes estatísticos, que são adaptados para análise estatística de conjuntos de dados, não contêm uma lingua- 1 http://www2.datasus.gov.br/datasus/index.php 2 http://www.ibge.gov.br/home/ 3

gem de programação extensível e poderosa para lidar com novos problemas de forma eficiente. O R pode fazer o mais simples e as análises mais complexas. Sua linguagem de programação facilita o desenvolvimento de funções para ampliar e melhorar a eficiência de suas análises (Braun e Murdoch 8, 2007). O R está disponível para os sistemas operacionais Mac OS, Linux e Windows. Estão listados aqui links úteis: Página do Projeto está disponível em http://www.r-project.org/; Página de download está disponível em http://cran.r-project.org; Tutoriais estão disponíveis em http://cran.r-project.org/other-docs.html; Grupos de discussão são encontrados em http://wiki.r-project.org/rwiki/doku.php; Novidades são disponíveis em http://cran.r-project.org/doc/rnews/. Para instalar o R em Windows ou Mac OS, faça o seguinte: Ir para http://www.r-project.org/; A partir da lista do menu à esquerda, clique em CRAN (Servidor); Selecione um servidor próximo (por exemplo, University of Sao Paulo, Sao Paulo); Selecione o sistema operacional apropriado; Selecione no link base"; Salvar R-X.XX-win32.exe (Windows) ou R-X.X.X-mini.dmg (Mac OS) para o seu computador; Execute o programa de instalação e selecione arquivos de ajuda em *.pdf. 4

1.3 Vantagens e desvantagens em utilizar o programa R A linguagem de programação orientada a objeto R se tornou padrão no desenvolvimento de ferramentas estatísticas e análise de dados. O código fonte e a versão compilada tem distribuição gratuita pela internet (http://www.r-project.org/). Há uma ampla variedade de técnicas estatísticas e gráficas, incluindo a modelagem linear e não linear, testes estatísticos clássicos, análise de séries temporais, análise multivariada,.... Para tarefas de computação intensiva, usuários avançados podem programar em C ++ e Fortran para manipular objetos do R. Esse programa é altamente extensível por meio da utilização de pacotes adicionais para executar funções de áreas específicas do conhecimento. Outro ponto forte são os gráficos que podem ser produzidos com qualidade de publicação, incluindo símbolos matemáticos. Por um outro lado, o R usa uma interface de linha de comando que é obviamente desconfortável para o usuário leigo em linguagem de programação. Além disso, a curva no ínicio do aprendizado é de menor velocidade de acúmulo de conhecimento em função do tempo em comparação com outros programas de análise de dados (p. ex. SPSS). Após determinado tempo de estudo, entretanto, o usuário percebe que a curva de aprendizado no R não tem limite (Figura 1, Figura 2). 5

Figura 1: Curva de acúmulo de conhecimento no SPSS. curva de aprendizagem no SPSS Aprendizagem 0.0 0.5 1.0 1.5 0 2 4 6 8 tempo Figura 2: Curva de acúmulo de conhecimento no R. curva de aprendizagem no R Aprendizagem 0 20 40 60 80 100 120 0 2 4 6 8 tempo 6

1.4 Noções de programação em R Os comandos (scripts em linguagem R) devem ser explicitados na linha de comando (console) ou por meio de um editor de texto (a ser comentado depois). Veja os exemplos de operações matemáticas (Quadro 2): Quadro 2: R como super-calculadora. Operador Descrição Exemplos + adição 5+4 - subtração 5-4 * multiplicação 5*4 / divisão 5/4 exponenciação 5 4 abs valor absoluto abs(-5) exp exponenciação (na base e) exp(5) log logaritmo (default é log natural) log(exp(5)) sqrt raiz quadrada sqrt(64) rnorm sorteia 100.000 valores de uma Normal rnorm(100000) Os exemplos no Quadro 2 permitem o reconhecimento do R como uma supercalculadora. Por exemplo, o comando rnorm(100000) sorteia 100.000 valores de uma distribuição de densidade probabilística Normal em menos de 5 segundos. Agora é necessário adquirir algumas noções de lógica de programação para conseguir utilizar o programa. Enquanto número é reconhecido diretamente pelo programa (Quadro 2), texto precisa estar entre aspas. Assim, podemos escrever na linha de comando Oi, meu nome é John Snow! que esse será reconhecido como texto. É necessário saber quando se utiliza parênteses (). No exemplo do comando rnorm(100000) precisa entender que 100000 é um argumento da função rnorm() e é obrigatoriamente escrito entre parênteses. É possível atribuir o resultado de rnorm(100000) para um objeto, por exemplo, objeto de nome exemplo1 ou qualquer outro nome: > exemplo1 <- rnorm(100000) 7

> exemplo1 [1] -1.451685e-01-1.049494e+00-2.264432e-01-2.905454e-01 9.914651e-01... A partir desse exemplo, deve-se conhecer o conceito central da lógica de programação: o conceito de vetor. Vetor é um conjunto de elementos similares sem dimensões. Os elementos do vetor são todos da mesmas classe (categórica ou numérica). É necessário utilizar a função c() para criar o vetor e aplicar o operador <- para atribuir o resultado do vetor a um objeto: 1 - Vetor categórico, >nome <- c( Pedro, Paulo, Maria ) >nome [1] Pedro Paulo Maria 2 - Vetor numérico, >idade <- c(18, 31, 45) >idade [1] 18 31 45 O conceito de vetor pode ser expandido para bases de dados utilizadas em epidemiologia. Epidemiologistas estão familiarizados com dados apresentados em planilhas em que cada linha é um registro e cada coluna é uma variável. No R, essas planilhas são chamadas de data frames. Um registro pode ser dados recolhidos sobre os indivíduos ou grupos. Cada coluna de um data frame é ou um vetor numérico ou um vetor categórico. 8

Pode-se criar uma base de dados a partir de vetores. Por exemplo, criam-se vetores de nome n.ind, idade, sexo e caso para construir uma base de dados com utilização em epidemiologia: 1 - Indivíduos, >n.ind <- c(1, 2, 3, 4, 5, 6) 2 - Variáveis, >idade <- c(34, 56, 45, 23, 18, 31) >sexo <- c( Homem, Mulher, Homem, Mulher, Homem, Mulher ) >caso <- c( Sim, Não, Não, Sim, Sim, Não ) 3 - Base de dados, >meus.dados <- data.frame(n.ind, idade, sexo, caso) >meus.dados n.ind idade sexo caso 1 34 Homem Sim 2 56 Mulher Não 3 45 Homem Não 4 23 Mulher Sim 5 18 Mulher Sim 6 31 Mulher Sim Pode-se utilizar essa base de dados para fazer a estatística descritiva, por exemplo, calculando a proporção de casos, a média de idade e a razão entre os sexos. Portanto, o próximo tema a ser explorado é a análise exploratória de dados e, também, a produção e visualização de gráficos. 9

1.5 Exercícios da Aula 1 1 Crie uma pasta de trabalho no seu computador de nome HEP5801 ou, simplesmente, disciplina R. Abra o R e mude o diretório de trabalho para essa pasta (Figura 3). Figura 3: Diretório de trabalho no R. Organize a sua sessão de trabalho. O console com a linha de comando deve ficar em cima e o editor de texto com os scripts a serem digitados durante o exercício, embaixo (Figura 4). Figura 4: Sessão de trabalho no R. Os scripts no editor de texto devem ser rodados apertando as teclas Ctrl+R. 10

2 A passagem para a distribuição normal padronizada depende da seguinte transformação linear z = x m s em que z pode ser interpretado como quantos desvios padrão o valor de x está afastado da média m. Assim, a variável aleatória Z terá distribuição normal com média igual a zero e desvio padrão igual à unidade (Berquó e col 9, 1981), ou seja, Z N(0; 1) Calcule o valor específico de z para o valor amostral igual a 170, sendo que X é uma variável aleatória de distribuição aproximadamente normal X N(175; 6, 25) 3 É possível sortear infinitos valores de z para a equação matemática da distribuição normal padronizada (Berquó e col 9, 1981) f(z) = 1 2π e z2 2 A função rnorm() no R sorteia número determinado de valores z de uma distribuição normal de média m e desvio padrão s, retornando os valores da função f(z). Sorteie 20 valores de y, gerando observações aleatórias da função f(y) da seguinte distribuição normal Y N(175; 6, 25) Dica: rode o comando args(rnorm) para conhecer os argumentos de rnorm(). 11

4 A distribuição de valores aleatórios da função f(y) do exercício anterior pode ser visualizada por meio de um gráfico de histograma. Embora a visualização por gráficos seja o tema da próxima aula, o emprego de hist() para fazer esse histograma é pertinente aqui. Faça o histograma. Considerando que os valores aleatórios de f(y) foram gerados a partir de uma distribuição normal, o resultado obtido com o histograma é, na sua opinião, o esperado? Discuta. 5 A base de dados meus.dados dada em sala de aula é um exemplo de tabulação de dados. Elabore essa base de dados com os seguintes pacientes 1, idade = 34 anos, sexo = homem, caso = sim 2, idade = 56 anos, sexo = mulher, caso = não 3, idade = 45 anos, sexo = homem, caso = não 4, idade = 23 anos, sexo = mulher, caso = sim 5, idade = 18 anos, sexo = homem, caso = sim 6, idade = 31 anos, sexo = mulher, caso = não Calcule a média de idade dos casos = sim e dos casos = não. Essas médias são diferentes? Discuta. 6 As funções no R podem ser implementadas em acordo com a necessidade do analista de dados. Por exemplo, considere que os valores de z da distribuição normal X N(175; 6, 25) são conhecidos para qualquer valor específico de x. Implemente uma função no R para calcular o valor de z para x = 170. 12

Referências [1] Backus JW, Beeber RJ, Best S, Goldberg R, Herrick HE, e col. The Fortran automatic coding system for the IBM 704 EDPM: manual técnico. New York; 1956. [2] Stroustrup B. The Design and Evolution of C++. Reading: Addison-Wesley; 1994. [3] Arnold K, Gosling J. The Java programming language. Reading: Addison-Wesley; 1996. [4] van Rossum G, de Boer J. Interactively testing remote servers using the Python programming language. CWI Quarterly. 1991;4:283-303. [5] Becker RA, Chambers JM, Wilks AR. The new S language. Pacific Grove: Wadsworth & Brooks; 1988. [6] Chambers JM. Software for data analysis: Programming with R. Nova York: Springer Science+Business Media; 2008. [7] Aragón TJ, Enanoria WT. Applied Epidemiology Using R [livro na internet]. Berkeley; 2009 [acesso em outubro 2010]. Disponível em: http://www.medepi.com/docs/epir.pdf. [8] Braun WJ, Murdoch DJ. A First Course in Statistical Programming with R. New York: Cambridge University Press; 2007. [9] Berquó ES, Souza JMP, Gotlieb SLD. Bioestatística. São Paulo: Editora da Universidade de São Paulo; 1981. 13