96
Introdução ao Valeska Andreozzi valeska.andreozzi at fc.ul.pt Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, 2012 Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 1 / 89

Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

  • Upload
    lamthu

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução aoValeska Andreozzi

valeska.andreozzi at fc.ul.pt

Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal

Lisboa, 2012

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 1 / 89

Page 2: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetivos do curso

Apresentar, de forma simples e acessível, as várias funções do R.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 2 / 89

Page 3: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Programa

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 3 / 89

Page 4: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Programa

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 3 / 89

Page 5: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Programa

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 3 / 89

Page 6: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Programa

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 3 / 89

Page 7: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Programa

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 3 / 89

Page 8: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Programa

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 3 / 89

Page 9: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Programa

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 3 / 89

Page 10: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Programa

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 3 / 89

Page 11: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução

Sumário

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 4 / 89

Page 12: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução FAQ

FAQ

O que é o R?

O R é um sistema desenvolvido a partir da linguagem S (que também é usadanuma versão comercial, o S-Plus), que tem suas origens nos laboratórios daAT&T no final dos anos 80. Em 1995 dois professores de estatística daUniversidade de Auckland, na Nova Zelândia, iniciaram o "Projeto R", com ointuito de desenvolver um programa estatístico poderoso baseada em S, e dedomínio público.

1 Ler e realizar operações sobre os dados2 Realizar computações3 Conduzir análises estatísticas e4 Dispor os resultados5 Experimentar e implementar novos algoritmos

Um ambiente de programação para análise de dados e construção de gráficos.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 5 / 89

Page 13: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução FAQ

FAQ

Com o R posso utilizar menus para fazer análises estatísticas, como no SPSS,SAS e S-Plus?

Não.

O R em versão para Windows é até provido de menus, mas todos sãousados para realizar tarefas não estatísticas (como atualizar a versão ousalvar um gráfico).

Todas as funções estatísticas que acompanham o R devem ser chamadas apartir do cursor do programa (seja digitando um comando ou copiando ecolando um comando previamente digitado).

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 6 / 89

Page 14: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução FAQ

FAQ

O fato do R não possuir menus não seria uma desvantagem em relação aoutros pacotes estatísticos?

Depende.

Muitos irão certamente interpretar esse fato como uma desvantagem, masque na verdade é uma vantagem forte do R.

A utilização do R para realizar análises estatísticas exige muito mais doque simplesmente apertar alguns botões em série e dar alguns cliques nomouse: para trabalhar dados com o R é preciso PENSAR e ENTENDERo que se está fazendo.

Ao contrário de muitos pacotes estatísticos clássicos, o R permite umagrande flexibilidade em relação às funções estatísticas pré-existentes, i.e.,as funções são "editáveis", além da possibilidade de você mesmo podercriar as suas próprias funções personalizadas (como será mostrado maistarde).

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 7 / 89

Page 15: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução FAQ

FAQ

Mas será que ninguém ainda desenvolveu um R com menus?

Existe uma biblioteca, desenvolvida pelo John Fox, chamada Rcmdr quepossui menus.

Para utilizar basta instalá-la e carregar com o comando require(Rcmdr)

e o menu se abrirá automaticamente.

Atençao: Note que o Rcmdr não provê acesso a toda funcionalidade do R

mas simplesmente a alguns procedimentos estatísticos mais usuais.

Maiores informações sobre esta biblioteca podem ser encontradas napágina do Rcmdr

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 8 / 89

Page 16: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução FAQ

FAQ

Quanto custa para ter uma cópia oficial do R?

Não custa nada: ele é de graça MESMO, ou seja, ninguém precisa gastarmais me mil euros, o que seria necessário para comprar o módulo básicodo SPSS, por exemplo;

nem ser obrigado a cometer um pequeno delito para usar o R.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 9 / 89

Page 17: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução FAQ

FAQ

Se ninguém está ganhando dinheiro para manter o R atualizado, como possoter certeza que se trata de um produto confiável?

Esta é uma outra vantagem do R: o Projeto R consiste em umacolaboração internacional de vários pesquisadores que se comunicamatravés de uma eficiente lista de discussão pela Internet.

Com isso, não só bugs (defeitos de programação) são detectados ecorrigidos, como também novos módulos contendo métodos estatísticosrecentemente implementados são regularmente disponibilizados eatualizados na rede.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 10 / 89

Page 18: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução FAQ

FAQ

O que são esses módulos adicionais?

Os módulos adicionais funcionam da seguinte forma: um pesquisador emalgum lugar do mundo precisou desenvolver uma aplicação numa área quenão é coberta nem pelo módulo básico nem pelos módulos decolaboradores existentes.

O que esse pesquisador faz é desenvolver o que é chamada de umabiblioteca para o R com as funções que ele criou e utilizou,disponibilizando-a na rede. A vantagem é que a biblioteca pode ser usadapor diferentes pessoas, que irão eventualmente reportar erros nas funções,que podem então ser atualizadas pelo seu criador.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 11 / 89

Page 19: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Como obter o R

