O documento apresenta um resumo de um minicurso sobre introdução ao software R. O minicurso aborda tópicos como a instalação do R, os primeiros passos no programa, objetos no R como vetores e matrizes, e funções básicas como help().
1. Minicurso I
Análise Exploratória e Modelação com R
1. Introdução ao R
Amílcar Oliveira ; Teresa Oliveira
amilcar.oliveira@uab.pt teresa.oliveira@uab.pt
DCeT, Universidade Aberta & CEAUL, Universidade de Lisboa
Manaus, 12 a 15 de agosto, 2014
2. Tópicos
1. Introdução
2. Instalação do programa R
3. Os primeiros passos
4. Objetos
5. Funcionalidades
6. Manipulação de Dados
2
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
3. 1. Introdução
R é um sistema para computação estatística e gráficos. Consiste numa
linguagem e num ambiente de operação com gráficos, acesso a certas
funções do sistema e capacidade de executar comandos armazenados em
arquivos (scripts);
Trata-se de uma aplicação de distribuição gratuita, código fonte aberto, faz
parte do GNU Project http://www.gnu.org/ , desenvolvido por Ross Ihaka
e Robert Gentleman na década de 90 a partir da linguagem S;
Executável nos principais sistemas operativos: Linux, Macintosh e
Windows;
Sistema gerido por rede mundial de investigadores;
Instalação simples, linguagem acessível;
Excelentes capacidades gráficas;
3
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
4. 1. Introdução
Permite fazer análises estatísticas de forma tão ou mais potente que
outros programas não gratuitos (SAS, SPSS, etc...);
Permite importar dados de outros programas (Access, Excel, SPSS, SAS,
etc...);
Conjunto integrado de ferramentas que permitem a manipulação e análise
de dados, o cálculo numérico e a produção e visualização de gráficos;
Linguagem interpretada (os comandos são imediatamente executados);
Linguagem orientada por objetos (os dados manipulados são armazenados
na memória ativa do computador na forma de objetos, que têm um nome
e aos quais se podem aplicar ações);
• Sempre que estivermos a referir-nos a um código ou a um output de texto
do R, usaremos a fonte Courier New.
4
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
5. 1. Introdução (Páginas na Internet sobre o sistema R)
http://www.r-project.org - Homepage do R, a partir desta
página podemos aceder a todas as outras páginas
relacionadas.
http://cran.br.r-project.org/
O servidor mirror (espelho)
brasileiro (UFPr)
http://cran.r-project.org/other-docs.html - documentos de
ajuda e manuais em formato pdf.
5
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
7. 2. Instalação do programa R
7
Passo 1: Obter o ficheiro de instalação
Através da internet indo directamente à página do R em
http://www.r-project.org visualizamos:
No menu do lado esquerdo, na secção download clique em CRAN e de
seguida escolha um dos servidores disponíveis para a transferência do
ficheiro.
Clicando então sobre o endereço atrás indicado vamos para esta nova página.
Aqui devemos em primeiro lugar fazer o download do ficheiro com o Source
code numa pasta para mais tarde executarmos.
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
8. 2. Instalação do programa R
8
Clicando sobre o link R-3.1.1.tar.gz surgirá esta janela e agora podemos
optar por guardar o ficheiro numa pasta ( por exemplo c:ProgramasR ).
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
9. 2. Instalação do programa R
9
Clicando então em Guardar como devemos procurar a pasta de destino, como no
exemplo seguinte:
No final aparecerá a mensagem de transferência concluída.
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
10. 2. Instalação do programa R
10
No caso do sistema operativo utilizado ser Windows devemos então clicar sobre
Download R for Windows e seremos conduzidos a
Deve agora clicar na sub-directoria base para fazer a transferência do ficheiro
principal de instalação, ou em contrib para escolher outros packages extra
disponíveis. Pensemos agora apenas no caso da opção base para a instalação
principal do R ou em install R for the first time, caso de trate da primeira instalação.
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
11. 2. Instalação do programa R
11
Aparecerá então uma nova página, contendo para além do ficheiro de instalação
principal, outras informações que para a nossa tarefa atual não são relevantes.
Agora clique sobre Download R 3.1.1 for Windows
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
12. 2. Instalação do programa R
12
Para guardar o ficheiro clique na opção correspondente Guardar como e de seguida
seleccione a pasta para onde será guardado
Se optar pela execução do ficheiro inicia-se de imediato o Passo 2.
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
13. 2. Instalação do programa R
13
Passo 2: Instalação do R
Clique em Executar ou caso tenha o ficheiro de execução guardado numa pasta:
Procure o ficheiro R-3.1.1.tar.gz e descomprima-o para a pasta onde vai guardar o
programa, por exemplo ( c:ProgramasRR-3.1.1 ).
Procure agora o ficheiro de instalação R-3.1.1-win32.exe obtido atrás e execute-o.
Em primeiro lugar seleccione o idioma do programa de instalação e clique em OK.
Neste momento entrará no Assistente de instalação do R para Windows.
Leia as instruções e clique em Seguinte nos próximos quadros:
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
14. 2. Instalação do programa R
14
O R possui uma licença do tipo
GNU General Public Licence.
Pode ler o Contrato de Licença de
Uso e de seguida clique em
Seguinte.
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
15. 2. Instalação do programa R
15
Selecione as componentes a instalar e clique em Seguinte
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
16. 2. Instalação do programa R
16
Escolha o nome da pasta para o atalho que será criado no Menu Iniciar, ou aceite a
sugestão e clique em Seguinte
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
17. 2. Instalação do programa R
17
Durante a instalação deverá ver uma janela deste tipo
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
18. 2. Instalação do programa R
18
E finalmente, a instalação foi realizada com sucesso. Parabéns.
Clique em Concluir para fechar o programa de instalação.
Agora, se tudo correu bem, o R está pronto a ser usado, e terá sido
criado um ícone no ambiente de trabalho ao qual pode recorrer
para entrar na área de trabalho do R.
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
19. 3. Os primeiros passos (Como iniciar uma sessão?)
Criar na área de trabalho uma nova pasta (por exemplo, TrabalhoR)
onde irão ser guardados os ficheiros de dados.
Iniciar o R através do menu:
Iniciar → Todos os programas → R → R 3.1.1
ou em alternativa, através
Atalho criado no ambiente de trabalho
19
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
20. 3. Os primeiros passos (Ambiente de trabalho)
20
Fig. 2 Ambiente de trabalho do Software R
R GraphicsR Console
Menu principal
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
21. • O R funciona fundamentalmente no modo “pergunta-resposta”;
• Os comandos (frases que se escrevem numa certa sintaxe) introduzem-se a seguir
à linha de comando ( > ) e são executados automaticamente ou após pressionar a
tecla Enter;
• Para selecionar comandos executados anteriormente usar: ↑ ou ↓
• Para percorrer a linha de comandos usar: ← ou →
• Colocar o cursor no início / fim da linha de comandos: Home / End ;
• Para terminar o R deve executar-se o comando q() ou fechar a janela da aplicação.
21
3. Os primeiros passos (Como funciona?)
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
22. • Para atribuirmos um valor a um objeto usa-se o operador <- ;
• O nome de um objeto pode ser escolhido usando letras e números,
combinações de letras e números. Ex: x<-2 , x2=c(1,2,3);
Pode ainda ser usado o ponto ( . ) Ex: a.1<-5 , mas na atribuição do
nome deve figurar sempre uma letra em primeiro lugar.
• O simbolo cardinal # é ignorado pelo R e deve preceder qualquer
comentário, Ex:
> x=rnorm(10,0,1) # gera 10 valores com
distribuição normal de média 0 e variância 1
• Usa operadores aritméticos, relacionais e lógicos;
• Usa funções matemáticas, funções estatísticas e distribuições de
probabilidade. 22
3. Os primeiros passos (Como funciona?)
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
23. Cálculo do valor duma expressão - o resultado é apresentado no visor e não
é registado em memória.
> 2+sqrt(5)-2/3
[1] 3.569401
> exp(3)+log(5/7) # log é logaritmo neperiano
[1] 19.74906
Atribuição – o resultado da expressão é atribuído a um objeto e não é
apresentado no visor.
> x <- 5 # <- é o operador de atribuição
> x
[1] 5
> y <- 2+3/4*7^2
> y
[1] 38.75 23
3. Os primeiros passos (Comandos Elementares)
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
24. O comando help()
é habitualmente usado para obter informação sobre uma função específica.
Por exemplo, para obter informação sobre a função cos() pode utilizar-se
qualquer uma das opções:
> help(cos)
> help(“cos")
> ?cos
O comando help.search()
permite pesquisar uma sequência de caracteres. Por exemplo:
> help.search(“linear regression")
O comando help.start()
acede a uma página com informação diversa sobre o R.
(Existe também Help no menu no ambiente de trabalho do R.)
24
3. Os primeiros passos (O comando help)
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
25. 4. Objetos
Os objetos são entidades que o R cria e manipula e que são guardados em
memória.
O R funciona executando funções sobre objetos; (Exemplos: valores, vetores,
matrizes, ...)
Cada objeto é caracterizado por um nome, conteúdo (sequência de
elementos do objeto) e atributos (que especificam certas características do
objeto).
Todos os objetos têm dois atributos intrínsecos:
mode : tipo de elementos do objeto (numérico, alfanumérico, lógico, ...;
length : número de elementos do objeto.
Exemplo:
> x<-c(1,2,3,4,5)
> mode(x)
[1] "numeric"
> length(x)
[1] 5
25
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
26. 4. Objetos
26
Para listar os objetos que se encontram disponíveis pode utilizar-se
qualquer uma das seguintes opções:
> ls()
> objects()
Para mostrar alguma informação sobre os objetos:
> ls.str()
Para eliminar objectos:
> rm(objecto1, objecto2,...)
Para eliminar todos os objectos:
> rm(list=ls())
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
27. 4. Objetos (Workspace)
27
Apresenta a coleção de objetos disponíveis numa sessão de trabalho, e pode
ser guardada num ficheiro com vista a sua utilização em futuras sessões.
No final de cada sessão é perguntado ao utilizador se pretende guardar o
Workspace. Caso a resposta seja afirmativa, todos os objectos disponíveis
em memória são guardados no ficheiro “.RData”, na pasta de trabalho em
uso, podendo ser carregados na sessão do R seguinte.
Podem os especificar qual a nossa pasta de trabalho usando:
menu File → Change dir...
Para importar um ficheiro de objectos (por exemplo o ficheiro “.RData”):
menu File → Load Workspace...
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
28. 4. Objetos
28
Vector
Matrix
List
Data Frame
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
29. Um vector é um conjunto ordenado de elementos do mesmo tipo
(mode) (valores numéricos, lógicos, alfanuméricos, ...);
Uma das formas de criar um vetor no R é através da função c();
c() é função designada função concatenação.
> x <- c(1.54, 1.72, 1.67, 1.65, 1.59)
> x
[1] 1.54 1.72 1.67 1.65 1.59
> y <- c(FALSE, FALSE, TRUE, TRUE, FALSE)
> y
[1] FALSE FALSE TRUE TRUE FALSE
> cores <-c (“Verde",“Vermelho",“Azul“, “Amarelo”)
> cores
[1] “Verde" “Vermelho" “Azul“ “Amarelo”
29
4. Objetos (Vector)
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
30. 30
4. Objetos (Vector)
Um vector pode conter os símbolos especiais NA e NaN, que designam
respetivamente um valor desconhecido e um valor não definido.
> y <- c(NA, 53, 31, 15, 62)
> sqrt(c(-1,1,2))
[1] NaN 1.000000 1.414214
Warning message:
NaNs produced in: sqrt(c(-1, 1, 2))
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
31. 31
4. Objetos
(outras formas de criar um vetor)
n1:n2 sequência de valores, de uma em uma unidade, começando em n1 e
terminando em n2
rep(v1,r) cria um vetor contendo r vezes o valor v1
seq(a1,a2,a3) cria uma sequência de números no intervalo [a1,a2],
separados por intervalos de a3 unidades
c(rep(a,b),rep(c,d)) concatena dois vetores em um, (b>a) e (d>c)
(manipulação de vetores)
rounded(v) arredonda o número ou vetor de números v para o inteiro
mais próximo
sort(v) apresenta os valores do vetor v por ordem crescente
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
32. 32
4. Objetos (Matrix)
Uma matrix é um conjunto de dados, todos do mesmo tipo, referenciados por
dois índices (i,j). Trata-se de uma generalização para duas dimensões de um
vector.
Uma matrix é definida pelo número de linhas (n), numero de colunas (m) e um
conjunto de (n×m) valores.
Com a função matrix() podemos criar matrizes.
> A<-matrix(c(2,3,4,2,1,2,5,2,3),nrow=3,ncol=3)
> A
[,1] [,2] [,3]
[1,] 2 2 5
[2,] 3 1 2
[3,] 4 2 3
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
33. 33
4. Objetos (Matrix)
Para os valores aparecerem antes dispostos por linhas, usa-se byrow=T
> A<-matrix(c(2,3,4,2,1,2,5,2,3),nrow=3,ncol=3,byrow=T)
> A
[,1] [,2] [,3]
[1,] 2 3 4
[2,] 2 1 2
[3,] 5 2 3
Para obtermos a dimensão duma matriz: dim(A)
> dim(A)
[1] 3 3
Neste caso a matriz tem 3 linhas e 3 colunas
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
34. 34
4. Objetos (Matrix)
Um vetor pode facilmente ser transformado numa matriz
> V <- c(4,5,-2,2,-1,6) # V é um vetor
E por sua vez uma matriz pode ser transformada num vetor
> as.vector(V)
[1] 4 5 -2 2 -1 6
> dim(V)<-c(3,2)
> V
[,1] [,2]
[1,] 4 2
[2,] 5 -1
[3,] -2 6
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
35. 35
4. Objetos (Matrix - indexação)
A[i,j] é o elemento de A que está na linha i e na coluna j
> A[2,1] # elementos da segunda linha e primeira coluna
da matriz A
A[i,] é a linha i e A[,j] é a coluna j da matriz A. Estes objectos são do tipo
vector
> A[2,] # vetor constituido pelos elementos da segunda
linha
> A[,1] # vetor constituído pelos elementos da primeira
coluna
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
36. 36
4. Objetos (Matrix - operações)
As operacoes +, -, *, /, ^ são realizadas elemento a elemento.
Todos os objetos do tipo matrix envolvidos na expressão devem ter o mesmo
atributo dim (isto é, o mesmo número de linhas e de colunas).
> A*A
[,1] [,2] [,3]
[1,] 4 9 16
[2,] 4 1 4
[3,] 25 4 9
Nota: esta operação A*A não é a habitual multiplicação de matrizes definida em
Álgebra Linear.
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
37. 37
4. Objetos (Matrix - operações)
O operador multiplicação de matrizes é %*%
Se A e B são matrizes encadeadas dos tipos dim(A)=c(n,k) e dim(B)=c(k,m),
a matriz produto A%*%B é do tipo c(n,m).
> A%*%V
[,1] [,2]
[1,] 15 25
[2,] 9 15
[3,] 24 26
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
38. 38
4. Objetos (algumas funções envolvendo matrizes)
t(A) - calcula a transposta da matriz A;
isSymmetric(A) - testa se a matriz A é simétrica;
solve(A) calcula a inversa da matriz (quadrada) A;
solve(A,b) - calcula a solução do sistema Ax=b, onde A é uma matriz
quadrada e b pode ser um vetor ou uma matriz;
det(A) calcula o determinante da matriz (quadrada) A;
eigen(A) calcula os valores e vetores próprios da matriz (quadrada) A;
kronecker(A1,A2) calcula o produto de Kronecker (A1⊗A2)
sum(diag(A)) calcula o traço da matriz A
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
39. 39
4. Objetos (List)
Listas (List) são estruturas genéricas e flexíveis que permitem armazenar
diversos formatos num unico objeto.
> lis1 <- list(A = 1:15, B = “ISTO É UMA MENSAGEM", C =
matrix(1:9,nrow = 3,byrow=T))
> lis1
$A
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
$B
[1] “ISTO É UMA MENSAGEM"
$C
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
40. 40
4. Objetos (Data frame)
Uma data frame é semelhante a uma matriz, mas na qual as colunas podem
ser de tipos diferentes.
> serras <- data.frame(nome=serras.nome,
altitude=serras.altitude)
> resultados <- data.frame(na=c(12345:12350),
+ turma=c(1,1,2,2,3,3),nota=c(10.1,8.2,12.5, 13.1,9.7,7.3))
As data frame são casos especiais de listas onde as componentes têm o
mesmo número de elementos.
Uma data frame pode ser considerada como uma tabela de uma base de
dados: cada coluna corresponde aos atributos (campos) e cada linha
corresponde a um registo da tabela.
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
41. 41
4. Objetos (Data frame)
Os elementos de uma data frame podem ser referidos (como numa matriz)
indicando a linha e a coluna:
> serras[4,1]
> serras[,2]
Pode também ser usada a notação nomeDataFrame$nomeComponente
(como numa lista):
> serras$nome
> serras[[1]]
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
42. 42
4. Objetos (Data frame – função attach)
As consultas a data frames podem ser simplificadas utilizando a função
attach()
A função attach() permite aceder directamente às colunas de uma data
frame, sem termos de indicar o nome dessa data frame.
> turma
Error: object "turma" not found
> attach(resultados)
> turma
[1] 1 1 2 2 3 3
> detach(resultados)
> turma
Error: object "turma" not found
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
43. 5. Funcionalidades (Algumas funções usadas sobre vetores
numéricos)
length(x) - número de elementos do vetor x;
sum(x) - soma dos elementos do vetor x;
prod(x)- produto dos elementos do vetor x;
cumsum(x)- vetor cujos elementos são a soma acumulada dos
elementos do vetor x;
cumprod(x)- vetor cujos elementos são o produto acumulado dos
elementos do vetor x;
sort(x)- vetor com os elementos do vetor x ordenados por
ordem crescente.
43
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
47. Distribuições de Probabilidade
47
Distribuição Descrição
rnorm(n,mean,sd)
runif(x,min,max)
rt(x,df)
rf(x)
rexp(x)
rchisq(x,df)
rbinom(x,n,p)
rgeom(x,p)
rpois(x,lambda)
rhyper(x,m,n,k)
Normal
Uniforme
t de Student
F
Exponencial
Qui-Quadrado
Binomial
Geométrica
Poisson
Hipergeométrica
Tabela 4. Distribuições de Probabilidade
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
48. 5. Funcionalidades (o R funcionando como calculadora)
48
A partir da linha de comando do R podemos somar …
> 3+2
[1] 5
... subtrair,
> 18-2
[1] 16
… multiplicar,
> 5*4
[1] 20
... dividir,
> 37/3
[1] 12.33333
ou realizar cálculos um pouco mais complexos como se fosse uma calculadora científica
> sin(2*pi/3)
[1] 0.8660254
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
49. 5. Funcionalidades
49
Mas podem ocorrer erros quando o R não entende o que foi digitado, por exemplo:
> 5,1*3 # O R usa o “.” e não “,”
Error: syntax error
> coss(2.3)
Error: could not find function "coss“
Cálculos repetitivos podem tornar-se automáticos no R:
> x<-12
> x
[1] 12
> for (i in 1:4) {x+2->x}
> x
[1] 20
Uma sequência de numeros 1 a 8 pode ser obtida fazendo
> 1:8
[1] 1 2 3 4 5 6 7 8
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
50. 5. Funcionalidades
50
Podemos designar x como a sequência 1 a 8
> x<-1:8
> x
[1] 1 2 3 4 5 6 7 8
e utilizar a sequência x
> x+2
[1] 3 4 5 6 7 8 9 10
Também é possível duas sequências
> y<-6:13
> y
[1] 6 7 8 9 10 11 12 13
> x+y
[1] 7 9 11 13 15 17 19 21
ou multiplicá-las.
> x
[1] 1 2 3 4 5 6 7 8
> y
[1] 6 7 8 9 10 11 12 13
> x*y
[1] 6 14 24 36 50 66 84 104
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
51. 51
Podemos efetuar outro tipo de algumas operações matemáticas simples
utilizando o R.
Vejamos mais alguns exemplos:
20^2 + 21^2 + . . . + 30^2
Para obter a resposta devemos:
1) criar uma sequência de números de 20 a 30
2) elevar ao quadrado cada valor deste vetor
3) somar os elementos do vetor
E estes passos correspondem aos seguintes comandos
> (20:30)
[1] 20 21 22 23 24 25 26 27 28 29 30
> (10:20)^2
[1] [1] 400 441 484 529 576 625 676 729 784 841 900
> sum((20:30)^2)
[1] 6985
5. Funcionalidades
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
52. 52
De notar que apenas precisamos do último comando para obter a resposta,
no entanto é importante entender a sequência dos comandos,
especialmente quando estamos em fase de aprendizagem!
(b) log(1) + log(10) + log(100) + . . . + log(10000000000)
onde log representa o logaritmo neperiano.
Resolvendo agora com apenas um comando:
> sum(sqrt(log(10^(0:10))))
[1] 34.09397
5. Funcionalidades
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
53. 53
5. Funcionalidades (Gráficos de funções)
Vejamos o seguinte exemplo:
(b) 𝑓 𝑥 = 1 −
1
𝑥
cos 𝑥 , 𝑝𝑎𝑟𝑎 0 ≤ 𝑥 ≤ 100
> x <- seq(0, 100, l = 101)
> fx <- 1 - (1/x) * cos(x)
> plot(x, fx, type = "l")
0 20 40 60 80 100
0.60.81.01.2
x
fx
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
54. 54
6. Manipulação de Dados
Podemos dar entrada dos dados no R de diferentes formas, consoante a
dimensão do conjunto de dados e/ou da existência dos mesmos numa base já
criada.
Inserção de dados diretamente no R (através da criação de vetores)
Podemos dar entrada com dados definindo vetores com o comando c() ou
usando outras funções que criam vetores.
> x1<-c(12,13,14,12,11,10,9,15)
> x1
[1] 12 13 14 12 11 10 9 15
> x2 <- (1:5) * 100
> x2
[1] 100 200 300 400 500
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
55. 55
Usando a função scan()
Esta função permite a leitura dos dados diretamente a partir do ambiente R, ou
seja, coloca o R em modo prompt onde o utilizador deve digitar cada valor seguido
da tecla <ENTER>. Para terminar a entrada de dados basta digitar <ENTER>
duas vezes consecutivas. Vejamos o exemplo:
> x<-scan()
1: 2
2: 3 Para corrigir e/ou alterando dados
3: 2 Ex: substituir 6 por 2
4: 5
5: 6 > x[5]=2
6: 3 > x
7: 4 [1] 2 3 2 5 2 3 4 1 2 3
8: 1
9: 2
10: 3
11:
Read 10 items
> x
[1] 2 3 2 5 6 3 4 1 2 3
6. Manipulação de Dados
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
56. 56
Usando a função edit()
O comando edit(data.frame()) abre uma folha para a digitação dos
dados que são armazenados como data frames.
6. Manipulação de Dados
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
57. 57
Lendo os dados a partir de um ficheiro de texto
A forma mais simples de fazer isso é usar dados em formato texto (arquivo do
tipo ASCII).
Por exemplo, se os dados estão disponíveis numa folha de cálculo, como
EXCEL ou equivalente, podemos sempre na escolher a opção <SALVAR
COMO> e gravar os dados num ficheiro formato de texto.
No R, usamos a função scan(), ou então a função read.table()para ler
os dados de um ficheiro de texto e armazenar no formato de uma data frame.
Exemplo 1
Como primeiro exemplo consideremos a importação para o R dos dados deste
ficheiro texto.
Clicando no link podemos visualizar o ficheiro. De seguida copiamos o ficheiro
para a área de trabalho (working directory do R). Para importar este ficheiro
usamos:
>exemplo1 <- read.table(“exemplo1.txt")
>exemplo1
6. Manipulação de Dados
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
58. 58
Lendo os dados a partir de um ficheiro de texto
Exemplo 2
Consideremos agora a importação para o R dos dados deste ficheiro de texto.
Clicando novamente no link podemos visualizar o ficheiro de dados.
De seguida copiamos o ficheiro para a área de trabalho (working directory do R).
ficheiro texto
De notar que este ficheiro é diferente do anterior na medida em que os nomes
das variáveis estão indicados na primeira linha.
Para que o R considere corretamente essa informação devemos adicionar o
argumento header=T.
Neste caso usamos então:
> exemplo2 <- read.table("exemplo2.txt", header=T)
> exemplo2
6. Manipulação de Dados
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
59. 59
Exemplo 3
1º) Importar para o R os dados deste ficheiro texto.
2º) Clicar no link para visualizar o ficheiro.
3º) Copiar o ficheiro para área de trabalho (working directory do R).
Diferenças relativamente aos arquivos anteriores:
i) nomes das variáveis estão na primeira linha
ii) os campos agora são separados por :
iii) os carateres decimais estão separados por vírgula (,) mas o R usa o ponto
(.)
iv) para importar corretamente os dados devemos agora usar os argumentos
sep e dec:
> exemplo3 <- read.table("dados.csv", head=T, sep=":",
dec=",")
> exemplo3
6. Manipulação de Dados
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
60. 60
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
The Future of Statistics by Bradley Efron
AMSTAT News, September 2007
“My own life as a consulting biostatistician has been revolutionized in the space
of a single career.
Sitting in front of a powerful terminal and calling up R functions to all the dozen
advances and a lot more really does put seven-league boots an a statistician’s
feet.
Maybe 77-league boots lie in our immediate future.. . . ”