SlideShare une entreprise Scribd logo
1  sur  60
Télécharger pour lire hors ligne
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
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
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
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
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
1. Introdução (Editores)
6
R Editor
Word Pad
Tinn R
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
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
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
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
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
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
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
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
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
2. Instalação do programa R
15
Selecione as componentes a instalar e clique em Seguinte
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
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
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
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
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
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
• 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
• 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
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
 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
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
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
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
4. Objetos
28
 Vector
 Matrix
 List
 Data Frame
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Operadores
44
Operador Descrição
+
-
*
/
^
=
!=
<
>
<=
>=
&
|
!
Adição
Subtracção
Multiplicação
Divisão
Potenciação
Igual
Diferente
Menor que
Maior que
Menor ou igual a
Maior ou igual a
E lógico
OU lógico
Não lógico
Tabela 1. Operadores
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
Algumas funções matemáticas
45
Função Descrição
log(x)
log10(x)
exp(x)
sin(x)
cos(x)
tan(x)
asin(x)
acos(x)
atan(x)
sqrt(x)
min( )
max( )
abs(x)
Logaritmo (base e)
Logaritmo (base 10)
Exponencial
Seno
Coseno
Tangente
Arco seno
Arco coseno
Arco tangente
Raiz quadrada
Mínimo
Máximo
Valor absoluto de x
Tabela 2. Funções matemáticas
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
Funções Estatísticas
46
Função Descrição
mean(x)
sd(x)
var(x)
median(x)
quantile(x,p)
cor(x,y)
range(x)
length(x)
Média
Desvio padrão
Variância
Mediana
Quantil p
Correlação amostral entre X e Y
Equivalente a c(min(x),max(x))
Número elementos do vector x
Tabela 3. Funções estatísticas
MINICURSO - CIAEEAR
MANAUS (AM), 12-15 AGOSTO 2014
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
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
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
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
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
 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
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
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
 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
 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
 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
 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
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
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.. . . ”

Contenu connexe

Tendances (19)

Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
C 1
C 1C 1
C 1
 
Linguagem C - Estruturas
Linguagem C - EstruturasLinguagem C - Estruturas
Linguagem C - Estruturas
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Pilhas e filas
Pilhas e filasPilhas e filas
Pilhas e filas
 
SubProgramas
SubProgramasSubProgramas
SubProgramas
 
Linguagem C - Controle de Programa
Linguagem C - Controle de ProgramaLinguagem C - Controle de Programa
Linguagem C - Controle de Programa
 
Microsserviços com Spring Boot e ORM
Microsserviços com Spring Boot e ORMMicrosserviços com Spring Boot e ORM
Microsserviços com Spring Boot e ORM
 
Programação em C
Programação em CProgramação em C
Programação em C
 
Programas auxiliares
Programas auxiliaresProgramas auxiliares
Programas auxiliares
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Apresentação Linguagem C
Apresentação Linguagem CApresentação Linguagem C
Apresentação Linguagem C
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
 
A linguagem de programação c
A linguagem de programação cA linguagem de programação c
A linguagem de programação c
 
Linguagem C - Entrada e Saída
Linguagem C - Entrada e SaídaLinguagem C - Entrada e Saída
Linguagem C - Entrada e Saída
 
Introdução à linguagem c
Introdução à linguagem cIntrodução à linguagem c
Introdução à linguagem c
 

Similaire à Análise exploratória e modelação com R parte 1

Cartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfCartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfEdkallenn Lima
 
Fiocruz aprendendo r
Fiocruz aprendendo rFiocruz aprendendo r
Fiocruz aprendendo rGeo Silva
 
DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo  DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo Steven Ross
 
Capítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldCapítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldMarcio Palheta
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para AndroidClaudio Pereira
 
Visualg primeira interação
Visualg   primeira interaçãoVisualg   primeira interação
Visualg primeira interaçãoHumberto Cepep
 
Criação de um Desktop GNU/Linux para uso em laboratórios de informática
Criação de um Desktop GNU/Linux para uso em laboratórios de informáticaCriação de um Desktop GNU/Linux para uso em laboratórios de informática
Criação de um Desktop GNU/Linux para uso em laboratórios de informáticaVerdanatech Soluções em TI
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSThiago Rodrigues
 
Aula 02 fundamentos
Aula 02   fundamentosAula 02   fundamentos
Aula 02 fundamentosfmkoba
 
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Alex Camargo
 
Ciência de Dados com R Introducao.pdf
Ciência de Dados com R Introducao.pdfCiência de Dados com R Introducao.pdf
Ciência de Dados com R Introducao.pdfSecont
 
Apontamentos.pdf
Apontamentos.pdfApontamentos.pdf
Apontamentos.pdfJosLemos35
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Tutorial do ris serviços de instalação remota
Tutorial do ris   serviços de instalação remotaTutorial do ris   serviços de instalação remota
Tutorial do ris serviços de instalação remotafernandao777
 
1401 - Revista - Android.pdf
1401 - Revista - Android.pdf1401 - Revista - Android.pdf
1401 - Revista - Android.pdfjoaoJunior93
 
Softwares e Aplicativos Windows
Softwares e Aplicativos WindowsSoftwares e Aplicativos Windows
Softwares e Aplicativos WindowsRobson Santos
 

Similaire à Análise exploratória e modelação com R parte 1 (20)

Cartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfCartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdf
 
Fiocruz aprendendo r
Fiocruz aprendendo rFiocruz aprendendo r
Fiocruz aprendendo r
 
DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo  DMQ Talks Prof Felipe Rafael Ribeiro Melo
DMQ Talks Prof Felipe Rafael Ribeiro Melo
 
Calourada2010
Calourada2010Calourada2010
Calourada2010
 
Capítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorldCapítulo 01 - Fundamentos de Android e o HelloWorld
Capítulo 01 - Fundamentos de Android e o HelloWorld
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Visualg primeira interação
Visualg   primeira interaçãoVisualg   primeira interação
Visualg primeira interação
 
Criação de um Desktop GNU/Linux para uso em laboratórios de informática
Criação de um Desktop GNU/Linux para uso em laboratórios de informáticaCriação de um Desktop GNU/Linux para uso em laboratórios de informática
Criação de um Desktop GNU/Linux para uso em laboratórios de informática
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSS
 
Aula 02 fundamentos
Aula 02   fundamentosAula 02   fundamentos
Aula 02 fundamentos
 
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
 
Apostila s7
Apostila s7Apostila s7
Apostila s7
 
Ciência de Dados com R Introducao.pdf
Ciência de Dados com R Introducao.pdfCiência de Dados com R Introducao.pdf
Ciência de Dados com R Introducao.pdf
 
cdr-intro.pdf
cdr-intro.pdfcdr-intro.pdf
cdr-intro.pdf
 
Apontamentos.pdf
Apontamentos.pdfApontamentos.pdf
Apontamentos.pdf
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Bioestatistica usando R
Bioestatistica usando RBioestatistica usando R
Bioestatistica usando R
 
Tutorial do ris serviços de instalação remota
Tutorial do ris   serviços de instalação remotaTutorial do ris   serviços de instalação remota
Tutorial do ris serviços de instalação remota
 
1401 - Revista - Android.pdf
1401 - Revista - Android.pdf1401 - Revista - Android.pdf
1401 - Revista - Android.pdf
 
Softwares e Aplicativos Windows
Softwares e Aplicativos WindowsSoftwares e Aplicativos Windows
Softwares e Aplicativos Windows
 

Plus de Lucas Castro

Análise exploratória e modelação com r parte 3
Análise exploratória e modelação com r  parte 3Análise exploratória e modelação com r  parte 3
Análise exploratória e modelação com r parte 3Lucas Castro
 
Análise exploratória e modelação com r parte 2
Análise exploratória e modelação com r  parte 2Análise exploratória e modelação com r  parte 2
Análise exploratória e modelação com r parte 2Lucas Castro
 
Gasolina - Química Orgânica
Gasolina - Química OrgânicaGasolina - Química Orgânica
Gasolina - Química OrgânicaLucas Castro
 
O Período Militar - Geografia
O Período Militar - GeografiaO Período Militar - Geografia
O Período Militar - GeografiaLucas Castro
 
Pobreza, condição de nascença, desgraça, destino
Pobreza, condição de nascença, desgraça, destinoPobreza, condição de nascença, desgraça, destino
Pobreza, condição de nascença, desgraça, destinoLucas Castro
 
O poder e o estado
O poder e o estadoO poder e o estado
O poder e o estadoLucas Castro
 
Triste fim de policarpo quaresma
Triste fim de policarpo quaresmaTriste fim de policarpo quaresma
Triste fim de policarpo quaresmaLucas Castro
 

Plus de Lucas Castro (8)

Análise exploratória e modelação com r parte 3
Análise exploratória e modelação com r  parte 3Análise exploratória e modelação com r  parte 3
Análise exploratória e modelação com r parte 3
 
Análise exploratória e modelação com r parte 2
Análise exploratória e modelação com r  parte 2Análise exploratória e modelação com r  parte 2
Análise exploratória e modelação com r parte 2
 
Gasolina - Química Orgânica
Gasolina - Química OrgânicaGasolina - Química Orgânica
Gasolina - Química Orgânica
 
O Período Militar - Geografia
O Período Militar - GeografiaO Período Militar - Geografia
O Período Militar - Geografia
 
Pobreza, condição de nascença, desgraça, destino
Pobreza, condição de nascença, desgraça, destinoPobreza, condição de nascença, desgraça, destino
Pobreza, condição de nascença, desgraça, destino
 
O poder e o estado
O poder e o estadoO poder e o estado
O poder e o estado
 
Filo Mollusca
Filo MolluscaFilo Mollusca
Filo Mollusca
 
Triste fim de policarpo quaresma
Triste fim de policarpo quaresmaTriste fim de policarpo quaresma
Triste fim de policarpo quaresma
 

Análise exploratória e modelação com R parte 1

  • 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
  • 6. 1. Introdução (Editores) 6 R Editor Word Pad Tinn R 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
  • 44. Operadores 44 Operador Descrição + - * / ^ = != < > <= >= & | ! Adição Subtracção Multiplicação Divisão Potenciação Igual Diferente Menor que Maior que Menor ou igual a Maior ou igual a E lógico OU lógico Não lógico Tabela 1. Operadores MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  • 45. Algumas funções matemáticas 45 Função Descrição log(x) log10(x) exp(x) sin(x) cos(x) tan(x) asin(x) acos(x) atan(x) sqrt(x) min( ) max( ) abs(x) Logaritmo (base e) Logaritmo (base 10) Exponencial Seno Coseno Tangente Arco seno Arco coseno Arco tangente Raiz quadrada Mínimo Máximo Valor absoluto de x Tabela 2. Funções matemáticas MINICURSO - CIAEEAR MANAUS (AM), 12-15 AGOSTO 2014
  • 46. Funções Estatísticas 46 Função Descrição mean(x) sd(x) var(x) median(x) quantile(x,p) cor(x,y) range(x) length(x) Média Desvio padrão Variância Mediana Quantil p Correlação amostral entre X e Y Equivalente a c(min(x),max(x)) Número elementos do vector x Tabela 3. Funções estatísticas 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.. . . ”