Como obter uma cópia do R?

Pela homepage

www.r-project.org

Passo-a-passo da homepage1 Selecione, no menu Download, Packages a esquerda da tela, a opção

CRAN (Comprehensive R Archive Network)2 Selecione o mirror, por exemplo UK3 Selecione seu sistema operacional Download R for Windows4 Selecione o subdiretório base5 Selecione o programa Download R 2.14.2 for Windows e guarde no seu

disco.

Tutorial para instalação

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 12 / 89

Page 20: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Como obter o R

Passeando pela Homepage do R

www.r-project.org

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 13 / 89

Page 21: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Referências

Referências

Para iniciar, consulte:

Tutorial em português do Prof Paulo Justiniano (supporting member) emformato html ou pdf. (Muito do material desse curso foi baseado em suasnotas de aula.)

Tutorial para instalação

Bioestatística

Análise de dados epidemiológicos

Tutorial da Faculdade de Economia do Universidade do Porto

Lista completa de manuais, tutoriais em diversas línguas

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 14 / 89

Page 22: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Operações Básicas

Inicializando o R

Iniciar uma sessão de R

Clicar no ícone do R que se encontra no Desktop do seu computador.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 15 / 89

Page 23: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Operações Básicas

Operações aritméticas

> 3+7

[1] 10

> 3-7

[1] -4

> 3*7

[1] 21

> 3/7

[1] 0.4285714

> 3^7

[1] 2187

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 16 / 89

Page 24: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Operações Básicas

Operações aritméticas

E se quisermos calcular o log2 8 = 3?

> log(8,base=2)

[1] 3

E a raiz quadrada de 25?

> sqrt(25)

[1] 5

ou

> 25^(1/2)

[1] 5

Cuidado com a ordem das operações

> 25^1/2

[1] 12.5

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 17 / 89

Page 25: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Operações Básicas

Algumas funções

Função Descriçãosqrt() raiz quadradaabs() valor absolutoexp() exponencial

log10() logaritmo na base 10log() Logaritmo na base e

sin() cos() tan() funções trigonométricasasin() acos() atan() funções trigonométricas inversas

sin() cos() tan() funções trigonométricasgamma() função Gamma de Eulerfactorial() fatorial (n!)choose() número de combinações ( n!

x!(n−x)! )

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 18 / 89

Page 26: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Operações Básicas

Sintaxe de uma função

Vamos aproveitar esse exemplo para explicar algumas característicasbásicas das funções disponíveis no R. Todas têm a forma:> função (argumento(s) obrigatório(s), argumento(s) opcional(is))

Sendo que os argumentos opcionais podem ter um valor padrão (default)pré-estabelecido ou não. Os argumentos estarão sempre entre parêntesessendo separados por vírgula.

Veja o que acontece quando deixamos o segundo argumento em branco:> log(8)

[1] 2.079442

Não houve mensagem de erro, mas o resultado é diferente do obtidoanteriormente através do comando log(8,base=2). O que teráacontecido? Bem, se não houve queixa do programa quanto ao segundoargumento, ele deve ter um valor pré-estabelecido.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 19 / 89

Page 27: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Operações Básicas

Sintaxe de uma função

Tenha cuidado com a ordem dos argumentos quando o seus respectivosnomes não são mencionados> log(8,2)

[1] 3

> log(2,8)

[1] 0.3333333

A ordem não é importante quando o nome do argumento é mencionado> log(base=2,x=8)

[1] 3

> log(x=8,base=2)

[1] 3

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 20 / 89

Page 28: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Operações Básicas

Argumentos de uma função

Para listar os argumentos de uma função

> args(log)

function (x, base = exp(1))

NULL

ou através do help

> ?log

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 21 / 89

Page 29: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Operações Básicas

Argumentos de uma função

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 22 / 89

Page 30: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Criação de um objeto

Criação de um objecto

Vamos criar um objeto chamado x

> x <- 3

<- é o símbolo de atribuição (assignment)

Para ver o que se encontra num objeto, basta listá-lo> x

[1] 3

O R faz diferenciação entre maiúsculas e minúsculas (case sensitive)> X

Error: object "X" not found

Outro exemplo:

> y <- x*6

> y

[1] 18

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 23 / 89

Page 31: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Criação de um objeto

Criação de um objecto

Vamos criar um objeto chamado x com um conteúdo diferente> x <- "banana"

> x

[1] "banana"

Onde está a diferença?> x <- banana

Error: Object "banana" not found

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 24 / 89

Page 32: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Criação de um objeto

Criação de um objecto

E se o objeto banana existisse?> banana <- 7

> banana

[1] 7

> x <- banana

> x

[1] 7

Foi colocado no objeto x primeiramente o número 3, depois a palavrabanana e por fim o número 7, quando copiamos o conteúdo do objetobanana para x.

Repare que as substituições de conteúdo do objeto x foram feitas semnenhuma cerimônia pelo R.

Isso pode ser um problema no R: ele não pergunta se você quer ou nãosubstituir o conteúdo de um objeto por outro.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 25 / 89

