Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anteriorRevisão anterior
Próxima revisão
Revisão anterior
mod1:mat_apoio:intro_r [2010/08/16 15:05] adalardomod1:mat_apoio:intro_r [2024/01/11 15:21] (atual) – edição externa 127.0.0.1
Linha 32: Linha 32:
 Note que o contador mostra a posição do primeiro valor de cada linha de resultado. Note que o contador mostra a posição do primeiro valor de cada linha de resultado.
  
-===== Prazer, meu nome é Gui, Gui =====+===== 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?  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? 
 <code> <code>
-valor=+valor <- 
-pares=c(0,2,4,6,8) +pares <- c(0,2,4,6,8) 
-cores=c("azul","vermelho","amarelo")+cores <- c("azul","vermelho","amarelo")
 </code> </code>
  
-Quando usamos o símbolo "=" estamos criando objetos com um nome (o que vem antes do = ) e que contém alguns elementos (o que vem depois do ). 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:+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:
 <code> <code>
 ls() ls()
Linha 55: Linha 55:
 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? 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?
 <code> <code>
-moeda=c("cara","coroa")+moeda <- c("cara","coroa")
 moeda moeda
 sample(moeda,1) sample(moeda,1)
Linha 65: Linha 65:
 A cada vez que você roda  //sample(dado,1)// o //R// faz um sorteio. Vamos jogar uns dados agora. A cada vez que você roda  //sample(dado,1)// o //R// faz um sorteio. Vamos jogar uns dados agora.
 <code> <code>
-dado=c(1:6)+dado <- c(1:6)
 dado dado
 sample(dado,1) sample(dado,1)
Linha 74: Linha 74:
 Gostaram? Mas não vão ficar viciados, hein?! ;-) 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.+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()//. 
 <code> <code>
 1:100 1:100
-array(1:100,dim=c(20,5,1))+matrix(1:100,nrow=20,ncol=5)
 </code> </code>
-Note que //dim// define o número de linhas (20) e colunas (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:+Mas podemos ir além e criar um objeto tridimensional do tipo array:
 <code> <code>
 array(1:100,dim=c(5,5,4)) array(1:100,dim=c(5,5,4))
 </code> </code>
-Note que o terceiro valor de //dim// corresponde à terceira dimensão. O resultado aparece como fatias de um bolo. Conseguiu visualizar?+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?
  
  
Linha 93: Linha 94:
 a a
  
-b=array(NA,dim=c(3,3,1))+b=matrix(NA,nrow=3,ncol=3)
 b b
  
Linha 106: Linha 107:
 a[1] a[1]
  
-b[3,3,1]="oi"+b[3,3]="oi"
 b b
-b[2,2,1]="oi"+b[2,2]="oi"
 b b
-b[1,1,1]="oi"+b[1,1]="oi"
 b b
-b[3,3,1]+b[3,3]
  
 c[3,3,1]="oi" c[3,3,1]="oi"
Linha 122: Linha 123:
 c[3,3,3] c[3,3,3]
 </code> </code>
-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, 1]**. 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]**.+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: Outro forte do //R// é a criação de gráficos. Veja alguns exemplos extremamente simples:
Linha 138: Linha 145:
 boxplot(iris$Sepal.Length~iris$Species) boxplot(iris$Sepal.Length~iris$Species)
 </code> </code>
 +
 +
 +===== 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. 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.
Linha 160: Linha 170:
  
 <box 80%| Para você que quer mais!> <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 {{http://ecologia.ib.usp.br/bie5782/doku.php|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+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 {{http://ecologia.ib.usp.br/bie5782/doku.php|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> </box>
  
  
mod1/mat_apoio/intro_r.1281971118.txt.gz · Última modificação: 2024/01/11 15:21 (edição externa)
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