análise e exploração de dados com r.pdf 1 17/02/17 14:22 · ferramentas que permitem o...

26

Upload: vuongnhan

Post on 09-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

C

M

Y

CM

MY

CY

CMY

K

Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22

Page 2: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

Todos os nossos livros passam por um rigoroso controlo de qualidade, no entanto aconselhamos a consulta periódica do nosso site (www.fca.pt) para fazer o download de eventuais correções.

Não nos responsabilizamos por desatualizações das hiperligações presentes nesta obra, que foram verificadas à data de publicação da mesma.

Os nomes comerciais referenciados neste livro têm patente registada.

Reservados todos os direitos. Esta publicação não pode ser reproduzida, nem transmitida, no todo ou em parte, por qualquer processo eletrónico, mecânico, fotocópia, digitalização, gravação, sistema de armazenamento e disponibilização de informação, sítio Web, blogue ou outros, sem prévia autorização escrita da Editora, exceto o permitido pelo CDADC, em termos de cópia privada pela AGECOP – – Associação para a Gestão da Cópia Privada, através do pagamento das respetivas taxas.

Edição FCA – Editora de Informática, Lda.Av. Praia da Vitória, 14 A – 1000-247 Lisboa Tel: +351 213 511 448 [email protected]

distribuição

Lidel – Edições Técnicas, Lda.Rua D. Estefânia, 183, R/C Dto. – 1049-057 LisboaTel: +351 213 511 448 [email protected]

Livraria

Av. Praia da Vitória, 14 A – 1000-247 Lisboa Tel: +351 213 511 448 * Fax: +351 213 522 [email protected]

Copyright © 2017, FCA – Editora de Informática, Lda. ISBN edição impressa: 978-972-722-863-81.ª edição impressa: março 2017

Paginação: Carlos MendesImpressão e acabamento: Tipografia Lousanense, Lda. – LousãDepósito Legal n.º 422203/17Capa: José M. Ferrão – Look-Ahead

Marcas registadas de FCA – Editora de Informática, Lda. –

EDIÇÃO FCA – Editora de Informática, Lda. Av. Praia da Vitória, 14 A – 1000-247 Lisboa Tel: +351 213 511 448 [email protected] www.fca.pt DISTRIBUIÇÃO Lidel – Edições Técnicas, Lda. Rua D. Estefânia, 183, R/C Dto. – 1049-057 LISBOA Tel: +351 213 511 448 [email protected] www.lidel.pt LIVRARIA Av. Praia da Vitória, 14 – 1000-247 LISBOA Tel: +351 213 511 448 * Fax: +351 213 173 259 [email protected] Copyright © abril 2016, FCA – Editora de Informática, Lda. ISBN: 978-972-722-830-0 1.ª edição impressa: abril 2016 Paginação: Alice Simões Impressão e acabamento: A definir Depósito Legal N.º Aguardar Capa: José Manuel Reis Ilustração da capa: Miguel Montenegro

Marcas Registadas de FCA – Editora de Informática,

Todos os nossos livros passam por um rigoroso controlo de qualidade, no entanto, aconselhamos a consultaperiódica do nosso site (www.fca.pt) para fazer o download de eventuais correções. Não nos responsabilizamos por desatualizações das hiperligações presentes nesta obra, que foram verificadasà data de publicação da mesma. Os nomes comerciais referenciados neste livro têm patente registada.

Reservados todos os direitos. Esta publicação não pode ser reproduzida, nem transmitida, no todo ou em parte, por qualquer processo eletrónico, mecânico, fotocópia, digitalização, gravação, sistema de armazenamento e disponibilização de informação, sítio Web, blogue ou outros, sem prévia autorização escrita da Editora, exceto o permitido pelo CDADC, em termos de cópia privada pela AGECOP – Associação para a Gestão da Cópia Privada, através do pagamento das respetivas taxas.

 

FCA®©

FC

A

Page 3: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

ÍNDICE

Os Autores XI

Prólogo XIII

PARTE I – O Sistema R 1

1. Introdução ao Sistema R 3

1.1. O que é o R? 4

1.2. Instalar o R 4

1.3. Edição de Comandos e Ambientes de Desenvolvimento 4

1.4. Objetos, Funções e Packages 6

1.5. Ajuda e Documentação 7

1.6. Gravar e Recuperar uma Sessão 8

