Você está na página 1de 16

FUNDAO UNIVERSIDADE FEDERAL DE RONDNIA CAMPUS JI - PARAN - RO

Curso: Bacharelado em Estatstica Disciplina: Geoestatstica (5 perodo) Perodo: 2011/02 Data: 31/11/2011 Professora: Vania C. Mota, Msc. Aluno (a):

CURSO DE GEOESTATSTICA - NOES DA LINGUAGEM R

1. INTRODUO
R uma linguagem e ambiente para computao estatstica e grficos. Foi criado por Ross Ihaka e Robert Gentleman em 1996. O R disponibiliza uma grande variedade de mtodos estatsticos (modelagem linear e no linear, testes estatsticos clssicos, sries temporais, classificao, mtodos multivariados, ...) e tcnicas grficas. Um dos pontos fortes do R a facilidade com que grficos bem delineados e de alta qualidade para impresso podem ser produzidos com possibilidade de incluso de frmulas e smbolos matemticos quando necessrio. O R disponibilizado sob os termos da GNU (General Public License da Free Softwere Foundation na forma de cdigo aberto. O R pode ser compilado e roda em um grande nmero de plataformas UNIX e similares (incluindo FreeBSD e Linux). Tambm pode ser compilado e roda em Windows 9x/NT/2000 e MacOS. Informaes mais detalhadas sobre o Projeto R podem sem encontradas em http://www.r-

project.org/.

2. INICIANDO E FINALIZANDO O R
APRESENTAO DO SOFTWARE R primeira vista o R pode parecer pouco amistoso, contudo com poucos conhecimentos ser possvel utiliz-lo de uma forma racional. A figura abaixo mostra a tela inicial do programa.

Os tpicos dispostos na barra de ferramentas so: File: Onde esto dispostos os recursos para se trabalhar com os diversos arquivos que existam na mquina, suas propriedades, salvar espao de trabalho, salvar histrico de procedimentos de programao, mostrar os diversos diretrios com arquivos do R, impresso de arquivos e sair do programa. Edit: Disponibiliza as diversas opes para editar documentos, como selecionar tudo, limpar espao de trabalho, copiar, colar etc.. Packages: Este tpico propicia diferentes maneiras de dowloads dos diversos pacotes do R, bem como atualizaes daqueles que j estejam instalados. Windows: Disponibiliza as diversas janelas do programa de acordo com as necessidades do usurio. Help: Dada a importncia deste tpico ele ser explicado em detalhes no prximo tpico (Documentao R). DOCUMENTAO R O R possui uma completa documentao tanto dos seus cdigos fonte, aspectos tcnicos, alm de que, no seu help esta disponvel uma biblioteca completa dos seus procedimentos bem como exemplos prticos. O seu help pode ser acessado tanto por linhas de comando quanto atravs de um cone na barra de ferramentas, vejamos em detalhes cada item: Console: Este comando mostra os principais comandos e teclas para uma utilizao mais simplificada do software. FAQ on R: Relaciona em tpicos as perguntas mais freqentes na utilizao do R em qualquer sistema operacional. FAQ on R for Windows: Exatamente igual ao tpico anterior, s que as questes so com relao ao R para sistema operacional Windows. Manual: Aqui so disponibilizados diversos manuais para a utilizao do software. Estes manuais so disponibilizados em arquivos no formato Portable Document Format (pdf) os quais podem ser impressos. R functions (text): Disponibiliza um dispositivo de busca onde atravs da digitao de palavras chaves so apresentadas as funes existentes no R relacionadas a elas. Html help: Fornece material de ajuda bastante completo no formato Hipertext Markup Language (Html), inclusive com sistema de busca por palavras chaves. Search help: um sistema de busca semelhantes aos citados anteriormente.

apropos: um sistema de busca que localiza assuntos pertinentes palavra chave que foi inserida. R Project home page: Este cone um link direto com a pgina do Projeto R na Internet. CRAN: um link para o espelho de dowloads do softwares e dos seus pacotes. About: Fornece a verso do R que esta sendo utilizada. ACESSO LIVRE AO R Os diversos softwares com pacotes estatsticos para a anlise de dados comerciais, ou seja, tem que ser comprados pelos usurios tem o custo de suas assinaturas (licena para uso por determinado perodo de tempo) orados em milhares de dlares. De forma que poucas so as instituies pblicas e pesquisadores de nosso pas que tem acesso aos softwares estatsticos comerciais. Assim, o R surge como uma valiosa alternativa aos softwares comerciais no s por sua gratuidade, mas principalmente pela sua qualidade e dinamismo. A gratuidade do R se deve ao fato de que ele um software livre atendendo s normas GPL General Public License, a qual estabelece as normas para que um software seja considerado livre, isto seus cdigos-fonte devem ser disponibilizados sem restries. Com a disponibilizao dos cdigos-fonte, outros pesquisadores podem utiliz-los para contribuir com melhorias, ou at mesmo se utilizar do seu background para desenvolver um novo software.

CRIAO DOS BANCOS DE DADOS Os bancos de dados podem ser inseridos de duas maneiras bsicas: 1) Digitando os dados diretamente na parte principal da tela onde so inseridos os comandos. 2) Atravs de um arquivo .txt contendo todos os dados dispostos em linhas e colunas e hospedado em alguma pasta de arquivos. Quando se trata de banco de dados com um nmero maior de observaes, este o meio geralmente empregado. Para que as anlises possam refletir a realidade das observaes este banco de dados deve ser corretamente criado. Antes de se passarmos resoluo de exemplos prticos utilizando o R devemos fazer algumas observaes que facilitaro na utilizao deste software: No R existem muitas maneira de se manipular um banco de dados, a mais usual quando se trata de um arquivo de poucos dados inseri-los junto s linhas de programao. Agora quando o arquivo de dados expressivo a maneira mais prtica , aquela onde o banco de dados criado em um arquivo do Bloco de notas, cujo endereo ser especificado quando da determinao do objeto em estudo (O endereo dos arquivos de dados dos exerccios que aqui sero resolvidos ser da pasta meus documentos). Os dados devem ser especificados utilizando, ponto (.) para determinao das casas decimais.