Page 33: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Criação de um objeto

Função c()

No R, para entrar com vários números (ou nomes, ou qualquer outrogrupo de coisas), precisamos usar uma função para dizer ao programa queos valores serão combinados em um único vetor.

> x <- c(1,2,3,4,5)

> x

[1] 1 2 3 4 5

> x <- c("banana", "laranja", "tangerina")

> x

[1] "banana" "laranja" "tangerina"

> banana <- 7

> x<-c(banana,8,9)

> x

[1] 7 8 9

> x<-c(banana,"laranja")

> x

[1] "7" "laranja"

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 26 / 89

Page 34: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Criação de um objeto

Valores faltantes e especiais

NA Not Available, denota dados faltantes. Note que deve utilizarmaiúsculas.

NaN Not a Number, denota um valor que não é representável por umnúmero.

Inf e -Inf mais ou menos infinito.

> c(-1, 0, 1)/0

[1] -Inf NaN Inf

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 27 / 89

Page 35: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Introdução Criação de um objeto

Nomes reservados

O R, como qualquer outra linguagem, possui nomes reservados, isto é, nomesque não podem ser utilizados para objetos por terem um significado especialna linguagem. São eles:

FALSE Inf NA NaN NULL TRUE

break else for function if

in next repeat while

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 28 / 89

Page 36: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Como pedir ajuda

Sumário

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 29 / 89

Page 37: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Como pedir ajuda

Ajuda

Existem várias formas de se pedir ajuda no R.

Help html

A forma mais fácil é selecionar omenu Help > Html Help. Aseguir, o seu browser da internetabrirá e você deverá selecionar olink Search Engine and

Keywords e só depois poderáfazer sua pesquisa escrevendo apalavra chave ou o nome dafunção, caso saiba. Tenteprocurar o help da função mean.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 30 / 89

Page 38: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Como pedir ajuda

Ajuda

Conhecendo o nome da função

Se conhecemos o nome da função podemos usar o comando help() no prompt:

> help(mean)

Ou se preferir basta usar o ponto de interrogação antes do nome da função,como mostra o exemplo abaixo

> ?mean

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 31 / 89

Page 39: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Como pedir ajuda

Ajuda

Busca por palavra-chave

Caso não conheçamos o nome da função podemos utilizar o comandohelp.search() e pedir ajuda sobre um tópico, que ocorrerá em doispassos. O primeiro é descobrir as funções que mencionam o tópico emquestão.> help.search("cox")

Outra janela dentro do R se abrirá com o resultado da busca, listando onome da função, o pacote no qual ela se encontra e uma pequenadescrição.

O segundo passo é utilizar o ponto de interrogação para obter informaçãosobre a função que escolher dentro daqueles listados pelo comandohelp.search()

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 32 / 89

Page 40: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Como pedir ajuda

Ajuda

Conteúdo do help

As páginas do help html estão,em geral, organizadas daseguinte forma:

1 Nome da função e o pacote aoqual pertence entre parênteses

2 Descrição

3 Sintaxe (usage)

4 Definição dos argumentos

5 Detalhes

6 O que retorna (value)

7 Notas

8 Referencias Bibliográficas

9 Comandos ou objectosrelacionados (see also)

10 Exemplos

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 33 / 89

Page 41: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Como pedir ajuda

Ajuda

Ajuda especializado

É comum alguns autores de bibliotecas disponibilizarem um tutorial em pdfque pode ser aberto direto do R através do comando vignette()

?vignette

vignette(all = TRUE)

vignette("grid")

v1 <- vignette("grid")

print(v1)

edit(v1)

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 34 / 89

Page 42: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Filosofia de trabalho no R

Sumário

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 35 / 89

Page 43: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Filosofia de trabalho no R

Filosofia de trabalho no R

Características do R

O R é uma linguagem orientada a objeto. Tudo para o R é um objeto eque podem ser de vários tipos. Veremos mais tarde.O R é uma linguagem vetorial, e portanto capaz de operar vetores ematrizes diretamente sem a necessidade de loops.

Nome dos objetosOs nomes para os objectos do Rpodem ser qualquer combinação de letras,números e símbolos como o (_) e o (.), mas devem começar com umaletra.

Os objetos criados no R ficam guardados na memóriaPodemos gravar estes objectos num arquivo com a terminação .RData

(por default)

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 36 / 89

Page 44: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Filosofia de trabalho no R

Filosofia de trabalho no R

Os comandos são guardados num ficheiro .Rhistory

Os comandos podem ser recuperados e voltados a entrar usado as teclasde ↑ e ↓ ?

Comandos errados podem ser abandonados com a tecla <Esc>

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 37 / 89

Page 45: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Filosofia de trabalho no R

Filosofia de trabalho no R

Os comandosOs comandos já digitados podem ser visualizados numa janela à parte coma função history().O número de entradas mostradas, por default, são 25. Para ver todaspode-se introduzir

> history(max.show=Inf)

> # mostra todos os comandos inseridos desde o ínicio da sessão

O símbolo # serve para introduzir um comentário no arquivo de comandosdo R

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 38 / 89

