Utilizando o R

Prazer, meu nome é Gui, R Gui

http://www.r-project.org/

<box 100% red|Antes de entrar em pânico…> Nesta prática iremos utilizar um programa que interage com você por meio de linhas de comando, o que significa que ele tem uma linguagem própria que vocês não devem conhecer. À primeira vista vai parecer assustador, mas vocês verão que não é tão ruim assim. Este roteiro atuará como seu guia e tradutor. Sigam-no e ninguém sairá ferido. Bon voyage! ^_^ </box>

Primeiro vamos abrir o tal programa e nos familiarizar um pouco com ele. Mas tente não perder muito tempo com essa primeira parte: ela é importante para entender o exercício, mas não é o exercício propriamente dito. Não permaneça nessa seção depois das 20:00h, no caso da turma do noturno.

Procure no desktop do seu computador um R azul e estiloso como o da figura acima. Se não acharem no desktop tentem em Iniciar → Todos os programas. Abram o programa e vocês verão uma tela árida e sem vida (Lembrem-se de que a Terra era assim também há alguns bilhões de anos atrás e veja no que ela se tornou). Note que há algumas poucas opções de comandos no menu superior. Esse é o GUI (Graphic User Interface) que apesar de básico irá ajudá-lo em algumas tarefas mais simples.

Sem desanimar, vamos utilizar o R para fazer a coisa mais simples que ele sabe: operações aritméticas. Note que os comandos que devem ser inseridos no programa estarão sempre no formato de texto code, com um fundo azulado.

Durante esse roteiro terá duas opções: (1) copiar os códigos que aparecem no roteiro em um fundo azul claro e colar no console do R ou (2) digitar diretamente no console do R os comando que estão no roteiro. Não esqueça de que devem dar um ENTER depois de escrever cada linha de comando. Veja o exemplo de linhas de comando abaixo e teste-as no R.

2+2
5-1
2*3
4/5

Notem que há um sinal de > em vermelho no canto esquerdo. Isso mostra o início da linha de comando. As linhas de comando, ou as ordens dadas ao programa, vão sempre ficar em vermelho, enquanto que as respostas que ele nos der vão sempre ficar em azul. Repare também que sempre, antes do resultado, aparece um [1]. Isso nada mais é do que um contador, quer ver? Vamos pedir agora uma seqüência de 1 a 100.

1:100

Note que o contador mostra a posição do primeiro valor de cada linha de resultado.

Um pouco mais de R

Continuando, uma coisa que o R gosta bastante de fazer é criar objetos. Para tanto basta escolher um nome e atribuir-lhe algum valor ou conjunto de valores ou mesmo palavras. Se você quiser que seu objeto tenha mais de um elemento basta escrever c(elemento 1,elemento 2,etc). Vamos tentar?

valor <- 5
pares <- c(0,2,4,6,8)
cores <- c("azul","vermelho","amarelo")

Quando usamos o símbolo “=” ou “<” seguido de “-” estamos criando objetos com um nome que aparece a esquerda e que contém alguns elementos (o que vem a direita do símbolo). Quando criamos um objeto, ele fica guardado na memória do R até que você feche o programa. Porém, os objetos criados ficam ocultos. Para ver a lista de arquivos ocultos basta dar o seguinte comando:

ls()

Já para ver o conteúdo de cada objeto basta chamá-lo pelo nome:

valor
pares
cores

Muito bem. Espero que até aqui ninguém tenha morrido ainda. Agora vamos fazer um dos truques mais bacanas do R: que comece a jogatina! Você sabia que podemos jogar dados com esse programa? Quer apostar?

moeda <- c("cara","coroa")
moeda
sample(moeda,1)
sample(moeda,1)
sample(moeda,1)
sample(moeda,1)

A cada vez que você roda sample(dado,1) o R faz um sorteio. Vamos jogar uns dados agora.

dado <- c(1:6)
dado
sample(dado,1)
sample(dado,1)
sample(dado,1)

Gostaram? Mas não vão ficar viciados, hein?! ;-)

Finalmente, vamos às brincadeiras de gente grande. Para a prática de hoje, vamos trabalhar com matrizes. Felizmente é muito fácil transformar um conjunto de dados em uma matriz utilizando o comando matrix().

1:100
matrix(1:100,nrow=20,ncol=5)