Nas linhas de comando deve-se atentar de que este software faz distino entre caracteres maisculos e minsculos. Se houver algum erro na linha de comando aps teclar Enter o programa acusa o erro atravs de um aviso de texto em lngua inglesa. Os comandos inseridos em uma sesso no precisam ser digitados novamente, eles podem ser chamados novamente, na ordem em que foram inseridos atravs da tecla de orientao seta para cima ().

O R iniciado no ambiente MS-Windows fazendo um clique-duplo no cone. O smbolo ( > ) indica a linha de comando (prompt) na qual sero digitados os comandos para execuo das funes do R. Neste momento, o operador dever mudar o diretrio de trabalho, onde se encontra o arquivo com extenso TXT ou similar, o qual ser utilizado para trabalho. MENU PRINCIPAL opo FILE CHANGE DIR... BROWSE (selecionar o diretrio de trabalho)

O R armazena seus dados em OBJETOS no arquivo chamado .RData que permanece gravado em disco ou no subdiretrio selecionado. Voc pode ter mltiplos arquivos .RData em diferentes diretrios. Basta rodar o R em um determinado diretrio para que o arquivo seja criado. Desta forma aconselha-se que sempre ao iniciar um novo projeto seja criado um novo diretrio e neste diretrio seja iniciado o programa

R.
Para sair do programa digite > q() # q = quit (sair)

e o programa exibir a seguinte mensagem: Save workspace image? [y/n/c]: digite y para gravar sua sesso, n para sair do programa sem gravar a sesso ou c para continuar a sesso do R. Quando sair do R digitando y, o arquivo .RData ser gravado no diretrio de trabalho e os objetos criados sero armazenados e podero ser usados em sesses futuras.