2. Vetores e Tipos Primitivos 9

2.1. Atribuição de Valores a um Objeto 10

2.2. Valores Numéricos e Operadores Aritméticos 10

2.3. Vetores Numéricos 11

2.4. Acesso aos Elementos de Vetores 15

2.5. Funções sobre Vetores Numéricos 16

2.6. Vetores Lógicos 20

2.7. Strings e Vetores de Strings 22

2.8. Fatores 24

2.9. Valores Omissos 25

Exercícios Resolvidos 26

© F

CA

Page 4: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

Análise e Exploração de Dados com RVI

3. Estruturas de Dados e Funções 31

3.1. Matrizes 32

3.2. Arrays 36

3.3. Lists 37

3.4. Data Frames 39

3.5. Datas e Horas 44

3.6. Conversões entre Estruturas de Dados 45

Exercícios Resolvidos 46

4. Leitura e Escrita de Dados 51

4.1. Definição da Diretoria de Trabalho 52

4.2. Leitura de Dados 53

4.3. Escrita de Dados no Ecrã e em Ficheiro 55

Exercícios Resolvidos 57

5. Programação em R 59

5.1. Definição de Novas Funções 60

5.2. Instruções Condicionais 61

5.3. Instruções Cíclicas 62

Exercícios Resolvidos 65

6. R Markdown 71

6.1. Introdução ao R Markdown 72

6.2. Linguagem R Markdown 72

6.3. Exemplo 74

Exercícios Resolvidos 77

PARTE II – Análise de Dados com o Sistema R 81

7. Representação, Sumariação e Pré-Processamento dos Dados 83

7.1. Estrutura e Representação dos Dados 84

7.2. Verificação da Estrutura dos Dados 86

7.3. Estatística Descritiva para Sumariação dos Dados 88

7.4. Tratamento de Valores Omissos 90

7.5. Discretização de Variáveis Numéricas 93

7.6. Estandardização dos Dados 94

Exercícios Resolvidos 95 © F

CA

Page 5: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

Índice VII

8. Visualização Gráfica de Dados 101

8.1. Gráficos de Dispersão 102

8.2. Boxplots 107

8.3. Histogramas 111

8.4. Gráficos de Barras e Pie Charts 113

8.5. Sobreposição de Objetos Gráficos 115

8.6. Formatação e Exportação de Gráficos 118

8.7. Package ggplot2 120

Exercícios Resolvidos 126

9. Inferência e Modelação Estatística 131

9.1. Distribuições de Probabilidade em R 132

9.2. Verificar a Normalidade dos Dados 142

9.3. Amostragens 144

9.4. Intervalos de Confiança 145

9.5. Testes Estatísticos 146

9.6. Análise de Variância 155

9.7. Análise de Regressão 158

Exercícios Resolvidos 166

10. Redução de Dimensionalidade 173

10.1. Análise de Componentes Principais 174

10.2. Decomposição em Valores Singulares 176

10.3. Análise Multidimensional 179

Exercícios Resolvidos 181

11. Clustering 187

11.1. Clustering Hierárquico 188

11.2. Clustering K-Means 192

Exercícios Resolvidos 194

12. Análise Preditiva e Aprendizagem Máquina: Conceitos Básicos 197

12.1. Introdução 198

12.2. Métricas de Erro 200

12.3. Método dos K-Vizinhos Mais Próximos 203

12.4. Árvores 205

12.5. Modelos de Regressão para Análise Preditiva 208© F

CA

Page 6: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

Análise e Exploração de Dados com RVIII

12.6. Máquinas de Vetor de Suporte 210

12.7. Redes Neuronais Artificiais 212

12.8. Métodos Probabilísticos: Naive Bayes 213

Exercícios Resolvidos 214

13. Aprendizagem Máquina: Tópicos Complementares 221

13.1. Estimação do Erro com Validação Cruzada 222

13.2. Comparação de Modelos e Algoritmos 224

13.3. Otimização de Modelos 225

13.4. Sobreajustamento e Subajustamento: Complexidade dos Modelos 226

13.5. Seleção de Atributos 227

13.6. Conjuntos de Modelos 228

13.7. Package caret 230

Exercícios Resolvidos 236

PARTE III – Casos de Aplicação 239

14. Reconhecimento de Atividades Humanas Usando Telemóveis 241