Note que os argumentos nrow define o número de linhas (20) e ncol o de colunas (5).

Mas podemos ir além e criar um objeto tridimensional do tipo array:

array(1:100,dim=c(5,5,4))

Note que o argumento agora é dim deve conter os valores de cada dimensão c('linha', 'colunas', 'matriz'). O resultado aparece como fatias de um bolo, onde cada camada é uma matriz. Conseguiu visualizar?

Outra coisa bacana é que podemos criar objetos vazios. (NA quer dizer não se aplica, ou seja, aquela posição não está sendo ocupada por nenhum valor.)

a=rep(NA,10)
a

b=matrix(NA,nrow=3,ncol=3)
b

c=array(NA,dim=c(3,3,3))
c

Mas qual a graça de se fazer isso? A graça é que depois podemos preencher os lugares vazios com os valores que quisermos.

a[1]=2
a
a[1]

b[3,3]="oi"
b
b[2,2]="oi"
b
b[1,1]="oi"
b
b[3,3]

c[3,3,1]="oi"
c
c[3,3,2]="ai"
c
c[3,3,3]="ui"
c
c[3,3,3]

Pronto, agora sem querer querendo vocês já sabem indexar! O que é isso? É simplesmente dizer a posição de um objeto que você quer. Se for um objeto simples do tipo linear, como é o caso de a, basta escrever o nome do objeto e em seguida um valor dentro dos colchetes (nome[posição]). Se for uma matriz como o b, você tem que dizer nome[número da linha, número da coluna]. Finalmente, se for um objeto tridimensional como o c você deve dizer nome[número da linha, número da coluna, número da fatia do bolo].

<box 50% red | Que horas são? > Confira as horas, caso já sejam 20h, não continue para não comprometer seu exercício de metapopulação </box>

Gráficos

Outro forte do R é a criação de gráficos. Veja alguns exemplos extremamente simples:

plot(1:10,10:1)
plot(1:10,10:1,pch=2)
plot(1:10,10:1,pch=2,col=2)
plot(1:10,10:1,pch=2,xlab="eixo x")
plot(1:10,10:1,pch=2,xlab="eixo x",ylab="eixo y")


hist(rnorm(1000),col=33)
arrows(2,100,2,70,col=2)

boxplot(iris$Sepal.Length~iris$Species)

Funções no R

Agora, o golpe de misericórdia: como criar uma função. Criar uma função nada mais é do que programar o computador para fazer uma tarefa em seu lugar. Soou interessante? Pois é, mas isso exige um pouco mais do nosso esforço. Vamos ver um exemplo bem simples. Vou ensinar o programa a calcular a média de um conjunto de valores.

media=function(objeto){sum(objeto)/length(objeto)}
media(c(1,2,3))

alturas=c(1.4,1.7,2.0,1.6,1.8)
media(alturas)                  

Note que entre parênteses estão os valores ou o objeto dos quais você quer a média. Entre chaves está o comando que calcula a média. Note também que para calcular a média usei duas funções pré-existentes no R: sum e length. Na verdade também já existe uma função pronta que calcula a média: mean.

sum(alturas)    # soma dos elementos do objeto "alturas"
length(alturas) # número de elementos do objeto "alturas"
mean(alturas)   # média dos elementos do objeto "alturas"

O “#” em cada linha de comando significa que o R deve desconsiderar o texto. Isso é bom: quer dizer que o programa não se mete na conversa dos outros.

Bom, isso é tudo, ou quase tudo, o que precisávamos saber sobre a lógica do R para fazermos a prática. Não se preocupem com detalhes sobre a linguagem. Contem com seu guia: o roteiro a seguir. E se ele falhar, por favor não hesitem em clamar pela ajuda dos professores e monitores. Boa sorte. =)

<box 80%| Para você que quer mais!> Se você se interessou pelo programa não se sinta mal. Ele realmente é incrível, pois te permite fazer quase tudo que quiser. Não deixe de dar uma xeretada no site da disciplina do R, oferecida para os alunos de pós graduação ou de trocar uma idéia com os professores, que são feras no assunto. O começo, como toda linguagem, é uma subida árdua. Mas com o tempo a coisa chega a ser até prazerosa. 8-o Marcel </box>

mod1/mat_apoio/intro_r.txt · Última modificação: 2024/01/11 15:21 por 127.0.0.1
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0