3. COMANDOS NO R
O R uma linguagem interpretada e interativa. O processamento dos dados realizado digitando-se comandos na chamada linha de comandos que comea com o smbolo de maior (>).

Os comandos no R so sensveis caixa (maisculo e minsculo), logo, q diferente de Q. Os comandos e todos os outros nomes no R podem ser compostos com letras do alfabeto (evite acento e cedilha), nmeros e o ponto decimal, com restrio de que eles no podem iniciar com nmeros. O que diferencia um comando de um nome de comando a presena dos parnteses. Para se executar o comando necessrio acrescentar parnteses: >q( ) # q com parnteses executa o comando de sada

Se for dado o nome do comando (sem parnteses) o resultado ser o programa do comando. As informaes fornecidas dentro dos parnteses de um comando so chamadas de argumentos. Os comandos no R podem ser chamados depois de digitados utilizando a seta para cima e a seta para baixo. 4. COMO CONSEGUIR AJUDA NO R Para conseguir ajuda no R basta utilizar o comando help. > help(mean) # Chama a pagina do manual referente ao tpico mean.

5. INTRODUZINDO DADOS NO R
O R possui alguma facilidade para digitar dados dentro dele. Para grande conjunto de dados mais prtico digit-lo fora do R (numa planilha) e fazer a leitura para dentro do R. CASO 1. Criar um banco de dados dentro do R Exemplo: 2 3 5 7 11 >teste <-c(2,3,5,7,11) CASO 2. Importar um banco de dados OBS.: O banco de dados deve ser digitado numa planilha e salv-lo como txt ou dat. Passo: 1. Criar um objeto que ir receber os dados importados (data.frame) > teste<- read.table(teste.txt,header=TRUE) > teste ## aps este comando aparecer dentro do OBJETO teste os dados importados da planilha teste.txt. Em ambos os casos, temos um objeto pronto a receber instrues do R para realizao de operaes matemticas e/ou estatstica.

6. OBTENDO ESTATSTICAS DESCRITIVAS


A maneira mais direta de se obter estatsticas descritivas de um conjunto de dados atravs da funo summary, tendo como argumento o data.frame: > summary(teste) ## aparecer somente as estatsticas de posio ##

possvel tambm obter estatsticas descritivas de cada varivel individualmente:

> mean(teste) > median(teste) > min(teste) > max(teste)

## calcula a mdia dos dados ## calcula a mediana dos dados ## calcula o valor mnimo dos dados ## calcula o valor mximo dos dados

## ## ## ##

> var(teste) >sd(teste)

## calcula a varincia ## ## calcula o desvio padro ##

No existe no R uma funo para calcular o coeficiente de variao, mas ele pode ser obtido facilmente utilizando-se a expresso: >sd(teste)/mean(teste)*100 ## calcula o coeficiente de variao do dados ##

7 - EXEMPLOS
Portanto passemos resoluo de alguns exerccios utilizando o R. O texto em negrito so as linhas de comando ou programao, que podem ser copiadas e coladas no R, depois de cada uma delas deve-se utilizar a tecla Enter. Deve estar claro que, as resolues aqui apresentadas utilizando o R no so nicas, ou seja, existem inmeras outras maneiras de resoluo utilizando este programa, todas em perfeita concordncia com a teoria estatstica. 1)Seja o seguinte exemplo: So contadas o nmero de lagartas tipo rosca(Agrotis Ipisilon) nos 50 canteiros de mudas de eucalipto da Fazenda Experimental da UFLA, encontrando o seguinte resultado:

5 4 1 4 0 2 4 1 2 2

1 2 1 0 0 2 4 2 3 4

5 0 3 2 4 1 3 3 4 3

3 4 2 0 3 1 3 4 3 4

1 4 3 5 2 0 2 3 4 3

