Análise Exploratória de
Dados 2006
Aula lig-01 – 9/3
R - UMA INTRODUÇÃO
R - INTRODUÇÃO



ferramenta de análise estatística de dados
com muitos recursos e possibilidades;
é constantemente atualizado e revisado
incluindo novas técnicas e métodos;
é um programa de domínio público:
http://cran.r-project.org
http://cran.r-project.org
Download and Install R
Precompiled binary distributions of the base system and
contributed packages, Windows and Mac users most likely want one
of these versions of R:
Linux
MacOS X
Windows (95 and later)
R for windows
This directory contains binaries for a base distribution and
packages to run on Windows (NT, 95 and later) on Intel and
clones (but not NT on Alpha and other platforms).
Note: CRAN does not have Windows systems and cannot check
these binaries for viruses. Use the normal precautions with
downloaded executables.
Subdirectories:
base
Binaries for base distribution (managed by Duncan Murdoch)
contrib
Binaries of contributed packages (managed by Uwe Ligges)
You may also want to read the R FAQ and R for Windows FAQ.
R-2.2.1 for Windows
This directory contains a binary distribution of R-2.2.1 to run on Windows 95, 98, ME,
NT4.0, 2000 and XP on Intel/clone chips.
Patches to this release are incorporated in the r-patched snapshot build.
A build of the development version (which will eventually become the next major
release of R) is available in the r-devel snapshot build.
In this directory:
README.R-2.2.1Installation and other instructions.
CHANGESNew features of this Windows version.
NEWSNew features of all versions.
R-2.2.1-win32.exeSetup program (about 25 megabytes).
Please download this from a mirror near you.
This corresponds to the file named SetupR.exe or rwXXXX.exe in pre-2.2.0 releases.
oldThe previous release.
md5sum.txt md5sum output for the setup program.
A Windows GUI version of md5sum is available at http://www.md5summer.org/;
a Windows command line version is available at http://www.etree.org/md5com.html.
R - INTRODUÇÃO
Para solicitar uma tarefa do R podemos digitar uma linha
de comando ou, se a tarefa é complexa, digitar várias linhas de
comando, respeitando-se a sintaxe do R.
Podemos digitar uma seqüência de comandos em um editor
de textos, o Notepad, por exemplo, e depois colar na tela de
comandos do R para que o mesmo execute as tarefas solicitadas.
Esta sucessão de comandos é chamada um programa ou código ou
função. Tal programa ou função, pode conter apenas uma linha com
uma única tarefa a ser executada como conter várias páginas com
comandos a serem executados.
R - INTRODUÇÃO


Os programas em R, bem como os dados a
serem explorados, podem ser armazenados
em arquivos de texto (extensão .txt).
Os dados também podem ser armazenados
em uma planilha de cálculo e depois, salvos
como arquivo texto para que possam ser
lidos no R.
R - INTRODUÇÃO


Todas as funções do R devem ser digitadas em
letras minúsculas pois o R é sensível a letras
maiúsculas e minúsculas. Todas as palavras-chaves
do R estão em letras minúsculas.
O R não reconhecerá,por exemplo, o comando
MEAN(x), pedindo para calcular a média de uma
base de dados x. O correto será digitar mean(x),
que retornará a média de uma base de dados x.
Comando de atribuição

Para começar veremos como é a forma de um comando de
atribuição no R. Ou seja, como fazemos para atribuir a alguma
variável, x (por exemplo), o valor 4.

x=4

Experimente atribuir a uma variável x1 um valor qualquer, a outra
variável x2 outro valor qualquer e finalmente, atribua à z o valor da
soma de x1 e x2.
Exemplos




x1=4
x2=6
z=-x1+x2







Operações
soma: +
subtração: divisão: /
multiplicação: *
potenciação: ** ou ^
raiz quadrada de n:
sqrt(n)
logaritmo natural:
log(n)
Concatenação
Exemplo 1:
x=c(1:100)
O efeito do comando acima será atribuir à x, os 100 primeiros
inteiros positivos.
Para acessar valores de diferentes posições do vetor x,
a forma é a seguinte:
x[i], desde que i seja um numero inteiro entre 1 e 100.
Caso contrário, ele retornará NA que é o símbolo usado
no R para dados não disponíveis.
vetores


Para acessar um intervalo de valores, por
exemplo, de 10 a 25:
x[10:25]
[1] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
R - HELP


O Help no R tem um papel fundamental
pois é bastante completo e auto-suficiente.
Quando precisamos aplicar alguma
técnica cujo comando não conhecemos,
basta chamarmos a função help da
seguinte forma:
 help(palavra-chave)