Page 46: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Filosofia de trabalho no R

Filosofia de trabalho no R

A melhor forma de trabalhar no R é utilizar um editor de texto paraguardar seus comandos e já sem erros.

Uma forma simples é abrir o editor do R.

Menu File > New scrip

Vantagem desse editor é que está dentro do R e para executar os comandosbasta pressionar <ctrl+r> numa linha ou num bloco de linhas.Salve com extensão .r (Menu File > Save)

Outros editores de texto alternativosCrimson, TINN-RPodem-se usar os shortcuts habituais de copy e paste <Ctrl+c>, <Ctrl+v>

Ambiente integrado para o RRstudio

Conselho: Não utilize o notepad ou Word

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 39 / 89

Page 47: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Filosofia de trabalho no R

Filosofia de trabalho no R

Se um texto estiver selecionado na área de trabalho do R, pode-se fazerum paste direto do texto selecionando com o shortcut <Ctrl+x>

Para apagar os comandos e os resultados do ecrã, pode-se usar o shortcut

<Ctrl+L>

Para fechar janelas (por exemplo, de help ou dos gráficos), pode-se usar oshortcut <Ctrl+F4>

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 40 / 89

Page 48: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Filosofia de trabalho no R

Filosofia de trabalho no R

É conveniente criar uma pasta de trabalho (folder/diretório) própria paracada projeto onde deverão estar todos os arquivos de dados e onde serãoguardados os resultados do R (dados exportados e gráficos)

Inicie o R na pasta de trabalho.1 Abra o R

2 Mude a pasta de trabalho no menu File > ChangeDir.... Escolha a pastana qual se encontra os seus dados.

3 Também pode optar em mudar a paste de trabalho através do comando

> setwd("C:/Projetos/Pasta de Trabalho")

4 E para verificar em que paste estamos trabalhando, utilize

> getwd()

5 Ao fechar o R guarde a seção de trabalho, ou mesmo durante sua análise,no menu File > Save Workspace...

6 Ná próxima vez que quiser continuar a trabalhar no projeto, basta ir diretoao diretório e fazer um duplo clique no arquivo .RData que está gravado nasua pasta de trabalho

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 41 / 89

Page 49: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Bibliotecas

Sumário

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 42 / 89

Page 50: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Bibliotecas

Como instalar uma biblioteca?

Lista de bibliotecashttp://cran.r-project.org/web/packages/

No R

1 Selecione no Menu Package a opção Install package(s)... e depoisescolha as bibliotecas. Utilize a tecla <CTRL> para escolher mais que umabiblioteca.

2 ou através da linha de comando

> install.packages("nome da biblioteca")

3 ou descarregue o arquivo zip da página das bibliotecas e depois no R,selecione no Menu Package a opção Install package(s) from local zip

files....

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 43 / 89

Page 51: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos

Sumário

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 44 / 89

Page 52: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos

Objetos

Objeto é um termo geral para tudo o que têm permanência.

Tudo o que está do lado direito do símbolo de atribuição (<-) é umobjeto.

Tipos de objetos:1 vetor (vector)2 matriz e array (matriz array)3 data.frame4 lista (list)5 função (function)

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 45 / 89

Page 53: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Vetores

Vetores

É o tipo de objeto mais comum

> x<-c(10.39,9.64,10.34,4.17,8.19,4.43,7.40,8.64,13.50,5.37)

> x

[1] 10.39 9.64 10.34 4.17 8.19 4.43 7.40 8.64 13.50 5.37

> x + 2

[1] 12.39 11.64 12.34 6.17 10.19 6.43 9.40 10.64 15.50 7.37

> x * 2

[1] 20.78 19.28 20.68 8.34 16.38 8.86 14.80 17.28 27.00 10.74

> sqrt(x)

[1] 3.223352 3.104835 3.215587 2.042058 2.861818 2.104757 2.720294

[8] 2.939388 3.674235 2.317326

> rev(x)

[1] 5.37 13.50 8.64 7.40 4.43 8.19 4.17 10.34 9.64 10.39

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 46 / 89

Page 54: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Vetores

Vetores

> length(x) #tamanho do vetor

[1] 10

> is.vector(x)

[1] TRUE

> is.matrix(x)

[1] FALSE

> is.numeric(x)

[1] TRUE

> is.character(x)

[1] FALSE

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 47 / 89

Page 55: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Vetores

Índice de Vetores

Os colchetes (parênteses reto) [] são usados para indicar seleção de elementose a função which() retorna as posições do vetor que atendem uma condição.

> x[1]

[1] 10.39

> x[3:4]

[1] 10.34 4.17

> x>10

[1] TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE

> which(x>10)

[1] 1 3 9

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 48 / 89

Page 56: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Vetores

Índice de Vetores

Outro exemplo

> y<-which(x>11)

> y #posição em que x>11

[1] 9

> x[y] #valor de x na posição que atende a condição

[1] 13.5

> x[x>13]

[1] 13.5

> x[-length(x)] # todos exceto o ultimo elemento

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 49 / 89