14.1. Descrição dos Dados 242

14.2. Pré-Processamento dos Dados 243

14.3. Análise Exploratória dos Dados 247

14.4. Análise Estatística Univariada 252

14.5. Análise de Regressão 254

14.6. Análise Estatística Multivariada 257

14.7. Análise Preditiva 263

15. Análise da Qualidade de Vinhos 269

15.1. Descrição dos Dados 270

15.2. Pré-Processamento e Análise Exploratória dos Dados 271

15.3. Análise de Regressão 274

15.3.1. Modelo de Regressão 274

15.3.2. Avaliação do Modelo 277

15.3.3. Importância de Cada Variável 278

15.3.4. Potenciais Problemas 282

15.4. Comparação de Modelos de Aprendizagem Máquina 284

© F

CA

Page 7: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

Índice IX

16. Análise de Dados de Crédito Bancário 297

16.1. Descrição e Carregamento dos Dados 298

16.2. Análise Exploratória dos Dados 300

16.3. Análise Estatística dos Dados 309

16.4. Análise Agregada dos Dados 311

16.5. Aprendizagem Máquina 318

17. Análise de Dados de Expressão Genética em Pacientes com Cancro 325

17.1. Descrição dos Dados 326

17.2. Representação e Acesso aos Dados: O Projeto Bioconductor 327

17.3. Filtragem por Variabilidade 332

17.4. Identificação de Genes Diferencialmente Expressos 334

17.5. Clustering 338

17.6. Classificação de Amostras 340

Recursos e Conjuntos de Dados Adicionais 343

Livros 343

Repositórios de Dados e Coleções de Dados 345

Propostas Complementares de Análise de Dados 347

Ferramentas 348

Bibliografia 351

Índice Remissivo 353

© F

CA

Page 8: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

© F

CA

Page 9: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

É, atualmente, Professor Associado no Departamento de Informática da Universidade do Minho, onde é também investigador do Centro de Engenharia Biológica e Diretor do Mestrado em Bioinformática. É autor de mais de 150 artigos em revistas e conferências internacionais e investigador responsável em vários projetos financiados, em áreas relacionadas com a mineração de dados, a aprendizagem máquina e a computação evolucionária, com aplicações nos campos da bioinformática, da biologia de sistemas e da otimização de redes de computadores. Coautor do livro Análise Inteligente de Dados – Algoritmos e Implementação em JAVA, publicado pela FCA.Leciona, ainda, várias unidades curriculares relacionadas com a bioinformática e com a análise e exploração de dados biológicos.

Licenciado em Engenharia de Sistemas e Informática e doutorado em Inteligência Artificial pela Universidade do Minho. Atualmente, é investigador FCT no Instituto de Patologia e Imunologia Molecular da Universidade do Porto (Ipatimup) e Instituto de Investigação e Inovação em Saúde da Universidade do Porto (i3s).Os seus interesses de investigação incluem as áreas da genómica das populações humanas e da genómica de cancro bem como a aprendizagem automática e análise de dados de grande escala e dimensão.

Miguel Rocha

Pedro G. Ferreira

OS AUTORES

© F

CA

Page 10: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

© F

CA

Page 11: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

Esta obra foi planeada e escrita com o intuito de tornar mais fácil a abordagem aos conceitos de análise de dados utili-zando o sistema R. O livro foi desenhado num contexto uni-versitário e pensado para alunos universitários com diversos tipos de formação e com a necessidade de adquirir compe-tências na análise de dados, podendo ser também útil para qualquer profissional que necessite deste tipo de formação. Assume-se, neste livro, que os leitores não têm experiência prévia em programação, nem na utilização de sistemas de computação científica e/ou estatística.

No entanto, este livro não pretende explicar em detalhe os métodos de análise de dados, nem os seus fundamentos teóricos, que devem ser estudados através da consulta de outros textos especializados. O livro tem uma vertente mar-cadamente prática, sendo oferecidos inúmeros exemplos, bem como exercícios resolvidos e propostos. São fornecidas algumas referências para que o leitor possa complementar o seu conhecimento.

Sugere-se ao leitor que faça a leitura deste livro em paralelo com a utilização do sistema R e que experimente todos os exemplos propostos bem como todas as variantes que lhe sejam sugeridas pela sua imaginação. Só assim poderá tirar verdadeiro partido deste livro.

