apostila r - parte i

Upload: samuel-rodrigues

Post on 04-Feb-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/21/2019 Apostila R - Parte I

    1/10

    1

    Curso

    Introduo ao Software R

    Material de Apoio

    Adaptado peloProf. Flavio L M Barboza

    So Paulo 2014

  • 7/21/2019 Apostila R - Parte I

    2/10

    2

    Contedo

    1. Introduo.................................................................................................................................................. 3

    Instalao .................................................................................................................................................... 4

    A sesso de navegao do R ....................................................................................................................... 4

    Definir Variveis ......................................................................................................................................... 4

    Funes ....................................................................................................................................................... 4

    Comentrio ................................................................................................................................................. 4

    Pacotes ......................................................................................................................................................... 5

    O comando de ajuda ................................................................................................................................... 52. Trabalhando com dados ............................................................................................................................ 6

    Valor numrico ........................................................................................................................................... 6

    Vetor ............................................................................................................................................................ 7

    Matriz .......................................................................................................................................................... 7

    Tabela de Dados (Data Frame) ....................................................................................................................... 8

    Importar dados ............................................................................................................................................ 10

    Bibliografia.................................................................................................................................................... 10

  • 7/21/2019 Apostila R - Parte I

    3/10

    3

    1.Introduo

    O uso do Software R tem sido crescente desde seu surgimento alm de inmerascolaboraes para a sua efetiva aplicao em todas as reas do conhecimento. O artigo publicadopelo New York Times, Data Analysts Captivated by Rs Power (do ingls, Analistas de dados socativados pelo poder do R, ressalta esta informao. A praticidade associada ao programa toampla que diversos cientistas citam a sua eficincia, veja:

    "A pergunta certa sobre uma anlise em R no se possvel faz-la, e sim como faz-la."

    Paulo Justiniano Ribeiro, pesquisador em Geoestatstica da UFPR

    A popularidade do R muito superior a outros softwares potentes. Numa competiorealizada em 2011, mais de 50% dos competidores aplicavam o R para resolver seus problemas.

    Robert A. Muenchen, pesquisador da Universidade do Tennessee, EUA

    Fonte: Muenchen, 2012.

    Alm de ser um software gratuito, o R possui cdigo aberto e permite a insero de novos

    pacotes (ou bibliotecas) para facilitar o trabalho do usurio, pois a aplicao de um pacote impe aoprograma uma srie de comandos pr-definidos, dinamizando as tarefas.

    Este material tem o intuito de auxiliar na dinmica do curso que aborda os primeiros passosno manuseio deste programa. A estrutura do contedo pressupe conhecimentos bsicos deestatstica, tais como descrio de dados e probabilidade. O teor deste material permeia desde ainstalao do programa at estudos estatsticos de menor intensidade.

    A expectativa que os participantes contribuam para a melhoria contnua da didtica destecurso, assim como aproveitarem ao mximo o conhecimento aqui apresentado.

  • 7/21/2019 Apostila R - Parte I

    4/10

    4

    InstalaoO R baseado em um programa que est disponvel para download no site R-Project, sustentadopelos seus autores e colaboradores. Diversos pontos tambm so encontrados pelo mundo. No sitehttp://cran.r-project.org/mirrors.html possvel visualizar todos os portadores disponveis.Essa verso possui alguns pacotes bsicos pr-instalados, caso necessite de pacotes especficos,existe uma lista para download gratuito no prprio CRAN.

    A sesso de navegao do RAo rodar o programa, uma tela inicial ter uma janela principal denominada CONSOLE. No final doconsole visto um caractere do tipo >, que representa um prompt, ou seja, o ponto inicial deinterao com o R. Nele voc pode inserir valores, funes, comandos, fazer instalaes e outrasmuitas tarefas. O exemplo a seguir mostra a insero de uma conta, para repetir este procedimento,clique na frente do prompt e digite 1 + 2 e aperte a tecla enter. O resultado ser o mesmo visualizadoabaixo.

    > 1 + 2[1] 3

    Definir Variveis feito identificando um caractere (diferente de nmero) seguido pelo sinal "=". O exemplo abaixomostra a atribuio do valor 1 varivel x. O smbolo "

  • 7/21/2019 Apostila R - Parte I

    5/10

    5

    PacotesTambm conhecido como bibliotecas, possuem um bloco de funes pr-definidas, para que ousurio realize diversos procedimentos com poucos comandos, j que o pacote nutre o programacom uma srie de informaes importantes que, dessa maneira, ficam implcitas. Para fazer isso,insira o seguinte comando e siga os procedimentos.

    > install.packages()

    O comando de ajudaDigite

    > help() #Se estiver conectado a internet, visita a pgina de ajuda do R-Project.

    O comando demo faz uma breve apresentao das ferramentas mais usadas pelo R.

    > demo()

    A ferramenta apropospermite que voc localize em sua biblioteca quais comandos possuem umcerto nome que procura. Observe,

    > apropos("nova")[1] "anova" "anova.glm"

    ....

    EXERCCIOS:1)Execute a demonstrao de grficos do R.2)Procure pela palavra plot nos comandos do R.

    3)Bate-bola com o professor: uma pergunta sobre o exerccio 1 e 2.

    Respostas

    1: o comando demo(graphics) apresentar 11 pginas de grficos que so produzidos no R.

    2: existem 39 comandos (ou mais) com a palabra plot no R. Isto depende dos pacotes instalados em seu PC.

  • 7/21/2019 Apostila R - Parte I

    6/10

    6

    2.Trabalhando com dados

    Os dados podem ser armazenados e manipulados quantitativa e qualitativamente. Vejamos asformas com que isso possvel:

    Valor numricoPode ser um nmero real qualquer, inteiro, complexo, lgico, caractere, vetorial, matricial e outros.

    > y = as.integer(3,14)> y # print the value of y[1] 3> class(y) # print the class name of y[1] "integer"> is.integer(y) # is y an integer?[1] TRUE

    > z = 1 + 2i # create a complex number> z # print the value of z[1] 1+2i> class(z) # print the class name of z[1] "complex"

    > x = 1; y = 2 # sample values> z = x > y # is x larger than y?> z # print the logical value[1] FALSE> class(z) # print the class name of z[1] "logical"

    Operadores lgicos: "&" (e), "|" (ou), e "!" (no).

    > u = TRUE; v = FALSE> u & v # u AND v[1] FALSE> u | v # u OR v[1] TRUE> !u # negation of u[1] FALSE

    > x = as.character(3.14)> x # print the character string[1] "3.14"

    > class(x) # print the class name of x[1] "character"

    Caracteres podem ser ligados e desligados

    > fname = "Nome"; lname ="Completo"> paste(fname, lname)[1] "Nome Completo"

    > sprintf("%s has %d dollars", "Sam", 100)[1] "Sam has 100 dollars"

    > substr("Mary has a little lamb.", start=3, stop=12)[1] "ry has a l"

    > sub("little", "big", "Mary has a little lamb.")[1] "Mary has a big lamb."

    Cuidado!!> sqrt(1) # raiz quadrada de 1

    [1] NaNMensagens de aviso perdidas:

    In sqrt(1) : NaNs produzidos

    Para casos como este use> sqrt(1+0i) #raiz quadrada de 1+0i

    [1] 0+1i

  • 7/21/2019 Apostila R - Parte I

    7/10

    7

    Vetor

    > c(2, 3, 5)[1] 2 3 5

    > c(TRUE, FALSE, TRUE, FALSE, FALSE) #vetor lgico[1] TRUE FALSE TRUE FALSE FALSE

    > c("aa", "bb", "cc", "dd", "ee") #vetor de caracteres[1] "aa" "bb" "cc" "dd" "ee"

    > length(c("aa", "bb", "cc", "dd", "ee")) #nmero de elementos do vetor[1] 5

    Operaes com Vetores

    > n = c(2, 3, 5)> s = c("aa", "bb", "cc", "dd", "ee")> c(n, s)[1] "2" "3" "5" "aa" "bb" "cc" "dd" "ee"

    > a = c(1, 3, 5, 7)> b = c(1, 2, 4, 8)

    > 5 * a # multiplicando o vetor a por um nmero real. Neste caso, 5.[1] 5 15 25 35

    > a + b # soma de dois vetores[1] 2 5 9 15

    > a - b # subtrao de dois vetores[1] 0 1 1 -1

    > a * b # multiplicao de dois vetores[1] 1 6 20 56

    > a / b # diviso de dois vetores[1] 1.000 1.500 1.250 0.875

    > u = c(10, 20, 30)> v = c(1, 2, 3, 4, 5, 6, 7, 8, 9)> u + v # vetores de diferentes dimenses podem ser operados entre si.[1] 11 22 33 14 25 36 17 28 39

    > s = c("aa", "bb", "cc", "dd", "ee")> s[3] # descobrindo quem o terceiro elemento do vetor s[1] "cc"

    Matriz> A = matrix(+ c(2, 4, 3, 1, 5, 7), # the data elements+ nrow=2, ncol=3, # number of rows and number of columns

    + byrow = TRUE) # fill matrix by rows

    > A # print the matrix[,1] [,2] [,3]

    [1,] 2 4 3[2,] 1 5 7

    > A[2, 3] # mostra o elemento da segunda linha e terceira coluna[1] 7

    > A[2, ] # mostra a segunda linha[1] 1 5 7

    > A[ ,3] # mostra a terceira coluna[1] 3 7

    > A[ ,c(1,3)] # mostra a primeira e a terceira coluna[,1] [,2]

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

  • 7/21/2019 Apostila R - Parte I

    8/10

    8

    > dimnames(A) = list(+ c("Homem", "Mulher"), # insere nome nas linhas+ c("Presente", "Ausente", "Outros")) # insere nome nas colunas

    > A # mostra a matriz APresente Ausente Outros

    row1 2 4 3

    row2 1 5 7

    > A["row2", "col3"] # mostra o elemento da segunda linha e terceira coluna[1] Erro em A["row2", "col3"] : ndice fora de limites

    > A["Mulher","Outros"][1] 7

    > t(A) # exibe a matriz transposta de A> c(B) #transforma a matriz em um vetor

    Tabela de Dados (Data Frame)Dados podem ser agrupados em uma tabela (quadro), como o usurio preferir. O comando do R

    para isso denomina-se data.frame, que tem o objetivo de agrupar vetores. Uma exigncia destafuno que os vetores tenham o mesmo tamanho. Acompanhe o exemplo:

    > n = c(2, 3, 5)> s = c("aa", "bb", "cc")> b = c(TRUE, FALSE, TRUE)> df = data.frame(n, s, b) # df is a data frame

    Data Frames disponveis no RExistem alguns modelos de tabela de dados pr-definidas no R. Por exemplo,

    > womenheight weight1 58 1152 59 1173 60 120... ... ...14 71 15915 72 164

    > women[14,2] # mostra o element da linha 12 e coluna 2[1] 159

    > women[8,] # ver todos dados da linha 8height weight

    8 65 135

    > women[1:3,] # visualize todas colunas da linha 1 a 3height weight

    1 58 1152 59 1173 60 120

    > women[,2] # ver todos dados da segunda coluna[1] 115 117 120 123 126 129 132 135 139 142 146 150 154 159 164

    > women[c(1,3,7,13),] # linhas 1, 3, 7, e 13; todas colunasheight weight

    1 58 1153 60 120

    7 64 13213 70 154

    > women[c(1,3,7,13),1] # linhas 1, 3, 7, and 13; coluna 1[1] 58 60 64 70

  • 7/21/2019 Apostila R - Parte I

    9/10

    9

    > mtcarsmpg cyl disp hp ... gear carb

    Mazda RX4 21.0 6 160.0 110 ... 4 4Mazda RX4 Wag 21.0 6 160.0 110 ... 4 4... ... ... ... ... ... ... ...Maserati Bora 15.0 8 301.0 335 ... 5 8Volvo 142E 21.4 4 121.0 109 ... 4 2

    > warpbreaksbreaks wool tension1 26 A L2 30 A L3 54 A L... ... ... ...53 16 B H54 28 B H

    > mtcars["Mazda RX4", "cyl"][1] 6

    > nrow(mtcars)

    [1] 32

    > ncol(mtcars)

    [1] 11

    > help(mtcars)

    > mtcars[[9]][1] 1 1 1 0 0 0 0 ...

    > mtcars[["am"]][1] 1 1 1 0 0 0 0 ...

    > mtcars$am[1] 1 1 1 0 0 0 0 ...

    EXERCCIOS:Considere a tabela mtcars.1)Apresente a primeira coluna de dados.2)Mostre a coluna vs.

    3)Mostre simultaneamente os dados de wt e hp.4) Visualize os dados do carro 24 veculo.5) Visualize simultaneamente os dados do carro 3 e 24 veculo.7) Mostre em uma mesma tabela os dados dos carros Datsun 710 e Camaro Z28.8) Faa uma tabela com os veculos que possuem transmisso manual (coluna am).9) Apresente a tabela anterior somente com os dados da 2 coluna (cyl).

    Respostas:

    1) > mtcars[1]

    mpg

    Mazda RX4 21.0

    Mazda RX4 Wag 21.0

    Datsun 710 22.8

    ...

    2) > mtcars["vs"]

    vs

    Mazda RX4 0

    Mazda RX4 Wag 0

    Datsun 710 1

    ...

    3) > mtcars[c("wt", "hp")]

    wt hp

    Mazda RX4 2.620 110

    Mazda RX4 Wag 2.875 110

    Datsun 710 2.320 93

    ...

    4) > mtcars[24,]

    mpg cyl disp ...

    Camaro Z28 13.3 8 350 ...

    5) > mtcars[c(3, 24),]

    mpg cyl disp ...

    Datsun 710 22.8 4 108 ...

    Camaro Z28 13.3 8 350 ...

    6) > mtcars["Camaro Z28",]

    mpg cyl disp hp drat wt ...

    Camaro Z28 13.3 8 350 245 3.73 3.84 ...

    7)

    > mtcars[c("Datsun 710", "Camaro Z28"),]

    mpg cyl disp hp drat ...

    Datsun 710 22.8 4 108 93 3.85 ...

    Camaro Z28 13.3 8 350 245 3.73 ...

    ...

    8) > L = mtcars$am == 0

    > L

    [1] FALSE FALSE FALSE TRUE ...

    > mtcars[L,]

    mpg cyl disp hp drat ...

    Hornet 4 Drive 21.4 6 258.0 110 3.08 ...

    Hornet Sportabout 18.7 8 360.0 175 3.15 ...

    ...

    9) > mtcars[L,]$cyl

    [1] 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 8 8 8 8

  • 7/21/2019 Apostila R - Parte I

    10/10

    10

    Importar dadosO R ofecere aos usurios a opo de importar dados de tabelas que foram construdas em outrosprogramas, destacando-se Excel, Minitab, Stata e SPSS.

    Importar tabela de arquivo Excel

    > importado = read.csv("nomedoarquivo.csv") # necessrio converter para CSV.> importado # mostra a tabela importada do arquivo csv. Veja exemplo.Col1 Col2 Col3

    1 100 a1 b12 200 a2 b23 300 a3 b3

    Bibliografia

    [1] Tutorial R. Disponvel em: < http://www.r-tutor.com/ >. Acessado no dia 19/12/2013.

    [2] Munchen, R.A. The Popularity of Data Analysis Software. Disponvel em: < http://r4stats.com/articles/popularity/ >. Acessado no dia 20/12/2013.

    [3] Ribeiro Junior, P.J. Introduo ao Ambiente Estatstico R. Disponvel em: < http://www.leg.ufpr.br/~paulojus/embrapa/Rembrapa/>. Acessado no dia 20/12/2013.

    [4] Uso da Linguagem R para Anlises de dados Ecolgicos. Disponvel em: . Acessado no dia: 19/12/2013.[5] Rosa, F. Aprenda a usar o R. Disponvel em: http://www.fernandohrosa.com.br/br/P/aprenda-a-usar-o-r/ . Acessado no dia 19/12/2013.

    [6] Black, K. R Tutorial. Disponvel em: < http://www.cyclismo.org/tutorial/R/ >. Acessado no dia19/12/2013.

    [7] Spector, P. An Introduction to R. Disponvel em:.Acessado no dia 10/12/2013.

    Sugestes de leitura e visualizao complementares:Site oficial do R: http://www.r-project.org/

    Vdeos no You Tube sobre R: http://www.youtube.com/results?search_query=tutorial+r&sm=3

    Tutoriais (material semelhante a apostila): https://www.google.com.br/#q=r+tutorial

    Site do Revolution Analytics: http://blog.revolutionanalytics.com/2012/04/20-free-r-tutorials-and-one-reference-card.html

    Material com bastante informao elaborado por membros da City University of New York:http://wiener.math.csi.cuny.edu/Statistics/R/simpleR/