Page 57: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Vetores

Operação com Vetores

> x <- 1:10

> x + 2

[1] 3 4 5 6 7 8 9 10 11 12

> x * 2

[1] 2 4 6 8 10 12 14 16 18 20

> sqrt(x)

[1] 1.000000 1.414214 1.732051 2.000000 2.236068 2.449490 2.645751

[8] 2.828427 3.000000 3.162278

> x <- 1:10

> rev(x)

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

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 50 / 89

Page 58: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Vetores

Operação com Vetores

Operação com dois vetores

> x <- 1:10

> y <- 21:30

> x+y

[1] 22 24 26 28 30 32 34 36 38 40

> x <- 1:10

> y <- c(1,2)

> x+y

[1] 2 4 4 6 6 8 8 10 10 12

> x <- 1:10

> y <- c(1,2,1)

> x + y

[1] 2 4 4 5 7 7 8 10 10 11

Warning message:

In x + y : longer object length is not a multiple of shorter object length

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 51 / 89

Page 59: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Vetores

Funções seq e rep

Criar uma sequência e um vetor de valores repetidos

> x5 <- seq(0, 1, len = 11)

> x5

[1] 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

> x6 <- rep(1, 5)

> x6

[1] 1 1 1 1 1

> rep(c(1, 2),times=3)

[1] 1 2 1 2 1 2

> rep(c(1, 2),each=3)

[1] 1 1 1 2 2 2

> rep(c(1, 2), times=c(3, 5))

[1] 1 1 1 2 2 2 2 2

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 52 / 89

Page 60: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Vetores

Tipo de vetores

numérico (numeric)

inteiro (integer)

lógico (logical)

alfanumérico ou caracter (character)

fator (factor)

Exemplo:

> x<-1:10

> class(x)

[1] "integer"

> y<-x>2

> y

[1] FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE

> class(y)

[1] "logical"

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 53 / 89

Page 61: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Vetores

Tipo de vetores

Uma função particularmente útil para criar vetores de caracteres é paste().Examine os seguintes comandos.

> paste("aluno", 2)

[1] "aluno 2"

> paste(letters[1:8], 2, sep = "")

[1] "a2" "b2" "c2" "d2" "e2" "f2" "g2" "h2"

> rep(paste("aluno", 1:3, sep = ""), c(4, 4, 3))

[1] "aluno1" "aluno1" "aluno1" "aluno1" "aluno2" "aluno2" "aluno2"

[8] "aluno2" "aluno3" "aluno3" "aluno3"

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 54 / 89

Page 62: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Vetores

Tipo de vetores

Fatores (Factors)

São usados para armazenar dados categóricos.

Por exemplo, suponha que temos dados de um grupo de pessoas equeremos armazenar a informação sobre o sexo dos indivíduos.

Pode-se usar um código numérico como 0 para homens e 1 para mulheresou pode-se usar um código na forma de caracter como ’H’ para homens e’M’ para mulheres. Mas em ambos casos deve-se usar um factor.

> c5 <- c("M","F","F","F","M","M")

> c5

[1] "M" "F" "F" "F" "M" "M"

> c5 <- c("M","F","F","F","M","M")

> c5

[1] "M" "F" "F" "F" "M" "M"

> f5 <- factor(c5)

> f5

[1] M F F F M M

Levels: F M

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 55 / 89

Page 63: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Vetores

Tipo de vetores

Fatores (Factors)

Note que fatores são mostrados de forma semelhante mas não identica aosvetores alfanuméricos.

Os valores dos fatores são impressos sem aspas e os níveis do fator sãotambém impressos.

As categorias (níveis) de um fator podem ser vistas usando a funçãolevels()

> levels(f5)

[1] "F" "M"

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 56 / 89

Page 64: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Vetores

Tipo de vetores

Fatores (Factors)

Os níveis de um fator podem ser facilmente modificados assinalando umnovo vetor alfanumérico aos níveis do fator:> levels(f5) <- c("Female","Male")

> f5

[1] Male Female Female Female Male Male

Levels: Female Male

Uma das coisas que se pode fazer com um fator é tabular os números emcada categoria usando a função table() :> table(f5)

f5

Female Male

3 3

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 57 / 89

Page 65: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Matrizes

Matrizes

Matrizes são objetos em que os elementos estão arrumados em linhas ecolunas (coordenadas)

Os elementos de uma matriz são sempre do mesmo tipo (ou numérico oucaracter, nunca ambos)

Criando uma matriz

> x <- matrix(c(1,2,3,4,5,6,7,8,9,10,11,12), ncol=3)

> x

[,1] [,2] [,3]

[1,] 1 5 9

[2,] 2 6 10

[3,] 3 7 11

[4,] 4 8 12

> is.numeric(x)

[1] TRUE

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 58 / 89

Page 66: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Matrizes

Matrizes

Criando uma matriz

> y<-matrix(letters[1:10],ncol=2)

> y

[,1] [,2]

[1,] "a" "f"

[2,] "b" "g"

[3,] "c" "h"