Divirta-se com a análise de dados e com o R.

PRÓLOGO

© F

CA

Page 12: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda
Page 13: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

O SISTEMA R

PARTE I

Page 14: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda
Page 15: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

INTRODUÇÃO Neste capítulo, é realizada uma breve introdução ao sistema R, aos seus principais objetivos, forma de instalação e utilização e a conceitos importantes, tais como objetos e funções.

INTRODUÇÃO AO SISTEMA R1

Page 16: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

Análise e Exploração de Dados com R4

1.1. O QUE É O R?O R é um sistema de computação científica e estatística, programável e que permite o tratamento de vários tipos de dados. Na sua versão base, contém um conjunto de ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua-lização de dados. Possui ainda uma poderosa linguagem de programação, que permite a implementação de novas funções com o comportamento definido pelo utilizador. Para além disso, é de acesso livre, existindo uma comunidade bastante ativa de investigado-res (designada por The Comprehensive R Archive Network – CRAN) que desenvolvem funcionalidades que podem ser instaladas para expandir as funcionalidades do sistema.

O R começou por ser essencialmente desenvolvido como um sistema de tratamento estatístico de dados, mas tem evoluído no sentido de se tornar num ambiente de desen-volvimento coerente, mais genérico e multifacetado. Ainda assim, existem disponíveis na versão base do R muitas ferramentas de tratamento estatístico de dados, estando muitas outras disponíveis para instalação adicional e opcional.

1.2. INSTALAR O RNo sítio do projeto R, em https://www.r-project.org, poderá encontrar a última versão disponível do software. Existem versões para Microsoft Windows, Linux e MAC OS X que podem ser instaladas livremente. Neste sítio estão também disponíveis vários servidores alternativos (mirrors) onde se podem encontrar os ficheiros de instalação, podendo ser escolhido um próximo da sua localização geográfica. A versão mais atual do R, à data de escrita deste livro, é a 3.3.1, lançada em julho de 2016, e foi a usada para correr todos os exemplos disponibilizados ao longo da obra.

Para a instalação do R, deverá escolher o mirror mais adequado, fazendo, em seguida, o download do ficheiro de instalação adequado para o seu computador e sistema opera-tivo, escolhendo a opção base. O processo de instalação é trivial, devendo apenas correr este ficheiro e escolher opções por omissão, para uma instalação standard.

1.3. EDIÇÃO DE COMANDOS E AMBIENTES DE DESENVOLVIMENTO

O R é um ambiente orientado para o uso de uma linha de comandos, apesar de ter um conjunto de menus disponíveis que permitem realizar algumas operações.

Existem ainda programas, denominados ambientes integrados de desenvolvimento (IDE), que criam um ambiente integrado que inclui a linha de comandos R e um conjunto de ©

FC

A

Page 17: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

Introdução ao Sistema R 5