Digite os dados no R. A primeira linha de comando: exemplolagartas=c(5,1,5,3,1,4,2,0,4,4,1,1,3,2,3,4,0,2,0,5,0,0,4,3,2,2,2,1,1,0,4,4,3,3,2,1,2,3,4,3,2,3,4,3,4,2,4, 3,4,3) {cria o objeto exemplolagartas e introduz os dados a serem analisados}

2)Seja o seguinte exemplo: Os dados a seguir so referentes ao peso de 80 smios capturados por pesquisadores na plancie amaznica nos dois ltimos anos. 16.5 20.9 22 23.1 25.3 26.4 27.5 29.7 30.8 30.8 37.4 38.5 38.5 38.5 39.6 39.6 39.6 39.6 40.7 40.7 42.9 42.9 42.9 42.9 42.9 42.9 44 44 45.1 45.1 49.5 49.5 50.6 50.6 51.7 51.7 52.8 52.8 53.9 53.9 31.9 33 33 34.1 34.1 35.2 35.2 36.3 36.3 37.4 40.7 40.7 41.8 41.8 41.8 42.9 42.9 42.9 42.9 42.9 46.2 46.2 46.2 46.2 47.3 47.3 47.3 48.4 48.4 48.4 55 55 57.2 61.6 61.6 62.7 62.7 63.8 66 69.3

Neste exemplo como o nmero de dados maior optou-se em coloc-los em um arquivo.txt, ou seja, os dados no precisaro ser digitados na tela do R, ao se criar o objeto basta especificar o caminho de onde se encontrar o arquivo. Neste trabalho todos os arquivos em .txt tero como endereo A: Utilizando os dois arquivos utilizados anteriormente para as lagartas e para os smios passaremos a realizar as principais medidas de posio e disperso para os dois arquivos. segunda linha mean(exemplolagartas) solicita o valor da mdia para os dados terceira linha median(exemplolagartas) solicita o valor da mediana para os dados quarta linha summary(exemplolagartas) atravs deste comando o R fornece automaticamente todas as medidas de posio, inclusive os valores extremos e o 1 e o 3 quartil. #quinta linha# var(exemplolagartas) #solicita o valor da varincia para os dados# #sexta linha# sd(exemplolagartas) #solicita o valor do desvio padro para os dados# #stima linha# coeficientevariacao=(sd(exemplolagartas)/mean(exemplolagartas)*100) #cria-se um novo objeto coeficientevariacao para que atravs de um artifcio possa-se calcular o coeficiente de variao# #oitava linha# coeficientevariacao #solicita o valor do coeficiente de variao para os dados#

Calculando as medidas de posio para o exemplo dos smios: Na primeira linha exemplosimios<-read.table("simios.txt",header=TRUE) criamos o objeto exemplosimios e especificamos o seu endereo #segunda linha mean(exemplosimios) #solicita o valor da mdia para os dados #terceira median(exemplosimios) #solicita o valor da mediana para os dados #quarta summary(exemplosimios) #atravs deste comando o R fornece automaticamente todas as medidas de #posio, inclusive os valores extremos e o 1 e o 3 quartil

Calculando as medidas de disperso para o exemplo dos smios: #Na primeira linha exemplosimios<-read.table("simios.txt",header=TRUE) #criamos o objeto exemplosimios e especificamos o seu endereo segunda linha var(exemplosimios) solicita o valor da varincia para os dados terceira sd(exemplosimios) solicita o valor do desvio padro para os dados quarta coeficientevariacao=(sd(exemplosimios)/mean(exemplosimios)*100) cria-se um novo objeto coeficientevariacao para que atravs de um artifcio possa-se calcular o coeficiente de variao quinta coeficientevariacao #solicita o valor do coeficiente de variao para os dados. 7.1 Exerccio 1) A folha de pagamento de uma pequena empresa, em salrios mnimos, a seguinte: 1,0 1,4 1,7 1,8 2,0 2,6 3,6 10,0 1,0 1,5 1,7 1,8 2,2 2,9 4,7 11,0 1,2 1,6 1,8 2,0 2,3 3,2 4,9 13,1 Pede-se: a) Encontrar a mdia, a mediana e a moda, expressando os resultados em reais mnimo=R$=510,00). Interprete os resultados;

