Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação Estatística Material Teórico Responsável pelo Conteúdo: Prof. Ma. Jessica Barbara da silva Ribas Revisão Textual: Prof.ª Me. Natalia Conti Conceitos Gerais • Linguagem R; • Instalação e Configuração R; • Conceitos Básicos. • Conceitos básicos sobre como trabalhar com a linguagem R. OBJETIVO DE APRENDIZADO Conceitos Gerais Orientações de estudo Para que o conteúdo desta Disciplina seja bem aproveitado e haja maior aplicabilidade na sua formação acadêmica e atuação profissional, siga algumas recomendações básicas: Assim: Organize seus estudos de maneira que passem a fazer parte da sua rotina. Por exemplo, você poderá determinar um dia e horário fixos como seu “momento do estudo”; Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma alimentação saudável pode proporcionar melhor aproveitamento do estudo; No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você tam- bém encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão sua interpretação e auxiliarão no pleno entendimento dos temas abordados; Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus- são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e de aprendizagem. Organize seus estudos de maneira que passem a fazer parte Mantenha o foco! Evite se distrair com as redes sociais. Mantenha o foco! Evite se distrair com as redes sociais. Determine um horário fixo para estudar. Aproveite as indicações de Material Complementar. Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma Não se esqueça de se alimentar e de se manter hidratado. Aproveite as Conserve seu material e local de estudos sempre organizados. Procure manter contato com seus colegas e tutores para trocar ideias! Isso amplia a aprendizagem. Seja original! Nunca plagie trabalhos. UNIDADE Conceitos Gerais Linguagem R O R Project (2019) define R como “uma linguagem e ambiente para computa- ção estatística e gráficos”, ou seja, com o R você será capaz de realizar estatística clássica e moderna, e visualizar seus dados em um ambiente desenvolvido com essa finalidade. Então você deve estar se perguntando: “Por que aprender uma linguagem de programação estatística?” A resposta vem da necessidade de processar dados e extrair informações relevantes. Atualmente, tal trabalho não anda sendo fácil, isso ocorre devido à quantidade de dados que geramos todos os dias. Nós geramos da- dos quando realizamos consultas na internet, acessamos mídias sociais, recebemos e lemos e-mails. Já ouviu falar que os dados são o novo petróleo? Isso porque existem empre- sas especializadas em aquisição e venda de dados. Porém, é comum a extração deles diretamente das fontes, por exemplo a utilização de twites ou dados do governo para realizar análises. Mas o que esse papo de dados tem a ver com a linguagem estatística? Nos últimos anos a linguagem R se tornou importante, pois com ela é possí- vel manipular, processar e visualizar grandes volumes de dados. Passando a ser utilizada não somente por estatísticos, mas por pesquisadores de áreas distintas e também por profissionais de computação e áreas correlatas. Quando se trata da área de ciência de dados as linguagens de programação referência são R e Python. Segundo o ranking IEEE Spectrum do ano de 2018, ambas as linguagens de programação estão entre as 10 primeiras mais utilizadas, conforme ilustrado na Figura 1. A linguagem Python é a primeira colocada do ranking, contudo vale ressaltar que Python é uma linguagem para desenvolver aplicações em diversas plataformas, tais como: web, empresariais e embarcados. Já a linguagem R, apesar de estar na 7 colocação, é uma linguagem de programação dedicada exclusivamente à estatista e mineração de dados, mostrando assim sua importância e relevância para estudo. 8 9 Fi gura 1 – Ranking de linguagens de programação mais utilizadas em 2018 - IEEE Spectrum Fonte: Adaptado de spectrum.ieee.org A linguagem R tem a licença GNU (General Public License – Licença Publica Geral), ou seja, você poderá executar, estudar, redistribuir e aperfeiçoar qualquer programa escrito em R. Não será necessário pagar para utilizar um compilador ou ambiente de desenvolvimento. Outro fato interessante é que as pessoas que utilizam a linguagem R procedem de diversas áreas do saber, sendo assim o acesso a apostilas, tutoriais, fóruns, do- cumentação, poderá ser disponibilizado utilizando exemplos em diversos contextos, logo não tenha preconceito. Caso você já saiba programar em alguma linguagem de programação, você pode estranhar algumas das terminologias e regras da linguagem no começo. Pen- sar: “Mas não vejo logica alguma”. Então, por favor, esteja com a mente aberta para vivenciar essa experiencia de aprendizado. Importante! O R possui um mecanismo de busca próprio chamado RSeek, no qual é possível pesquisar além da documentação, outras dúvidas relacionadas a linguagem. Acesse: http://bit.ly/325qfdK Você Sabia? 9 UNIDADE Conceitos Gerais Uma Breve História O R foi desenvolvido em 1993 por Ross Ihaka e Robert Gentleman no depar- tamento de estatística da universidade de Auckland, Nova Zelândia. Seu objetivo era suprir a necessidade de uma ferramenta estatística mais flexível, programável e acessível, pois a maioria das ferramentas estatísticas possuem um alto custo de aquisição devido à licença. O projeto R foi baseado na linguagem de programação S, desenvolvida nos laboratórios Bell da AT&T, por John Chambers e seus colegas. O R pode ser consi- derado uma implementação da linguagem S, pois o código fonte em S executa em R, contudo o contrário não se faz verdade (THE R PROJECT, 2019). Outro fato importante que diferencia as duas linguagens é que a linguagem S é utilizada somente em pesquisas estatísticas. Já a linguagem R fornece todo o supor- te ao manusear, processar e visualizar os dados. Tal façanha ocorre devido a sua comunidade Open Source ser bem ativa (THE R PROJECT, 2019). Importante! O nome da linguagem R provem das iniciais dos criadores e de um jogo de palavras com a linguagem S. Fonte: http://bit.ly/322prpY Você Sabia? Instalação e Configuração R A instalação do R é simples, basta ir no site do CRAN <cran.r-project.org>, este é o repositório oficial do R Project, no qual estão disponíveis além das versões do R para os sistemas operacionais Windows, Linux e (Mac) OS X, todos os pacotes e documentação oficial da linguagem R. Após a instalação do R, você verá que foi instalado duas versões do programa, uma 32 e outra 64 bits. Não se preocupe não ocorrerá nenhum problema em seu computador relacionados a conflitos de versão. O R vai disponibilizar um atalho na sua área de trabalho para o RGui, um am- biente de trabalho para escrever scripts em R e executar programas em R, simples, conforme mostrado na Figura 2. 10 11 Fig ura 2 – Ambiente RGui instalado junto com o R Apesar do R ter disponibilizado o RGUI, iremos utilizar o ambiente de desen- volvimento RStudio disponível no site: http://bit.ly/32djCGm. Baixe e instale a versão gratuita que irá facilitar todo o trabalho de desenvolvimento em R. Abra o RStudio na opção de menu “Tools / Global Options”, na aba “R General”, verifique se o campo “R Version” está vazio, caso esteja, clique no botão “Change”, selecione a opção “Use your Machine’s default version of R” e deixe a opção de “Rendering Engine” como “Auto-detect (recomended)”. Pois assim sempre que atualizarmos a versão do R, o Rstudio encontrará e usará a nova. Vale ressaltar que se houver algum erro na instalação do R não irá aparecer a lista de opções para selecionar no RStudio.Como Instalar o R e o RStudio: https://youtu.be/8LnZNC4hxdQ Ex pl or RStudio Segundo Oliveira (2018), o R puro é como um prompt de comando (tela preta), então apresenta dificuldade para quem está iniciando a aprendizagem do R, por esse motivo indica-se a utilização do ambiente de desenvolvimento RStudio, repre- sentado na Figura 3. 11 UNIDADE Conceitos Gerais Figura 3 – RStudio Fonte: Acervo do conteudista Como mostrado na Figura 3 abaixo da Barra de menu o RStudio é dividido em quatro quadrantes principais, conforme o agrupamento de tarefas a serem realiza- das pelo usuário que utilizará o ambiente. O primeiro quadrante pode ser chamado de “Editor de código” e é onde iremos escrever e salvar os programas em R. O segundo quadrante é chamado de modo de depuração, porque podemos ve- rificar o que está acontecendo durante a execução de determinados comandos. Por padrão tem as abas “Console”, “Terminal” e “Jobs”, explicadas logo abaixo: • No “Console” aparece o resultado dos comandos executados pelo editor de código, mas também é possível digitar comandos diretamente no “Console”, porém você não vai conseguir salvá-los; • O “Terminal” permite a realização de alguns comandos no sistema operacio- nal, como por exemplo criar, apagar e navegar entre os diretórios; • Em “Jobs” é possível configurar tarefas de execução para arquivos R. O terceiro quadrante é chamado de suporte R, por padrão possui as abas “Environment”, “History” e “Connections”. • Em “Enviroment” temos todas as variáveis criadas na sessão R, nesse caso uma sessão é o espaço de tempo entre a inicialização e o fechamento do R, sendo que durante esse período tudo que foi colocado na memória RAM e Processado do computador é disponibilizado para consulta, podendo ser salvo em arquivo; • A aba “History” mostra uma lista de todos os comandos R realizados; • A aba “Connections” auxilia na criação de conexões com banco de dados via ODBC (Open Database Connectivity) e/ou Apache Spark. 12 13 O quarto e último quadrante está relacionado com a visualização de dados e infor- mações, por padrão contém as abas: “Files”, “Plots”, “Packages”, “Help” e “Viewer”. • “Files” apresentará todo o conteúdo do diretório de trabalho, caso não tenha indicado um, por padrão será o Home do usuário (no Linux) e Documentos (no Windows). • Em “Plots” será apresentado os gráficos desenvolvidos pelo usuário. • “Packages” apresenta a lista de pacotes instalados no seu computador, também é possível realizar a busca, atualização e instalação de pacotes por essa aba. • A aba “Help” apresenta a documentação do R, basta realizar uma consulta sobre algum termo, por exemplo escreva palavra “numeric” na barra de busca e aparecerá tudo o que for referente ao termo, neste caso sobre vetores numé- ricos e como converter. • A aba “Viewer” mostra conteúdo em HTML, como por exemplo visualizações interativas utilizando o “Shiny”. RStudio IDE Folha de referência: http://bit.ly/2NpClef Ex pl or Conceitos Básicos Por ser uma linguagem estatística, podemos dizer que o R pode realizar diversos tipos de cálculos científicos, para tanto basta escrever os comandos. Primeiro va- mos testar alguns comandos no console. Posicione o cursor na frente do sinal “>” digite 6+4 e aperte a tecla “Enter”, note que a resposta apresentada será “[1] 10”. Agora, digite a expressão (3-4)+6+4*2 a resposta é “[1] 13”, obedecendo as regras de precedência matemática. Quando desejar limpar o console clique nele e aperte as teclas “Ctrl+L”. O R foi desenvolvido para facilitar a realização de diversos tipos de cálculos, por isso possui uma extensa lista símbolos e notações matemáticas disponíveis, de- pendo da necessidade do programador, por isso a Tabela 1 apresenta as notações matemáticas mais utilizadas. Tabela 1 – Notação matemática básica em R x +y Soma x ^ y Potenciação x – y Subtração sqrt(x) Raiz quadrada de x x \ y Divisão x %% y Resto da divisão x * y Multiplicação 13 UNIDADE Conceitos Gerais Antes de seguir adiante, realize testes no console com os opera- dores matemáticos apresentados, substitua as variáveis por números diversos, monte suas equações e compare os resultados. Ainda no console, podemos descobrir um pouco sobre o R utilizando os comandos: • contributors(): abre uma página contendo informações sobre a história da Linguagem R e as pessoas envolvidas no desenvolvimento da linguagem ao longo dos anos; • license(): mostra informações sobre as licenças vigentes na linguagem, sendo ela GNU (General Public License) versão 2 e 3; • help(): irá abrir a aba “Help” do quarto quadrante para realizar buscas da do- cumentação R, podemos já realizar a chamada do help contendo o termo de busca. No console digite o comando “help(“numeric”)”, veja que a aba help foi ativada contendo uma página explicativa sobre o termo “numeric”; • Demo(): Realiza demonstrações de comandos e funcionalidades R, digite no console o comando “demo(graphics)”, aperte a tecla “Enter” para mudar os gráficos apresentados na aba “Plot” até que o console volte a apresentar o status inicial ou em espera de comando, também conhecido como “>”. Caso queira ver outras opções de demonstrações, digite no console o comando “demo()”, irá apresentar um arquivo contendo a explicação do comando; • q(): comando para fechar todo o ambiente R em modo texto. Antes de reali- zar a ação apresentará uma pergunta de confirmação para realizar a ação de fechar o ambiente; • citation(): este comando pode ser utilizado quando utiliza-se R ou algum pacote e precisa-se colocar a citação e referências no texto. O R faz isso para você, coloque citation(“Nome do Pacote”), somente citation() aparecerá as opções de referências disponíveis para a Linguagem R e uma explicação sobre o comando. R script Como dito anteriormente, toda codificação realizada no console não pode ser salva, para tanto nós precisamos criar arquivos R, os chamados R scripts. Navegue entre os menus “File / New File / R script” ou aperte as teclas “Ctrl+Shift+N”, será criado um arquivo em branco. No arquivo em branco escreva algumas expressões numéricas, pode ser utiliza- da as mesmas do exemplo anterior, conforme mostrado na Figura 2. Após digitar 14 15 as equações aperte botão “Run” ou as teclas de atalho “Ctrl+Enter”. Note que irá executar somente a linha onde cursor estiver parado. Essa é uma particularidade do “Run”, executa uma linha por vez. Então, você deve estar pensando: “Vou ter que selecionar tudo e mandar execu- tar?”. Isso também pode ser feito, mas caso queira executar todo o script o ideal é clicar em “Source” ou as teclas de atalho “Ctrl+Shift+enter”. F igura 4 – Resultado execução R script pelo “Run” e “Source” Fonte: Acervo do conteudista Na Figura 4, veja n console que após a execução do script utilizando “Run”, as expressões matemáticas ficaram azul e seus resultados foram apresentados logo abaixo, exatamente igual a quando escrevemos diretamente no console. Mas, quan- do executamos o script pelo comando “Source”, as entradas das expressões ma- temáticas não ficaram azul, como quando nós digitamos diretamente no console, isso porque foi realizado a execução do script utilizando o comando “source(‘~/. active-rstudio-document’, echo=TRUE)”. Para salvar um script R clique “Save current” ou a tecla “Ctrl+S”. Por boas práticas de programação da comunidade R sugere-se a utilização de um nome ex- plicativo para o arquivo, não utilize caracteres especiais, espaços em branco. Um exemplo bom exemplo de nome seria “Meu_Primeiro_Programa.R” ou “Aula1.R”. 15 UNIDADE Conceitos Gerais Comentário Quando escrevemos um programa, independente da linguagem escolhida, é muito comum colocarmos explicações em algumas partes do código fonte, para explicar quando e porque determinada função/método é utilizado. Nesses casos fazemos comentários no código, ou seja, tudo que for identificado como comentário no código fonte será ignorado pelo compilador/interpretador.No R o símbolo para indicar comentário é #, todo conteúdo que vier a partir deste símbolo ficará em verde e será ignorado. Comandos Agora que você já sabe criar e executar R scripts, lembre-se que de agora em diante sempre utilizará o editor de código e salvará seus scripts. Pois tudo que é feito no console não poderá ser salvo e reutilizado. Para treino, escolha um ou mais dos comandos apresentado anteriormente, escreva e execute no seu Script. No R temos que tomar cuidado com alguns detalhes quando se trata de coman- dos, pois alguns deles são palavras reservadas como if, else, do, while, for, etc, e eles possuem uma cor diferente. Contudo, R é uma linguagem de programação funcional, então alguns coman- dos base na realidade são funções e estas podem não ficar azul, como a função para raiz quadrada sqrt(). Note que toda função terá um nome e será precedida por (). Logo, os comandos: contributors(), license(), help() e Demo() são funções. Quan- do colocamos o valor “graphics” entre os parênteses da função demo, estamos passando um parâmetro para a função poder “trabalhar”. Programação Funcional // Dicionário do Programador: https://youtu.be/BxbHGPivjdc Ex pl or Pacotes Alguns comandos ou funções são instalados por padrão, tais funções são cha- madas de R base. Por mais que o R base tenha uma grande lista de funções, às vezes o que precisamos para resolver determinado problema não está na base. Quando isso ocorrer, uma ideia é ir pesquisar se existe algum pacote que atenda minha necessidade. Os pacotes são conjuntos de funções extras que podem ser instalados além do R base, existem pacotes para auxiliar diversas linhas de pesqui- sa, como por exemplo: estatística, econometria, aprendizado de máqui- na, big data, gráficos etc. (DA SILVA, PERES e BOSCARIOLI, 2017; OLIVEIRA, 2018) 16 17 Todo pacote R disponibilizado pelo CRAN, passou por uma rígida bateria de testes e validações por toda comunidade antes de ser disponibilizado oficial no repositório. Por esse motivo, a utilização de pacotes é altamente indicada no desen- volvimento dos R scripts. Pode-se instalar os pacotes via interface gráfica do RStudio, pelo menu “Tools / Install Packages” ou na aba “Packages”, de ambas as formas irá aparecer uma janela na qual você digita o nome do pacote a ser instalado. Essa janela ajuda muito quando não temos certeza de como se chama o pacote, pois ao digitar parte do nome irá mostrar uma lista de nomes, conforme ilustrado na Figura 5. Fi gura 5 – Instalação de pacotes via interface gráfi ca Fonte: Acervo do conteudista Por boas práticas, indico sempre que utilizar um pacote em seus scripts, deixe no início dele o comando “install.packages(“Nome do pacote”)”, pois se outra pessoa ou até mesmo você for executar seus scripts em outro computador o pacote neces- sário será instalado sem nenhum problema. Se ocorrer erro dizendo que o pacote já está instalado, pode comentar os comandos de instalações de pacotes. Após as linhas de instalação dos pacotes, recomendo sempre a utilização do co- mando “library(“Nome do Pacote”)”, pois é assim que indicamos que vamos utilizar determinado pacote da biblioteca. Então, após fazer o cabeçalho do script contendo instalação e utilização dos pacotes, pode-se escrever seu programa normalmente. Vamos instalar o pacote mais utilizado para a geração de gráficos em R, o “ggplot2”. Você pode instalar tanto da maneira gráfica, como via linha de comando, mas não esqueça que sempre que for utilizar esse comando coloque comando de instalação. 17 UNIDADE Conceitos Gerais Figura 6 – Instalação pacote ggplot2 Fonte: Acervo do conteudista No seu console irá aparecer algumas frases em vermelho, conforme exemplifi- cado na Figura 6. Isso não são mensagens de erro, são alertas de dependência de pacotes. Ou seja, são os pacotes que precisam ser instalados antes ou juntos ao “ggplot2”, para que ele funcione corretamente. É muito comum determinados conjuntos de funções utilizarem funções já es- critas e disponibilizadas em outros pacotes. Por isso, sempre que for instalar um pacote, pela primeira vez e estiver em modo gráfico, selecione a opção “Install dependencies”, pois em alguns casos a instalação do pacote pode ser abortada e apresentará um erro de dependência do “Nome(s) do(s) pacote(s)”. Para saber quais pacotes estão disponíveis para utilizar em determinada área ou resolução de problemas: se souber o nome do pacote faça uma busca no RSeek (ou Google) pelo nome do pacote e abra o link do CRAN, pois é a documentação oficial, como exemplificado na Figura 7. Figura 7 – Pesquisa pelo nome do pacote no RSeek Fonte: rseek.org 18 19 Porém, há casos em que há um problema específico, por exemplo criar uma ligação de um script R com uma Base de Dados. Pode-se ir diretamente ao CRAN, clique no link “Packages” e depois clique em “CRAN Task Views”, nessa opção irá aparecer uma lista de tópicos por área do saber, como mostra a Figura 8. No nosso exemplo vamos clicar em “Databases” e depois selecionar o Sistema Gerenciador de banco de dados ou tecnologia desejada. Como a documentação oficial do R é disponibilizada em inglês, pode dificultar a aprendizagem para algumas pessoas. Contudo, não desista de aprender, pois hoje existe uma boa quantidade de conteúdos sobre R disponíveis em português, seja em livros, sites, blogues, vídeos e fóruns. Contudo, sempre que aparecer uma dúvida ou perceber que aquela dica não está funcionando, não custa dar uma olhada no Help do R ou no CRAN. Figur a 8 – Lista tarefas comuns de serem resolvidos com R, organizados por tópico Fonte: cran.r-project.org Boas Práticas Em qualquer outra linguagem de programação Open Source é comum o com- partilhamento de código fonte, com o R não é diferente. Para que o compartilha- mento de scripts e a adoção de funções e pacotes ocorram de maneira natural, existe um conjunto de regras a serem seguidas. Algumas delas já citadas anteriormente e outras novas: • Nome do script: não utilizar caracteres especiais e espaço, colocar um nome explicativo; • Ao utilizar pacotes, colocar no cabeçalho do script o comando de instalação antes de fazer uso deles. Evitar indicar a utilização de pacotes no meio do código fonte; • Codificar no arquivo *.R; • Nomes de variáveis e funções relacionados a sua funcionalidade no programa: evite usar nomes fora de contexto como t, x, p, la, pa. Bons exemplos de nomes: » Variáveis: salario.Minimo, salarioBase; » Funções: SalarioLiquido e SalarioBruto; 19 UNIDADE Conceitos Gerais Note que o nome das variáveis começa com letras minúsculas, enquanto as funções começam com letras maiúsculas. Quando lemos os nomes de ambas já sabemos o que esperar tanto do cálculo quanto do valor a estar ali. • Fazer identificação no código fonte, pois assim ficará organizado. Facilitando para a pessoa que não escreveu o script saber quais linhas estão dentro de determinada função/método ou estrutura de controle; • Colocar comentários explicando o objetivo de determinada função ou trecho de código, para facilitar futuras alterações nó código; • Evite colocar mais de 80 caracteres em uma linha; • Espaço entre todos os operadores binários, exemplo: if, =, +, etc. As regras citadas anteriormente são um resumo das normas indicadas pelo Google’s R Style Guide e Advanced R Style guide, para auxiliar e indicar a padro- nização dos scripts R. Importante! A organização do código fonte é uma boa prática de programação independente da lin- guagem. Para saber mais leia: http://bit.ly/2Nmmehv Você Sabia? 20 21 Material Complementar Indicações para saber mais sobre os assuntos abordados nesta Unidade: Sites Wiki R http://bit.ly/2Nsuexy Leitura O Que é, Onde Aplicar e quais as Vantagens da Linguagem R http://bit.ly/2Nq8vGI Uma Breve Introdução ao R http://bit.ly/2Nq8K4A Eco R – using R. Apostila online http://bit.ly/2NsuWuI 21 UNIDADE Conceitos Gerais Referências DA SILVA, L. A.; PERES, S. M.; BOSCARIOLI, C. Introduçãoà mineração de dados: com aplicações em R. Elsevier Brasil, 2017. OLIVEIRA, P. F. de; GUERRA, S.; MCDONNEL, R. Ciência de Dados com R – Introdução. Brasília: Editora IBPAD, 2018. Disponível em: <https://www.ibpad. com.br/o-que-fazemos/publicacoes/introducao-ciencia-de-dados-com-r/>. Sites visitados CRAN, The Comprehensive R Archive Network. Site: <https://cran.r-project.org>. Acessado em: 05/2019. GOOGLER, Google’s R Style Guide. Site: <https://google.github.io/styleguide/ Rguide.xml#todo>. Acessado em: 05/2019. RSTUDIO. R Studio, site: <https://www.rstudio.com>. Acessado em: 05/2019. The R Project. What is R?. Site: <https://www.r-project.org/about.html>. Acessa- do em: 05/2019. WICKHAM, H. R for Data Science. O’Reilly, 2017. Disponível em: <https://r4ds. had.co.nz>. ______. Advanced R Syle Guide. Site: <http://adv-r.had.co.nz/Style.html>. Aces- sado em: 05/2019 22
Compartilhar