[4,] "d" "i"

[5,] "e" "j"

> is.character(y)

[1] TRUE

> y<-matrix(letters[1:10],ncol=2,byrow=T)

> y

[,1] [,2]

[1,] "a" "b"

[2,] "c" "d"

[3,] "e" "f"

[4,] "g" "h"

[5,] "i" "j"

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 59 / 89

Page 67: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Matrizes

Matrizes

Criando uma matriz com as funções cbind() e rbind() que juntam (colam)colunas e linhas, respectivamente

> x<-matrix(1:12,ncol=3)

> x

[,1] [,2] [,3]

[1,] 1 5 9

[2,] 2 6 10

[3,] 3 7 11

[4,] 4 8 12

> y <- cbind(x,1:4) # adicionando uma nova coluna..

> y

[,1] [,2] [,3] [,4]

[1,] 1 5 9 1

[2,] 2 6 10 2

[3,] 3 7 11 3

[4,] 4 8 12 4

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 60 / 89

Page 68: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Matrizes

Matrizes

> y <- rbind(y,c(99,99,99,99)) # adicionando uma nova linha...

> y

[,1] [,2] [,3] [,4]

[1,] 1 5 9 1

[2,] 2 6 10 2

[3,] 3 7 11 3

[4,] 4 8 12 4

[5,] 99 99 99 99

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 61 / 89

Page 69: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Matrizes

Matrizes

Para verificar a dimensão de uma matriz usamos a função dim() :

> x<-matrix(1:13,nrow=4,ncol=3)

Warning message:

In matrix(1:13, nrow = 4, ncol = 3) :

data length [13] is not a sub-multiple or multiple

of the number of rows [4]

> x

[,1] [,2] [,3]

[1,] 1 5 9

[2,] 2 6 10

[3,] 3 7 11

[4,] 4 8 12

> dim(x)

[1] 4 3

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 62 / 89

Page 70: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Matrizes

Índices de uma matriz

Selecionando...

o elemento da segunda linha e terceira coluna> x[2,3]

[1] 10

os elementos das três primeiras linhas da segunda coluna> x[1:3,2]

[1] 5 6 7

todos os elementos da terceira coluna> x[,3]

[1] 9 10 11 12

os elementos da primeira e terceira linha de todas as colunas> x[c(1,3),]

[,1] [,2] [,3]

[1,] 1 5 9

[2,] 3 7 11

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 63 / 89

Page 71: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Matrizes

Operação com matrizes

Multiplicar por constante, somar constante, elevar ao quadrado, tirar araiz quadrada de todos os elementos de uma matrizx<-matrix(1:12,ncol=3)

x

x*2

x^2

x+2

sqrt(x)

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 64 / 89

Page 72: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Matrizes

Operação com matrizes

Operações com duas matrizes (operações feitas elemento a elemento)> y<-matrix(c(1,2,3),nrow=4,ncol=3,byrow=T)

> y

[,1] [,2] [,3]

[1,] 1 2 3

[2,] 1 2 3

[3,] 1 2 3

[4,] 1 2 3

> x+y

[,1] [,2] [,3]

[1,] 2 7 12

[2,] 3 8 13

[3,] 4 9 14

[4,] 5 10 15

> x*y

[,1] [,2] [,3]

[1,] 1 10 27

[2,] 2 12 30

[3,] 3 14 33

[4,] 4 16 36

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 65 / 89

Page 73: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Matrizes

Operação com matrizes

Multiplicação matricial

> x

[,1] [,2] [,3]

[1,] 1 5 9

[2,] 2 6 10

[3,] 3 7 11

[4,] 4 8 12

> dim(x)

[1] 4 3

> z<-matrix(c(1,2),nrow=3,ncol=2,byrow=T)

> z

[,1] [,2]

[1,] 1 2

[2,] 1 2

[3,] 1 2

> dim(z)

[1] 3 2

> x%*%z

[,1] [,2]

[1,] 15 30

[2,] 18 36

[3,] 21 42

[4,] 24 48

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 66 / 89

Page 74: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Data frames

Data frames

data frames são objetos equivalentes a um banco de dados que vocêprovavelmente já viu em outros formatos (e.g. SPSS, dbf, Excel, Access,Epinfo)

ou seja, trata-se de uma tabela de dados onde as colunas são as variáveise as linhas são os registros.

Diferentemente dos vetores e matrizes, um data frame pode contercolunas com dados de diferentes tipos (numérico, caracter, etc)

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 67 / 89

Page 75: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Data frames

Data frames

Vejamos um exemplo do R (estudo caso controle de câncer endometrial)

library(Epi) #carregando uma biblioteca

data() #lista dos banco de dados disponíveis para serem carregados

?bdendo #help do banco de dados bdendo

data(bdendo) #carrega os dados para a memória do R

names(bdendo) #nome das variáveis (colunas)

dim(bdendo) # dimensão do banco de dados (#linhas,#colunas)

head(bdendo) # lista as 6 primeiras linhas

View(bdendo) #abre o banco dentro do R

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 68 / 89