R - Usando o help
Suponha, por exemplo, que estejamos interessados em
conhecer as possibilidades do comando mean (média).
Chamando a função help(mean) obtemos:
mean
package:base
R Documentation
Arithmetic Mean (Média Aritmética)
Descrição:
Função genérica para média aritmética (podada).
Como usar:
mean(x, ...)
mean.default(x, trim = 0, na.rm = FALSE, ...)
Comando mean: alguns detalhes.
Argumentos:
x: um objeto do R.
trim: a fração ( de 0 à 0.5) das observações a serem
podadas de cada extremo de ‘x’ antes da média ser
calculada.
Obs. Se `trim' é não-nula, uma média podada simetricamente é
calculada com uma fração de observações excluídas de cada
extremo igual ao valor de ‘trim’.
na.rm: um valor lógico (T ou F, conforme verdadeiro ou falso)
indicando se valores ausentes (NA) devem ser desconsiderados
antes de realizar o cálculo.
Valor: Se `trim' é zero (default), a média aritmética dos valores
em `x' é calculada.
Exemplo 2: Cálculo da média aritmética do vetor x
do exemplo 1
Sabemos que a soma dos inteiros de 1 até 100 é dada
por 100*(1+100)/2=5050, tal que a média aritmética dos
valores no vetor x é 5050/100=50.5.
Podemos calcular esta média digitando mean(x).
Uso do argumento trim.
Suponha que desejamos `podar’ os valores extremos
desta base na ordem de 5% para cima e para baixo.
Ou seja, ficaríamos com uma base começando em 6, indo
até 95.
Exemplo 2: (cont.)
Observe que neste caso, a média podada, qualquer que seja
o valor atribuído à trim entre 0 e 0.5, sempre será 50.5, por
conta da simetria apresentada por estes dados.
Experimente pedir
mean(x,trim=0.05)
mean(x,trim=0.1)
mean(x,trim=0.25)
mean(x,trim=0.5)
Porém, este resultado não ocorre para qualquer conjunto de dados!
Exemplo 3: Novos dados
Atribua a um vetor y, os seguintes valores:
8,9,3,4,5,5,6,7,11,1,11,20,5,5,6,7,8,9,11,3
y=c(8,9,3,4,5,5,6,7,11,1,11,20,5,5,6,7,8,9,11,3)
> mean(y)
[1] 7.2
> mean(y,trim=0.25)
[1] 6.6
> mean(y,trim=0.1)
[1] 6.8125
> mean(y,trim=0.5)
[1] 6.5
Exemplo 3: continuação
y<-c(8,9,3,4,5,5,6,7,11,1,11,20,5,5,6,7,8,9,11,3)
Ordenando as componentes do vetor y: y_ord=sort(y)
(y_ord recebe o vetor y ordenado)
[1] 1 3 3 4 5 5 5 5 6 6 7 7 8 8 9 9 11 11 11 20
Observe que 10% de 20 é igual a 2 e, assim, a média podada em
0.1 é obtida calculando-se a média do vetor ordenado,
retirando os dois valores menores e os dois valores maiores.
> mean(y_ord[3:18])
[1] 6.8125
> mean(y,trim=0.1)
[1] 6.8125
Exemplo 4: Dados ausentes (NA)
Suponha que alguns valores da base de dados não estão
disponíveis.
Por exemplo, faça
z=c(1,1,3,3,4,4,3,2,NA,3,4,5,4,NA)
Neste caso, se você pedir mean(z), o retorno será NA!
Caso ainda assim você deseje uma média entre os valores
disponíveis, use o argumento na.rm=T (remover valores não
disponíveis recebe Verdadeiro).
> mean(z,na.rm=T)
> mean(z)
[1] 3.0833
[1] NA
Observe que a média calculada quando na.rm=T, leva em conta somente os valores
disponíveis. Assim, o denominador envolve o número de dados disponíveis que no
caso deste exemplo é 12.
Leitura de um arquivo de dados em formato texto
Há dois comandos principais para ler uma base de dados
em formato texto: scan e read.table.
Normalmente, usa-se o comando scan quando a base de
dados contém os valores de uma única variável.
Para bases de dados multivariadas, contendo diversas
variáveis, o comando read.table é mais adequado pois
a estrutura dos dados lidos será a de uma matriz onde as
colunas representarão cada variável da base.
EXEMPLO 5: CARNAVAL 2006
Salgueiro