ferramentas complementares. Neste âmbito, os autores recomendam a instalação do programa RStudio (https://www.rstudio.com), que, não sendo essencial para correr os exemplos fornecidos, permite criar um ambiente de trabalho mais produtivo dadas as inúmeras funcionalidades disponibilizadas.

Para discutir as potencialidades do RStudio, apresenta-se na Figura 1.1 uma ilustração do ambiente de trabalho proporcionado.

Figura 1.1 Ilustração do ambiente de trabalho proporcionado pelo RStudio

O canto superior esquerdo consiste numa zona onde se podem editar ficheiros com comandos ou funções R; o canto inferior esquerdo apresenta a linha de comandos onde poderá escrever comandos R e verificar os seus resultados; o canto superior direito pos-sui várias ferramentas de análise (por exemplo, histórico de comandos realizados, lista-gem de objetos R criados na sessão); e, finalmente, o canto inferior direito contém várias opções, como navegar nos ficheiros do sistema, visualizar gráficos gerados, instalar e visualizar packages ou consultar a ajuda do sistema.

A linha de comandos, seja no RStudio ou diretamente no R, permite escrever comandos a seguir ao prompt (>) do interpretador, executando-os de seguida. Em muitos casos, o R não imprime no ecrã nenhum resultado da computação efetuada (por exemplo, por ser guardado em algum objeto) e apenas altera o estado das suas variáveis internas (ou objetos). Quando o resultado não é guardado num objeto, o mesmo é apenas mostrado

© F

CA

Page 18: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

Análise e Exploração de Dados com R6

no ecrã, não podendo ser reutilizado. Para este efeito, o resultado deve ser armazenado em variáveis ou objetos do R.

Para tornar o seu trabalho mais eficiente, pode sempre recuperar os comandos anterio-res utilizando as setas do cursor, bem como editar os comandos com as teclas Delete ou Backspace, Home e End, que tomam os seus comportamentos habituais. As ferramen-tas do RStudio permitem ainda a consulta do histórico de comandos e a sua reutilização simples com opções na interface fornecida.

Há que tomar em atenção que o R é sensível à diferença entre maiúsculas e minúsculas. Assim, quer o nome dos objetos quer o dos comandos deverão ser escritos na forma correta (por exemplo, a e A são caracteres diferentes).

Quando um comando não é terminado numa linha, o símbolo + aparece no início da linha seguinte indicando que o interpretador do R espera que o comando seja terminado. Quando se pretende criar um conjunto composto de comandos, estes deverão ser inicia-dos com o símbolo { e terminados com o símbolo }. Os comandos individuais podem ser separados por ; ou simplesmente mudando de linha.

A função q( ) é usada para terminar a sua sessão no R.

1.4. OBJETOS, FUNÇÕES E PACKAGESExistem dois conceitos fundamentais no R: objetos e funções. Os objetos (ou variáveis) são os “contentores” da informação, ou seja, permitem guardar dados de diversos tipos. Nos capítulos seguintes analisar-se-ão em detalhe diversos tipos de objetos existentes no R.

A lista de objetos disponíveis numa sessão de trabalho de R pode ser consultada através da função ls(). A função rm(objeto) poderá ser usada para remover um objeto da sessão de trabalho. Por outro lado, a função typeof(objeto) permite determinar o tipo de dados associado ao objeto.

A função str aplicada sobre qualquer objeto R permite conhecer informações sobre a sua estrutura interna, sendo, em particular, bastante útil para objetos com estruturas mais com-plexas.

Em R os objetos são caracterizados por um conjunto de atributos que podem ser con-sultados usando a função attributes.

As funções, por outro lado, constituem os mecanismos de processamento e manipula-ção dos dados. Tipicamente, uma função consta de uma operação de manipulação de dados que pode receber zero ou mais argumentos de entradas (objetos ou variáveis) e que retorna como resultado um novo objeto ou variável (podendo não retornar resultado ©

FC

A

Page 19: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

Introdução ao Sistema R 7

algum). As funções em R constituem, assim, uma implementação (ainda que mais flexível) do conceito matemático de função. As funções podem ser chamadas em R através da sintaxe nome_função(argumentos). Note que, quando não existem argumentos, deverá manter os parênteses e não colocar nada no seu interior (poderá colocar espaços sem alterar a sintaxe).

Quando o R arranca, são carregados alguns packages nucleares que possuem um con-junto de funções já disponíveis. É possível carregar novos packages instalados na sua distribuição com a função library(package), tornando as funções desse package dispo-níveis. A função library, chamada sem argumentos, permite saber quais os packages instalados.

É ainda possível instalar novos packages, alargando, assim, o leque de funções dis-poníveis, através da função install.package(packages). Note que, ao instalar um novo package, terá de o carregar em seguida para o poder utilizar. No ambiente visual do R, existe o menu Packages onde poderá encontrar opções que lhe permitem instalar novos packages e atualizar os existentes. O RStudio disponibiliza também um ambiente que permite verificar os packages instalados e instalar novos packages, através da opção Packages existente no canto inferior direito do ambiente de trabalho.

Por outro lado, o R disponibiliza uma linguagem de programação que permite ao utiliza-dor desenvolver novas funções, que passam a estar disponíveis para serem utilizadas exatamente da mesma forma que as predefinidas (consultar o Capítulo 5).

1.5. AJUDA E DOCUMENTAÇÃOO R possui um sistema de ajuda bastante completo, a que se pode aceder de várias formas:

• Consultando uma ajuda genérica sobre o R. A função help.start() irá abrir uma janela de um browser (por exemplo, Internet Explorer ou Firefox) e mostrar uma página útil para uma introdução ao R;

• Usando a função help, pode descobrir ajuda sobre uma função do sistema, por exem-plo, help(matrix);

• Procurando com a função help.search todas as páginas de ajuda onde esteja uma dada palavra-chave, por exemplo, help.search(“matrix”).

No menu Help, poderá ainda encontrar outras alternativas ao nível da ajuda ao utilizador. Neste menu, tem ainda a opção de consultar alguns manuais disponíveis em PDF que acompanham a instalação do R.

© F

CA

Page 20: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

Análise e Exploração de Dados com R8

No RStudio, a ajuda sobre diversos tópicos pode ser consultada usando o tab Help no canto inferior direito. As funções help e help.start lançam os seus resultados neste tab, se chamadas no contexto do RStudio.

Uma função bastante útil é a função example(função) que permite consultar exemplos ilustrativos do uso de cada função, passando o nome da função como parâmetro. Utili-zando o símbolo ? seguido do nome da função, por exemplo, ?ls, acede a toda a docu-mentação da função, incluindo uma descrição da mesma, uma explicação dos parâme-tros e alguns exemplos de utilização.

1.6. GRAVAR E RECUPERAR UMA SESSÃOAs seguintes funções poderão ser usadas para guardar o seu trabalho no final de uma sessão e recuperá-lo na sessão seguinte:

• savehistory(nome_ficheiro) – guarda os comandos efetuados durante uma sessão, podendo especificar-se o nome do ficheiro;

• loadhistory(nome_ficheiro) – carrega os comandos efetuados numa sessão a partir de um ficheiro. Este é um ficheiro de texto que poderá ser aberto por qualquer editor de texto. Estas opções estão também disponíveis no menu File;

• save.image(nome_ficheiro) – guarda os dados criados durante uma sessão, po-dendo especificar-se o nome do ficheiro;

• load(nome_ficheiro) – realiza a operação inversa. Este é um ficheiro binário que só pode ser aberto com o R.

Ao terminar uma sessão, tem a opção de guardar os dados e os comandos efetuados. Se responder afirmativamente, os dados serão guardados por omissão num ficheiro cha-mado “.RData” e os comandos no ficheiro “.Rhistory”, na sua pasta corrente de trabalho. Se o R for recomeçado a partir da mesma diretoria, estes ficheiros são automaticamente carregados no início da sessão seguinte. Na Secção 4.1 poderá conhecer mais detalhes sobre como verificar e alterar a sua diretoria de trabalho.

No seu canto superior direito, o RStudio permite verificar todos os comandos corri-dos na sessão (opção History) ou consultar a lista de objetos na sua sessão (opção Environment). O menu Session, bem como os ícones desse quadrante, permite correr as funções anteriormente mencionadas para gestão do ambiente de trabalho (workspace) e do histórico.

Page 21: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

INTRODUÇÃO Neste capítulo, são apresentados os tipos primitivos de dados do R para representar variáveis, incluindo valores numéricos, lógicos e textuais (strings), bem como os vetores como coleções de dados de tipos primitivos. É ainda abordada a forma mais simples para se pode mudar o conteúdo de um objeto em R, a atribuição.

VETORES E TIPOS PRIMITIVOS2

Page 22: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

Análise e Exploração de Dados com R10

2.1. ATRIBUIÇÃO DE VALORES A UM OBJETOComo foi já referido no Capítulo 1, o R permite definir objetos, que não são mais do que a forma de guardar informação de modo a poder ser reutilizada. A cada objeto no R é atribuído um nome, que o identifica, e um determinado tipo, que indica qual a estrutura dos dados que pode guardar.

A operação mais básica que se pode realizar sobre um objeto é a atribuição, ou seja, associar um valor ou conteúdo a um nome. Para o efeito, usam-se os operadores <- ou =. Assim, ambos os comandos seguintes atribuem o valor 2 ao objeto x:

> x = 2

> x <- 2

Note que, quando efetua uma atribuição, não é apresentado nenhum resultado na linha de comando. Para verificar o conteúdo de um objeto, terá de escrever o seu nome na linha de comando do R, sendo que, nesse caso, este é impresso no ecrã:

> x

[1] 2

2.2. VALORES NUMÉRICOS E OPERADORES ARITMÉTICOSPelas suas características, o tipo de dados mais usual no R é o tipo numérico. Sobre valores numéricos é possível realizar diversos tipos de cálculos através de operadores aritméticos comuns (+, -, *, /) ou funções predefinidas (que serão abordadas mais tarde). Os operadores aritméticos +, - e / têm o significado habitual, enquanto * significa multi-plicação.

Para ilustrar algumas destas funcionalidades, vejamos exemplos em que a linha de co-mandos do R é usada ao estilo de uma calculadora:

> 2+3

[1] 5

> 3 * 1/2

[1] 1.5

> 5.3 - 4.2 / 2.3

[1] 3.473913

© F

CA

Page 23: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

Vetores e Tipos Primitivos 11

Note nos exemplos anteriores que, quando escreve uma expressão na linha de coman-dos do R, o seu valor é calculado e escrito no ecrã. O valor 1 entre parênteses retos indica apenas que se trata do primeiro elemento do resultado e, neste caso, o único. Realça-se ainda que as regras de prioridade dos operadores aritméticos seguem as re-gras matemáticas habituais.

Vimos já como criar um objeto numérico e atribuir-lhe um valor. Vejamos, em seguida, mais alguns exemplos ilustrativos:

> y = 3.1

> z = 6.2

> y / z

[1] 0.5

> w = y * z + 2

Podem ainda usar-se a exponenciação (símbolo ^), a divisão inteira (símbolos %/%) e o resto da divisão inteira (símbolos %%), como se pode observar pelos exemplos seguin-tes:

> y=5

> y^2

[1] 25

> y%%2

[1] 1

> y%/%2

[1] 2

2.3. VETORES NUMÉRICOSVimos anteriormente exemplos de variáveis escalares. No entanto, o R é orientado aos vetores que constituem objetos que permitem guardar uma sequência de valores. Assim, não existem em R variáveis escalares com um único valor, sendo estes casos particulares de vetores com apenas um elemento.

A função c permite juntar (concatenar) um vetor com novos elementos (ou com outros vetores), sendo a forma mais direta de formar um novo vetor a seguinte:

> v1 = c(1,5,8,10)

> v1

[1] 1 5 8 10

© F

CA

Page 24: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

Análise e Exploração de Dados com R12

> v2 = c(3,v1)

> v2

[1] 3 1 5 8 10

Outra forma de criar vetores numéricos com utilidade prática é a geração de sequências de números. Um dos casos mais simples consiste em gerar, por exemplo, um vetor com todos os números inteiros entre 1 e 10. Podemos fazer isso com o operador :, como se ilustra de seguida:

> 1:10

[1] 1 2 3 4 5 6 7 8 9 10

> 10:2

[1] 10 9 8 7 6 5 4 3 2

É ainda possível gerar sequências de uma forma mais genérica utilizando a função seq. Esta tem como argumentos: o valor inicial da sequência (from), o valor final (to) e o inter-valo entre os elementos (by). Vejamos um exemplo simples de uma sequência entre 1.0 e 2.0, com passo de 0.1:

> seq(1, 2, 0.1)

[1] 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0

Podemos escrever os argumentos das funções pela sua ordem ou nome, podendo, assim, defini-los por uma outra ordem. Assim, este comando obtém exatamente o mesmo resul-tado que o anterior:

> seq(by = 0.1, to = 2, from = 1)

Por outro lado, podemos omitir alguns argumentos, desde que estes tenham um valor por omissão. No exemplo seguinte, o parâmetro by foi omitido tendo o valor 1 por omis-são:

> seq(1, 10)

[1] 1 2 3 4 5 6 7 8 9 10

Uma função relacionada é a função rep, que permite criar vetores com repetição de elementos. Os principais argumentos desta função definem os elementos a repetir, o número de vezes que determinado elemento é repetido (each) e o número total de re-petições a efetuar (times). Os exemplos seguintes ilustram o comportamento da função:

© F

CA

Page 25: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

A nova coleção sobre os grandes temas da Ciência dos Dados: Data Science, Big Data, Analytics e Internet das Coisas. Com uma abordagem muito prática e demonstração de

exemplos e projetos, estes são os livros essenciais aos profissionais do futuro!

Page 26: Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22 · ferramentas que permitem o armazenamento, processamento, cálculo, análise e visua- lização de dados. Possui ainda

C

M

Y

CM

MY

CY

CMY

K

Análise e Exploração de Dados com R.pdf 1 17/02/17 14:22