Page 76: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Data frames

Índices de um data frame

Os índices funcionam igualmente aos da matriz

Mas com uma vantagem: podemos usar o nome das variáveis

Vejamos alguns exemplos

#criar um data frame com as 10 primeiras linhas de bdendo

dados<-bdendo[1:10,]

#listar o banco

dados

#listar a primeira linha da variável hyp

dados[1,4]

#listar todos os registros da variável agegrp

dados[,12]

#listar todas as variáveis do segundo registro

dados[2,]

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 69 / 89

Page 77: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Data frames

Índices de um data frame

Mais exemplos utilizando o nome das variáveis

#listar todos os registros da variável hyp

dados$hyp

#listar os 3 primeiros registros da variável set e age3

dados[1:3,c("set","age3")]

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 70 / 89

Page 78: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Data frames

Índices de um data frame: exercício

Agora vocês, utilizando o data frame dados, faça:1 listar a variavel duration2 quantos registros possuem o banco de dados?3 listar os três primeiro registros4 listar o último registro5 criar um novo objeto chamado dados2 que contenha os últimos cinco

registros das 3 últimas variáveis6 criar um novo objeto chamado dados3 que contenha todos os registros

que tenham age acima da média de age

7 criar um novo objeto chamado dados4 que contenha todos os registrosque tenham duration abaixo da mediana de duration

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 71 / 89

Page 79: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Lista

Lista

As listas são usadas para combinar diferentes objetos em um único objeto.

Podemos juntar vetores, matrizes, números e/ou caracteres e até mesmooutras listas um único objeto lista.

Os objetos do tipo lista são mais utilizados como resultados de função.

As listas são construídas com a função list().

Aqui vai um exemplo simples:

> person <- list(age=21,name="Fred",score=c(65,78,55))

> person

$age:

[1] 21

$name:

[1] "Fred"

$score:

[1] 65 78 55

O objeto person contém trêsoutros objetos vetores (age,name, score) com diferentestipos de conteúdos (númericos ecaracteres) e tamanhos.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 72 / 89

Page 80: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Objetos Lista

Lista

Os componentes da lista são introduzidos usando a forma usual nome=argde atribuir argumentos em uma função.

Cada elemento da lista pode ser acessado individualmente por seu nomeprecedido pelo símbolo $, assim como usado no data frame:

> person$name # nome

[1] "Fred"

> person$score[2] # segundo elemento de $score

[1] 78

Pode-se ainda acessar cada elemento pelo seu número de ordem na listautilizando colchetes duplos:

> person[[1]]

[1] 21

> person[[3]]

[1] 65 78 55

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 73 / 89

Page 81: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Importação de dados

Sumário

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 74 / 89

Page 82: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Importação de dados

Importação de dados

O R lê ou importa dados com os seguintes formatos:

ASCII

Excel

SPSS

SAS

Stata

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 75 / 89

Page 83: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Importação de dados Arquivos ASCII

Arquivos texto

O formato ASCII são arquivos em formato texto e que podem ser abertosnum editor de texto como Crimson. Em geral tem extensão .dat ou .txt.

Podemos obter os nossos dados em formato texto utilizando a opçãoGUARDAR COMO.. nos diversos softwares.

Como exemplo vamos abrir o arquivo diet.txt num editor de texto paravisualizar a sua estrutura.

Para ler no R os dados no formato texto usamos o comandoread.table()

dieta<-read.table("diet.txt",header=TRUE)

dieta

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 76 / 89

Page 84: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Importação de dados Arquivos ASCII

Arquivos texto

dieta<-read.table("diet.txt",header=TRUE)

dieta

A informação que se encontra no arquivo diet.txt foi atribuída aoobjeto dieta, ie, para o R, os nossos dados estão numa tabela que sechama dieta.

O argumento header=TRUE especifica que a primeira linha do arquivocontém o nome das variáveis.

Para maiores informações faça uma busca no help sobre o comandoread.table() e veja outros exemplos.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 77 / 89

Page 85: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Importação de dados Arquivos Excel (.xls)

Arquivos Excel

Para que possamos ler um arquivo do Excel no R, temos que, em primeirolugar, guardar cada folha de cálculo como arquivo CSV (CommaSeparated Value), que é também um arquivo formato texto.

Dependendo das configurações regionais do computador, o arquivo dotipo CSV terá os campos (ou colunas ou variáveis) separados por ponto evírgula (;) e vírgula (,) como separador decimal.

Por esta razão, é aconselhável, sempre que possível, abrir o arquivo CSVnum editor de texto como o Crimson.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 78 / 89

Page 86: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Importação de dados Arquivos Excel (.xls)

Arquivos Excel

Para exercitar, abra o arquivo diet.xls no seu Excel e grave como CSVcom o nome diet.csv, no seu diretório de trabalho.

Depois de guardado no formato correto, vamos ao prompt do R paraimportar o arquivo.dieta2<-read.table("diet.csv",header=T,sep=";",dec=",")

dieta2