1,0 1,0 1,0

15,0 18,0 33,0 (1 salrio

b) Qual medida estatstica ser usada pelo empresrio para expressar o nvel salarial de seus empregados? Justifique; c) O lder sindical usar qual medida? Justifique.

8- Armazenando valores em objetos do R


R uma linguagem orientada para o objeto: variveis, dados, matrizes, funes, etc. so armazenados na memria ativa do computador na forma de objetos. Por exemplo, se um objeto x tem o valor 10: > x <-10 >x [1] 10 O dgito 1 entre colchetes indica que o contedo exibido ( o valor 10) inicia-se com o primeiro elemento de x. Voc pode armazenar um valor em um objeto com certo nome usando o smbolo <- . Exemplo: > x <- sqrt(2) # armazena a raiz quadrada de 2 em x >x # digite o nome do objeto para ver seu contedo [1] 1.414214 Alternativamente pode-se usar o smbolos ->, = ou _ A linhas a seguir produzem o mesmo resultado > sin(pi) -> x > x = sin(pi) > x_sin(pi) Nomes de variveis devem comear com uma letra e podem conter letras, nmeros Vetores At aqui todos os objetos criados continham um nico valor, ou seja, eram escalares. O R pode trabalhar com vetores - objetos que armazenam mais de um valor. A funo c() usada para criar um vetor a partir de seus argumentos. Por exemplo: > x <- c(2,3,5,7,11) >x [1] 2 3 5 7 11 # digitando o nome do objeto exibido o seu contedo Os argumentos de c() podem ser escalares ou vetores. > y <- c(x,13,17,19) >y [1] 2 3 5 7 11 13 17 19 Sequncias H ainda outras formas de se gerar um vetor. Por exemplo, para gerar uma seqncia de nmeros inteiros usa-se os dois pontos: > xx <- 1:10 > xx [1] 1 2 3 4 5 6 7 8 9 10 Se o vetor muito longo e no "cabe" em uma linha o R vai usar as linhas seguintes para continuar imprimindo o vetor. > xx <- 100:1 # sequncia decrescente de 100 a 1 > xx

[1] 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 [19] 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 [37] 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 [55] 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 [73] 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 [91] 10 9 8 7 6 5 4 3 2 1 Os nmeros entre colchetes no fazem parte do objeto e indica a posio do vetor naquele ponto. Pode-se ver que [1] indica que o primeiro elemento do vetor est naquela linha, [19] indica que a linha seguinte comea pelo dcimo nono elemento do vetor e assim por diante. Usando o comando seq() Uma maneira mais geral de produzir sequncias de valores usando a funo seq() que tem como argumentos o incio, fim e passos da sequncia. > seq(1,10,1) # o mesmo que 1:10 [1] 1 2 3 4 5 6 7 8 9 10 > seq(1,10,2) # de 2 em 2 [1] 1 3 5 7 9 # no necessariamente termina em 10 > seq(10,1,3) # tentando ordem inversa... Error in seq.default(10, 1, 3): Wrong sign in 'by' argument > seq(10,1,-3) [1] 10 7 4 1 # a forma correta usando passo negativo...

