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().
Minicurso I
Análise Exploratóriae 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çãodo 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
Permitefazer 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áginasna 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
2. Instalação doprograma 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 doprograma 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 doprograma 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 doprograma 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 doprograma 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 doprograma 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 doprograma 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 doprograma 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 doprograma R
15
Selecione as componentes a instalar e clique em Seguinte
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
16.
2. Instalação doprograma 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 doprograma R
17
Durante a instalação deverá ver uma janela deste tipo
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
18.
2. Instalação doprograma 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 primeirospassos (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 primeirospassos (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 Rfunciona 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 atribuirmosum 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 valorduma 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 comandohelp()
é 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
Osobjetos 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
Paralistar 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)
Umvector 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 formasde 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 (algumasfunçõ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 (Dataframe)
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 (Dataframe)
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 (Dataframe – 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 (Algumasfunçõ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
Distribuições de Probabilidade
47
DistribuiçãoDescriçã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 (oR 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 podemocorrer 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 designarx 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 outrotipo 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 notarque 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áficosde 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 deDados
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 afunçã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 afunçã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 osdados 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 osdados 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º) Importarpara 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.. . . ”