Não se esqueça que o comando acima só funcionará se o diretório detrabalho do R for igual ao que se encontra o arquivo. Caso contrário teráque fornecer o caminho completo onde o arquivo se encontra, assim:dieta2<-read.table("c:/cursoR/diet.csv",header=T,sep=";",dec=",")

dieta2

Abra o help do comando read.table() e veja a descrição dosargumentos sep= e dec=.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 79 / 89

Page 87: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Importação de dados Arquivos Excel (.xls)

Arquivos Excel

Outra forma de ler arquivos do tipo CSV, é através dos comandos> read.csv1("nome-do-arquivo.csv")

> read.csv2("nome-do-arquivo.csv")

O primeiro comando é usado caso o arquivo CSV tenha as variáveisseparadas por vírgula e separador decimal igual a ponto. O segundo éutilizado quando o arquivo CSV separa as variáveis por ponto e vírgula etem separador decimal igual a vírgula. Essas variações no formato CSVacontece devido as configurações regionais do seu computador e dasversões do Excel e do Windows.

Qual desses comandos podemos utilizar para ler o arquivo diet.csv, lidoanteriormente com o comando read.table(). Experimente.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 80 / 89

Page 88: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Importação de dados Arquivos Excel (.xls)

Arquivos Excel

No Windows, há uma forma mais direta de importar dados do Excel, masque nem sempre funciona muito bem, a não ser que as folhas de cálculosnão tenham uma formatação complexa.

Neste caso é necessário utilizar a biblioteca RODBC

A primeira linha de cada folha de cálculo deverá conter o nome dasvariáveislibrary(RODBC)

channel <- odbcConnectExcel("USA.xls")

sqlTables(channel)

usa1 <- sqlFetch(channel, sqtable="folha1")

usa2 <- sqlFetch(channel, sqtable="folha2")

odbcClose(channel)

View(usa1)

View(usa2)

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 81 / 89

Page 89: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Importação de dados Arquivos Excel (.xls)

Arquivo SPSS

Os arquivos do SPSS podem ser lidos diretamente através do comandoread.spss() da biblioteca foreign

> library(foreign)

> dados.spss<-read.spss("demo.sav",to.data.frame=T)

> View(dados.spss)

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 82 / 89

Page 90: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Exportação de dados

Sumário

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 83 / 89

Page 91: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Exportação de dados

Exportação de dados

Podemos exportar dados de vários formatos

ASCII

Excel

SPSS

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 84 / 89

Page 92: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Exportação de dados

Arquivos ASCII

Para exportar os dados usamos a função write.table() que grava umarquivo texto e que pode ser lido na maioria dos outros softwares

> write.table(dados,file="arquivo.dat",sep="\t",row.names=F,quote=FALSE)

1 o primeiro argumento é o nome do objeto do R a ser exportado,2 file= nome do arquivo onde o dado será armazenado3 sep= tipo de delimitador a ser usado4 row.names=F serve para indicar que as linhas desse objeto não têm nome

e ainda previne o R de colocar números como nomes (por default o R vaifazer uma numeração crescente, como se fosse o número do registro, seesse argumento for TRUE).

5 quote = FALSE serve para indicar ao R que variáveis tipo caracter devemser exportadas sem estar entre aspas (porque se estiverem o SPSS não vailevar isso em conta e vai importar as aspas junto).

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 85 / 89

Page 93: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Exportação de dados

Arquivos Excel

Para exportar os dados diretamente para o Excel é necessário carregar abiblioteca xlsReadWrite

library(xlsReadWrite)

write.xls(dados, file="dados.xls")

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 86 / 89

Page 94: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Exportação de dados

Arquivos SPSS

Para exportar os dados diretamente para o SPSS é necessário carregar abiblioteca foreign. A função write.foreign guarda dois ficheiros: um comos dados e outro com o código/sintaxe do SPSS para ser executado.

library(foreign)

data(iris)

iris

write.foreign(iris, datafile="iris.txt",

codefile="iris.sps", package="SPSS")

O arquivo iris.txt contem os dados. O arquivo iris.sps contém a sintaxedo SPSS para ler os dados que estão no arquivo iris.txt.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 87 / 89

Page 95: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Exercício

Sumário

1 Introdução

2 Como pedir ajuda

3 Filosofia de trabalho no R

4 Bibliotecas

5 Objetos

6 Importação de dados

7 Exportação de dados

8 Exercício

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 88 / 89

Page 96: Introdu o ao Rcurso-r.wdfiles.com/local--files/curso-r/Introdução.pdf · Centro de Estatística e Aplicações da Universidade de Lisboa, Portugal Lisboa, ... Não houve mensagem

Exercício

Exercício

Resolva os exercícios 1, 3 e 5 que encontram-se na páginahttp://www.leg.ufpr.br/~paulojus/embrapa/Rembrapa/Rembrapase5.html#x7-310005.8

Crie um script (aula1.r) com os comandos do R necessários paraelaborar cada exercício.

Utilize o símbolo # para introduzir comentários no seu script.

Valeska Andreozzi (CEAUL) Introdução ao R Lisboa, 2011 89 / 89