Vamos usar o comando
read.table com a planilha de
resultados do desfile de
escolas de samba do Carnaval
2006. (Fonte:
http://www.liesa.globo.com)
Descrição dos dados: Há 14
escolas de samba uma em
cada linha, e 40 notas
atribuídas. Na primeira linha
encontram-se os nomes das
entradas, a saber,
coluna 1: escola
Rocinha
Imperatriz
Caprichosos
VilaIsabel
GrandeRio
BeijaFlor
PortoPedra
Mangueira
Viradouro
Mocidade
UnidoTijuca
ImperioS
Portela
EXEMPLO 5: CARNAVAL 2005






Coluna 2 a 5: b1, b2, b3 e b4 (notas atribuídas por 4
jurados ao quesito bateria)
Colunas 6 a 9: enr1, enr2, enr3 e enr4 (notas atribuídas
por 4 jurados ao quesito enredo)
Colunas 10 a 13: mspb1, mspb2, mspb3 e mspb4 (notas
atribuídas por 4 jurados ao quesito mestre-sala e portabandeira)
colunas 14 a 17: c1, c2, c3 e c4 (notas atribuídas por 4
jurados ao quesito conjunto)
colunas 18 a 21: h1, h2, h3 e h4 (notas atribuídas por 4
jurados ao quesito harmonia)
colunas 22 a 25: cf1, cf2, cf3 e cf4 (notas atribuídas por
4 jurados ao quesito comissão de frente)
EXEMPLO 5: CARNAVAL 2006






colunas 26 a 29: ev1, ev2, ev3 e ev4 (notas atribuídas
por 4 jurados ao quesito evolução)
colunas 30 a 33: f1, f2, f3 e f4 (notas atribuídas por 4
jurados ao quesito fantasia)
colunas 34 a 37: aa1, aa2, aa3 e aa4 (notas atribuídas
por 4 jurados ao quesito alegorias e adereços)
colunas 38 a 41: se1, se2, se3 e se4 (notas atribuídas
por 4 jurados ao quesito samba-enredo)
Coluna 42: perdapt (pontos perdidos)
Coluna 43: total (total de pontos obtidos pela escola)
Exemplo 5 (continuação)




Portanto, a planilha está organizada em 15 linhas (a
primeira com os nomes das variáveis) e 43 colunas.
Esta é uma base de dados multivariada, pois há
mais de uma informação para as nossas unidades
de observação que, neste exemplo, são as escolas
de samba. Para cada escola, temos várias
informações, a saber, as notas atribuídas por cada
um dos jurados-quesitos, a penalidade e o total
obtido.
Assim, usaremos o comando read.table.
dados<-read.table(“m:\\aed\\carnaval06.txt”,header=T)
Acessando a base dados




O conteúdo do arquivo carnaval06.txt foi atribuído
ao objeto dados no R. O argumento header=T serve
para informar que a primeira linha do arquivo
contém os nomes das variáveis.
Veremos como acessar e manipular a informação
contida em dados.
Exemplo: o quesito harmonia está nas colunas 18 a
21 da base. Para vermos estas notas basta digitar
dados[,18:21].
Também é possível olhar os mesmos dados usando
dados$h1, dados$h2, dados$h3 e dados$h4.
ATIVIDADE



Compare as médias das notas em harmonia
para cada jurado.
Repita o mesmo para outros quesitos
avaliados.
Digitando mean(dados[,18:21]), obtém-se:
h1
h2
h3
h4
9.671429 9.807143 9.692857 9.864286
Médias referentes à harmonia entre as 14 escolas segundo cada
um dos 4 jurados.
Arredondamento
O resultado apresentado ficou muito confuso, pois as médias foram
apresentadas com muitas casas decimais.
Para obter as médias com, por exemplo, duas casas decimais,
devemos digitar:
mediaH<-mean(dados[,18:21]) --> o objeto mediaH recebe
as médias de harmonia de cada jurado
round(mediaH,digits=2)--> pede-se a impressão na tela das
médias arredondadas para duas casas decimais
h1 h2 h3 h4
9.67 9.81 9.69 9.86
Relatório




Você pode guardar todos os resultados que
vai obtendo numa seção em um arquivo
texto.
Comando sink(“ a:\\relatorio.txt” )
Após este comando, tudo que você pedir na
seção do R será gravado neste arquivo
(exceto os gráficos)
Para desativar o comando, você deverá
digitar sink().
Salvando a área de trabalho do R




Você pode salvar sua área de trabalho, caso ainda
vá trabalhar nela.
Vamos fechar esta primeira aula salvando nosso
trabalho em um disquete.
save.image(“a:/aulaR1.RData")
Assim na próxima seção do R onde os mesmos
dados serão trabalhados, bastará executar o
comando
load(“a:/aulaR1.RData")
Saindo do R
Após terminar de salvar, você pode sair do programa
digitando:
q( )
Resumo dos comandos





Atribuição x=3
Concatenação
y=c(3,4,2,5,6)
help(palavra-chave)
mean(x) calcula a
média dos valores em x
sort







read.table
scan
sink
round
q()
save.image
load
Download

ANÁLISE EXPLORATÓRIA DE DADOS