Download - Apostila R - Parte I
-
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/