> seq(from=1,to=27,by=3) [1] 1 4 7 10 13 16 19 22 25 > seq(1,4) # by ausente, default igual 1 [1] 1 2 3 4 Usando rep() Outra funo til para produzir vetores a funo rep() que retorna o primeiro argumento repetido o nmero de vezes indicado pelo segundo argumento: > rep(1,10) [1] 1 1 1 1 1 1 1 1 1 1 > rep(c(1,2),10) [1] 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 > c(rep(0,10),rep(1,5)) [1] 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 Pode-se ainda usar variveis (objetos) como argumentos das funes: > x <- 10 > rep(c(1,2),x) [1] 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 Operaes com vetores Operaes aritmticas em vetores so efetuadas para cada um de seus elemento. Veja alguns exemplos: > x <- 1:10 >x+2 [1] 3 4 5 6 7 8 9 10 11 12 >x*2 [1] 2 4 6 8 10 12 14 16 18 20 > sqrt(x) [1] 1.000000 1.414214 1.732051 2.000000 2.236068 2.449490 2.645751 2.828427 [9] 3.000000 3.162278 Se voce realizar uma operao em dois vetores os clculos so tambm feitos em um elemento de cada vez. > x <- 1:10 > y <- 21:30

> x+y [1] 22 24 26 28 30 32 34 36 38 40 E se os vetores tiverem tamanhos diferentes? Neste caso o R usa a "lei da reciclagem", o que significa que os elementos do menor vetor sero repetidos at atingir o tamanho do maior vetor. Veja o exemplo: > x <- 1:10 > y <- c(1,2) > x+y [1] 2 4 4 6 6 8 8 10 10 12

Neste exemplo y foi repetido cinco vezes e adicionado a x da seguinte forma, x : 1 2 3 4 5 6 7 8 9 10 y : 1 2 1 2 1 2 1 2 1 2 (note como foi repetido) ----------------------------------x+y : 2 4 4 6 6 8 8 10 10 12 Entretanto, se o comprimento do maior vetor no um mltiplo do tamanho do menor vetor o R vai processar o comando e emitir uma menssagem de alerta ("warning") Acessando partes de um vetor ndices ("subscripts") a maneira utilizada pelo R para extrair partes de um vetor. So utilizados colchetes e os ndices so contados a partir de 1. > x <- 10:1 > y <- x[2] >y [1] 9 pegando outras partes... Voc pode extrair partes de um vetor usando um vetor de ndices > y <- x[c(1,3,5)] >y [1] 1 3 5 > x[4:7] [1] 7 6 5 4 E note que o valor retornado um vetor. Cuidado pra no pegar mais do que possvel... Se voc tentar extrair um elemento com um ndice maior que a dimenso de um vetor... > x[12] [1] NA O resultado ser NA (que significa "Not Available"). Este smbolo usado pelo R para indicar valores perdidos ("missing data") ou qualquer outro valor sem sentido. Outros exemplos: # inverte a ordem dos elemento de x H tambm uma funo para fazer esta inverso: rev(x) Listas Listas so objetos curiosos... Elas so usadas para combinar diferentes coisas em um mesmo objetos. Estas coisas podem ser vetores, matrizes, nmeros e/ou caracteres e at mesmo outras listas. Aqui vai um exemplo simples:

> lista <- list(name1=21,name2='Fred',name3=c(65,78,55)) > lista $name1: [1] 21 $name2: [1] "Fred" $name3: [1] 65 78 55 Listas so construdas com a funo list(). Os componentes da lista so introduzidos usando a forma usual nome=arg de atribuir argumentos em uma funo. Quando voc digita o nome de um objeto que uma lista cada componente mostrado com seu nome e valor. Cada elemento da lista pode ser acessado individualmente por seu nome antecedido pelo smbolo $: lista$name1 [1] "Fred" Pode-se ainda acessar cada elemento pelo seu nmero de ordem na lista utilizando colchetes duplos: > lista[[1]] [1] 21 > lista[[3]] [1] 65 78 55 Como sabemos que uma funo retorna uma lista? Isto o que vimos quando fizemos o teste T antes. Note que esta sada no se parece muito com o formato de lista visto acima. Mas o resultado uma lista: > is.list (nome_objeto) [1] TRUE E voc pode listar os nomes dos componentes da lista com a funo names(). > names(nome_objeto) Matrizes Tudo feito at aqui foi baseado em vetores e listas. O R tambm capaz de operar matrizes. Criando Matrizes H vrias formas de criar uma matriz. A funo matrix() recebe um vetor como argumento e o transforma em uma matrix de acordo com as dimenses especificadas: > x <- 1:12 > xmat <- matrix(x,ncol=3) > xmat [,1] [,2] [,3] [1,] 1 5 9 [2,] 2 6 10 [3,] 3 7 11 [4,] 4 8 12 Neste exemplo foi construda uma matrix de 3 colunas e 4 linhas usando os nmeros de 1 a 12. Note que a matriz preenchida ao longo das linhas. Para inverter este padro deve-se adicionar o argumento byrow=T, para dizer que a matriz deve ser preenchida por colunas:

> matrix(x,ncol=3,byrow=T) [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 [3,] 7 8 9 [4,] 10 11 12 Informaes sobre a matriz Voc pode verificar a dimenso de uma matrix com a funo dim(): dim(nome_objeto) dim(xmat) O funo summary() opera em cada coluna da matrix como se fossem vetores: > summary(xmat) X1 X2 X3 Min. :1.00 Min. :5.00 Min. : 9.00 1st Qu.:1.75 1st Qu.:5.75 1st Qu.: 9.75 Median :2.50 Median :6.50 Median :10.50 Mean :2.50 Mean :6.50 Mean :10.50 3rd Qu.:3.25 3rd Qu.:7.25 3rd Qu.:11.25 Max. :4.00 Max. :8.00 Max. :12.00 Se voc desejar um resumo de todos os elementos da matrix deve fazer: summary(as.numeric(xmat)) Min. 1st Qu. Median Mean 3rd Qu. Max. 1.00 3.75 6.50 6.50 9.25 12.00 Operaes com matrizes Todas as funes usuais operam em matrizes da mesma forma que operam com vetores - elemento por elemento. Portanto se voc multiplicar duas matrizes com * voc ter o produto de cada elemento de uma matrix pelo elemento correspondente na outra matrix, e no a multiplicao de matrizes usual! Para fazer a multiplicao usual de matrizes voc deve usar o smbolo %*% . > matriz1 %*% matriz2 ndices das matrizes Da mesma forma que voc pode extrair partes de vetores utilizando colchetes, podem ser extradas partes de uma matrix. Porm isto um pouquinho mais complicado, pois, a matrix um elemento que possui duas dimenses, enquanto vetores possuem apenas uma. Para extrair um nico elemento da matrix use colchetes com dois nmeros separados por vrgula. O primeiro nmero indica o nmero da linha enquanto o segundo indica o nmero da coluna. > matriz[linha,coluna] Voc pode extrair uma linha inteira ou uma coluna inteira usando apenas um nmero e a vrgula. Para extrair uma coluna coloque o nmero da coluna desejada depois da vrgula. Para extrair uma linha coloque o nmero da linha desejada depois da vrgula.

Quando voc extrai uma linha ou uma coluna o resultado um vetor. > matriz[,coluna] > matriz [linha,] # extraindo toda coluna # extraindo toda linha

Pode-se ainda extrair mais de uma linha ou coluna utilizando-se um vetor de ndices. Neste caso o objeto resultante uma matrix. Lendo matrizes de arquivos Voc pode ler o arquivo data.dat em uma matrix utilizando uma combinao da funo scan() vista anteriormente que l tudo como um vetor, e a funo matrix() para converter a sada em uma matrix. Em geral voc vai precisar do argumento byrow=F da funo matrix() para ordenar os elementos da forma desejada. dat <- matrix(scan('data.txt'),ncol=6,byrow=F) dat [,1] [,2] [,3] [,4] [,5] [,6] [1,] 1 3 3 4 2 1 [2,] 3 4 4 3 3 2 [3,] 4 5 5 2 2 1 Inverso e transposio?

9 - GRFICOS
Um grfico simples A funo plot( ) inicia um novo grfico. Em sua forma mais simples a funo recebe valores de coordenadas x e y. x<-1:20 y<-x**2 plot(x,y) Este ltimo comando faz com que o R abra uma nova janela. Novos grficos iro sobrescrever o grfico na mesma janela. Grficos com linhas ligando os pontos podem ser obtidos utilizando o argumento opcional type=1 na funo plot( ): > plot(x,y, type="l") H vrias outras opes para os grficos. Examine estes exemplos: > plot(x,y, type="b") > plot(x,y, type="o") > plot(x,y, type="s") > plot(x,y, type="c") > plot(x,y, type="h")

Adicionando mais
Pode-se adicionar pontos ou linhas a um grfico usando as funes points e lines: plot(x,y) > points(rev(x),y)

Mudando o padro dos pontos


Pode-se usar padres para pontos usando o argumento pch= Diferentes tipos de smbolos so associados a diferentes nmeros. Pode-se ainda usar caracteres com o smbolo desejado. > plot(x,y) > points(rev(x),y,pch=3) # adiciona cruzes points(x,y,pch="$") # adiciona o smbolo do dlar

Os primeiros smbolos numricos para grficos so os seguintes:

Nmeros 7 a 14 so composies de smbolos obtidos por sobreposio dos smbolos bsicos. Os nmeros 15 to 18 so verses slidas dos smbolos 0 a 4. Examine os exemplos: plot(x,y) plot(x,y, pch="@") plot(x,y, pch= 1:3) plot(1:20, 1:20, pch = 1:20) O ltimo comando uma tima maneira de recordar os nmeros associado aos smbolos!

Mudando as linhas
A largura das linhas podem ser mudadas com o argumento lwd=, enquanto os estilos das linhas podem ser modificados com o argumento lty=: plot(x,y) lines(x,y,lwd=4) # linha grossa lines(rev(x),y,lty=2) # linha interrompida

Definindo o intervalo dos eixos


Se voc quiser preencher um mesmo grfico com linhas e pontos que possuem diferentes amplitudes deve usar o argumento type="n". Com este argumento um "grfico em branco" criado, so ajustadas apenas as margens e eixos do grfico e o restante deixado em branco. A seguir adicionam-se linhas e pontos desejados. Voc deve fornecer coordenadas x e y que cubram a amplitude de valores de todos os elementos que voc deseja adicionar ao grfico. > plot(c(0,20),c(-8000,8000),type='n') > lines(x,y) > lines(x,-y) Vejamos um outro exemplo: > plot(c(0,20),c(0,30), type='n') > segments(5, 3, 15, 20) > lines(c(12, 15, 7), c(3, 10, 8), col="red") > abline(30, -2, lty=2, col="blue")

Adicionando texto
Voc pode dar nome aos eixos com os argumentos xlab= e ylab=, o ttulo pode ser fornecido usando a funo title(), e qualquer texto pode ser adicionado em qualquer lugar do grfico utilizando a funo text(): > plot(x,y,xlab="Eixo X aqui",ylab="Eixo Y aqui") > title("Ttulo vai aqui \n (e note a acentuao!!!)") > text(10,400,"Texto em qualquer lugar")

Grficos mltiplos
Voc pode dar instrues para o programa mostrar diversos grficos pequenos em uma mesma janela ao invs de um apenas. Para isto use a funo par(): > par(mfrow=c(2,3)) # arranjamento 2x3 > plot(x,y) > plot(x,y) > plot(x,2*y) > plot(x,log(y))

Neste caso voc pode acomodar at 2x3=6 grficos na mesma janela. A tela vai "limpar" quando voc tentar fazer o stimo grfico. Para retornar ao padro com apenas um grfico por janela digite par(mfrow=c(1,1)). A funo par () pode fazer diversas outras coisas relacionadas aos grficos. Veremos outras funcionalidades mais tarde, e voc pode tambm consultar a documentao com help (par).