Ferramentas do usuário

Ferramentas do site


00_mini_curso:start

Diferenças

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

Link para esta página de comparações

Próxima revisão
Revisão anterior
00_mini_curso:start [2020/08/12 06:04]
127.0.0.1 edição externa
00_mini_curso:start [2020/09/23 17:20]
adalardo link curso
Linha 1: Linha 1:
 ====== Mini Curso ====== ====== Mini Curso ======
-{{:​cursos:​ecor:​00_mini_curso:​computer-frustration-mutual-cartoon.jpg?​200 ​ |}}+{{:​00_mini_curso:​computer-frustration-mutual-cartoon.jpg?​200 ​ |}}
 O objetivo desse mini-curso((criado por  --- //​[[aleadalardo@gmail.com|Alexandre Adalardo de Oliveira]] 2015/10/05 // para o mini-curso da semana temática da biologia - IBUSP)) é apresentar aos alunos conceitos básicos sobre a linguagem e sua sintaxe. O objetivo desse mini-curso((criado por  --- //​[[aleadalardo@gmail.com|Alexandre Adalardo de Oliveira]] 2015/10/05 // para o mini-curso da semana temática da biologia - IBUSP)) é apresentar aos alunos conceitos básicos sobre a linguagem e sua sintaxe.
 Esse mini-curso foi estruturado para atividades de 8 horas, divididas em dois dias. O primeiro dia é centrado na lógica do ambiente de programação em linha de comando (CLI: Command Line Interface) e o segundo dia na utilização de ferramentas avançadas através da interface gráfica [[http://​www.rcommander.com/​|Rcommander]]. ​ Esse mini-curso foi estruturado para atividades de 8 horas, divididas em dois dias. O primeiro dia é centrado na lógica do ambiente de programação em linha de comando (CLI: Command Line Interface) e o segundo dia na utilização de ferramentas avançadas através da interface gráfica [[http://​www.rcommander.com/​|Rcommander]]. ​
Linha 10: Linha 10:
 <WRAP center round box 60%> <WRAP center round box 60%>
 //**__Aula Relâmpago__**//​ //**__Aula Relâmpago__**//​
-Há em nosso material algo que chamamos de [[cursos:​ecor:​01_curso_atual:​aularelampago| Aula Relâmpago]] que é parte das atividades preparatórias do curso integral. Sugerimos que faça essa atividade após finalizar esse mini curso.+Há em nosso material algo que chamamos de [[01_curso_atual:​aularelampago| Aula Relâmpago]] que é parte das atividades preparatórias do curso integral. Sugerimos que faça essa atividade após finalizar esse mini curso.
 </​WRAP>​ </​WRAP>​
 ====== O repositório ====== ====== O repositório ======
Linha 33: Linha 33:
 Uma função executa uma tarefa ou conjunto de tarefas acopladas. Normalmente,​ mas não necessariamente,​ a função atua em um objeto de dados que é definido nos primeiros argumentos. Funções podem conter funções, rode o exemplo abaixo: Uma função executa uma tarefa ou conjunto de tarefas acopladas. Normalmente,​ mas não necessariamente,​ a função atua em um objeto de dados que é definido nos primeiros argumentos. Funções podem conter funções, rode o exemplo abaixo:
  
-<​code>​+<​code ​rsplus>
 ## função para construir sequencias ## função para construir sequencias
 seq(from=0, to =100, by=10) seq(from=0, to =100, by=10)
Linha 51: Linha 51:
 A última linha de código acima pode ser desmembrado da seguinte forma, tendo a mesma //​tradução//,​ ou seja executando a mesma tarefa: A última linha de código acima pode ser desmembrado da seguinte forma, tendo a mesma //​tradução//,​ ou seja executando a mesma tarefa:
  
-<​code>​+<​code ​rsplus>
  
 meux <- seq(from=0, to=100, by=10) meux <- seq(from=0, to=100, by=10)
Linha 66: Linha 66:
   * usar os argumentos na ordem definida na função sem indicar o nome;   * usar os argumentos na ordem definida na função sem indicar o nome;
  
-<​code>​+<​code ​rsplus>
 plot(meux, meuy) plot(meux, meuy)
 </​code>​ </​code>​
Linha 72: Linha 72:
   * usar ambos critérios:   * usar ambos critérios:
  
-<​code>​+<​code ​rsplus>
  
 plot(meux, pch=16, y = meuy) plot(meux, pch=16, y = meuy)
Linha 103: Linha 103:
 ---- ----
  
-{{page>cursos:​ecor:​02_tutoriais:​tutorial1:​start#​O Código é Tudo!}} ​+{{page>​02_tutoriais:​tutorial1:​start#​O Código é Tudo!}} ​
  
 ---- ----
Linha 109: Linha 109:
 Você já aprendeu que ''​**__o código é tudo!__**'',​ mas ''​**__o código comentado é ainda melhor!__**''​. Um ótimo hábito para quem está programando é comentar as linhas de códigos. Para iniciantes é interessante comentar todos os comandos, ajuda a fixar o que foi feito e ajuda muito quando estiver procurando algo que já fez parecido um dia. Para comentar linhas ou parte do código utilize o simbolo ''#''​ como exemplificado no código abaixo: Você já aprendeu que ''​**__o código é tudo!__**'',​ mas ''​**__o código comentado é ainda melhor!__**''​. Um ótimo hábito para quem está programando é comentar as linhas de códigos. Para iniciantes é interessante comentar todos os comandos, ajuda a fixar o que foi feito e ajuda muito quando estiver procurando algo que já fez parecido um dia. Para comentar linhas ou parte do código utilize o simbolo ''#''​ como exemplificado no código abaixo:
  
-<​code>​+<​code ​rsplus>
 #####################​ #####################​
 ## Código da primeira aula do mini-curso R 2015 ## Código da primeira aula do mini-curso R 2015
Linha 135: Linha 135:
 ---- ----
  
-{{page>cursos:​ecor:​02_tutoriais:​tutorial1:​start#​A Melhor Maneira de Executar o R no Windows}}+{{page>​02_tutoriais:​tutorial1:​start#​A Melhor Maneira de Executar o R no Windows}}
  
 ---- ----
Linha 150: Linha 150:
 Vamos olhar a documentação das funções que usamos acima. Há dois jeitos de fazê-lo, usando a função ''​help("​nomedafunção"​)''​ ou o atalho ''?"​nomedafunção"''​ Vamos olhar a documentação das funções que usamos acima. Há dois jeitos de fazê-lo, usando a função ''​help("​nomedafunção"​)''​ ou o atalho ''?"​nomedafunção"''​
  
-<​code>​+<​code ​rsplus>
 help(c) help(c)
 ## a função c é uma das mais usadas, serve para concatenar valores em um objeto. ​ ## a função c é uma das mais usadas, serve para concatenar valores em um objeto. ​
Linha 169: Linha 169:
 Para inicia-lo digite ​ Para inicia-lo digite ​
  
-<​code>​+<​code ​rsplus>
 ## abrindo a ajuda do R no navegador ## abrindo a ajuda do R no navegador
 help.start() help.start()
Linha 189: Linha 189:
 Para usar as ferramentas (geralmente ''​funções''​) de um pacote é preciso antes que ele esteja no seu computador instalado. Para isso usamos a função ''​install.packages()''​. Para usar um pacote instalado é necessário carregá-lo na sua sessão do R usando a função ''​library()''​. Para usar as ferramentas (geralmente ''​funções''​) de um pacote é preciso antes que ele esteja no seu computador instalado. Para isso usamos a função ''​install.packages()''​. Para usar um pacote instalado é necessário carregá-lo na sua sessão do R usando a função ''​library()''​.
    
-{{page>:​cursos:​ecor:​03_apostila:​02-entrada#​pacotes}}+{{page>:​03_apostila:​02-entrada#​pacotes}}
  
 ---- ----
Linha 198: Linha 198:
 ===== Operações Matemáticas ===== ===== Operações Matemáticas =====
 As operações matemáticas simples são apresentadas abaixo, reproduza os comandos para se familiarizar com o código: As operações matemáticas simples são apresentadas abaixo, reproduza os comandos para se familiarizar com o código:
-<​code>​+<​code ​rsplus>
 4+5 4+5
 4*5 4*5
Linha 207: Linha 207:
 As regras de precedência são as mesmas da aritmética básica: As regras de precedência são as mesmas da aritmética básica:
  
-<​code>​+<​code ​rsplus>
 2 + 4 * 5 2 + 4 * 5
 (2 + 4) * 5 (2 + 4) * 5
Linha 220: Linha 220:
 ==== Operações matemáticas comuns ==== ==== Operações matemáticas comuns ====
  
-<​code>​+<​code ​rsplus>
  
 sqrt(9) ​  # Raiz Quadrada sqrt(9) ​  # Raiz Quadrada
Linha 233: Linha 233:
 </​code>​ </​code>​
  
-{{page> ​cursos:​ecor:​02_tutoriais:​tutorial2:​start#​operacoes_com_vetores}}+{{page> 02_tutoriais:​tutorial2:​start#​operacoes_com_vetores}}
  
 ---- ----
Linha 240: Linha 240:
 Vimos que a função ''​c()''​ serve para concatenar valores em um objeto. Vamos usá-la para gerar alguns objetos e introduzir a função ''​ls()''​ que lista todos os objetos criados na nossa sessão até o momento: Vimos que a função ''​c()''​ serve para concatenar valores em um objeto. Vamos usá-la para gerar alguns objetos e introduzir a função ''​ls()''​ que lista todos os objetos criados na nossa sessão até o momento:
  
-<​code>​+<​code ​rsplus>
 A1 <- c(1,2,3) A1 <- c(1,2,3)
 A2 <- c(10,20,30) A2 <- c(10,20,30)
Linha 249: Linha 249:
 Consulte a página de ajuda da função ls: Consulte a página de ajuda da função ls:
  
-<​code>​+<​code ​rsplus>
 help(ls) help(ls)
 </​code>​ </​code>​
  
 Onde você verá a explicação para o argumento ''​pattern''​. Execute, então, este comando: Onde você verá a explicação para o argumento ''​pattern''​. Execute, então, este comando:
-<​code>​+<​code ​rsplus>
 ls(pattern="​A"​) ls(pattern="​A"​)
 </​code>​ </​code>​
  
 Para mudar os nomes de objetos e apagar os antigos, experimente:​ Para mudar os nomes de objetos e apagar os antigos, experimente:​
-<​code>​+<​code ​rsplus>
 a.1 <- A1 a.1 <- A1
 a.2 <- A2 a.2 <- A2
Linha 267: Linha 267:
 </​code>​ </​code>​
 Que tem o mesmo efeito de: Que tem o mesmo efeito de:
-<​code>​+<​code ​rsplus>
 rm(list=ls(pattern="​A"​)) rm(list=ls(pattern="​A"​))
 </​code>​ </​code>​
 Ou de  Ou de 
-<​code>​+<​code ​rsplus>
 rm(A1,A2) rm(A1,A2)
 </​code>​ </​code>​
Linha 280: Linha 280:
 Uma das vantagens da linguagem R é que ela opera em vectores, como vimos acima nas funções matemáticas. Para gerar sequencias de valores podemos usar o ''​c()'',​ mas existem outras funções básicas para agilizar a geração de sequências. Execute as linhas de código abaixo e veja a documentação relacionada a cada função: Uma das vantagens da linguagem R é que ela opera em vectores, como vimos acima nas funções matemáticas. Para gerar sequencias de valores podemos usar o ''​c()'',​ mas existem outras funções básicas para agilizar a geração de sequências. Execute as linhas de código abaixo e veja a documentação relacionada a cada função:
  
-<​code>​+<​code ​rsplus>
  
 1:10 1:10
Linha 306: Linha 306:
 ==== Lógica vetorial ==== ==== Lógica vetorial ====
 Vetores são a estrutura básica do R, procure sempre raciocinar em vetores e operações vetorias. Por exemplo, para calcular 2 elevado a expoentes de 0 a 10, a lógica de operação escalar é : Vetores são a estrutura básica do R, procure sempre raciocinar em vetores e operações vetorias. Por exemplo, para calcular 2 elevado a expoentes de 0 a 10, a lógica de operação escalar é :
-<​code>​+<​code ​rsplus>
 2^0 2^0
 2^1 2^1
Linha 316: Linha 316:
 A lógica da operação vetorial é: A lógica da operação vetorial é:
  
-<​code>​+<​code ​rsplus>
 2^(0:10) 2^(0:10)
 </​code> ​ </​code> ​
 ou  ou 
-<​code>​+<​code ​rsplus>
 2^seq(from=0,​to=10,​ by=1) 2^seq(from=0,​to=10,​ by=1)
 </​code> ​ </​code> ​
Linha 331: Linha 331:
 Veja o código abaixo e veja se entende o que acontece: Veja o código abaixo e veja se entende o que acontece:
  
-{{page> ​cursos:​ecor:​02_tutoriais:​tutorial1:​start#​classes_date}}+{{page> 02_tutoriais:​tutorial1:​start#​classes_date}}
   ​   ​
  
  
 numbers, integers, characters & as.Date numbers, integers, characters & as.Date
-{{page>​bie5782/​doku.php?​id=cursos:​ecor:​02_tutoriais:​tutorial1:​start#​niveis_de_fatores}}+{{page>​bie5782/​doku.php?​id=02_tutoriais:​tutorial1:​start#​niveis_de_fatores}}
  
  
Linha 347: Linha 347:
 Veja o código abaixo para entender esses objetos: Veja o código abaixo para entender esses objetos:
  
-<​code>​+<​code ​rsplus>
 a=1:5 a=1:5
 a a
Linha 370: Linha 370:
  
  
-<​code>​+<​code ​rsplus>
 ## verficando se quais objetos estão presentes na área de trabalho: ## verficando se quais objetos estão presentes na área de trabalho:
  
Linha 390: Linha 390:
 As dimensões de um objeto são um atributo importante. Nos indica quanta informação está contida e como esta estruturada. Ela é fornecida pela ''​str()'',​ mas pode ser acessada pelas funções ''​length()''​ e ''​dim()''​. As dimensões de um objeto são um atributo importante. Nos indica quanta informação está contida e como esta estruturada. Ela é fornecida pela ''​str()'',​ mas pode ser acessada pelas funções ''​length()''​ e ''​dim()''​.
  
-<​code>​+<​code ​rsplus>
  
 length(b) length(b)
Linha 411: Linha 411:
 O indexadores definem a posição de um elemento em um objeto e a forma de usá-los depende da classe de objeto que pretende manipular. O indexadores definem a posição de um elemento em um objeto e a forma de usá-los depende da classe de objeto que pretende manipular.
  
-<​code>​+<​code ​rsplus>
  
 ########################​ ########################​
Linha 497: Linha 497:
  
   * Verifique os objetos presentes na sua área de trabalho usando a função ''​ls()'';​   * Verifique os objetos presentes na sua área de trabalho usando a função ''​ls()'';​
-  * Confirme que há o objeto chamado ''​pessoas'',​ caso não haja retorne ao tópico [[cursos:​ecor:​00_mini_curso:​start#​extraindo_e_modificando]] para recriá-lo;+  * Confirme que há o objeto chamado ''​pessoas'',​ caso não haja retorne ao tópico [[00_mini_curso:​start#​extraindo_e_modificando]] para recriá-lo;
   * salve o objeto com a função ''​save'',​ consulte o help para entender os argumentos:   * salve o objeto com a função ''​save'',​ consulte o help para entender os argumentos:
-<​code>​+<​code ​rsplus>
 save(pessoas,​ file="​pessoas.RData"​) save(pessoas,​ file="​pessoas.RData"​)
 </​code>​ </​code>​
Linha 517: Linha 517:
   * salve todos os objetos da sua área de trabalho no arquivo ''​minicurso1.RData'';​   * salve todos os objetos da sua área de trabalho no arquivo ''​minicurso1.RData'';​
   * * remova todos os objetos da sua área de trabalho;   * * remova todos os objetos da sua área de trabalho;
-<​code>​+<​code ​rsplus>
 rm(list = ls()) rm(list = ls())
 </​code>​ </​code>​
Linha 534: Linha 534:
 ===== Não se perca! ===== ===== Não se perca! =====
  
-{{:​cursos:​ecor:​00_mini_curso:​i-am-lost.jpg?​500|}}+{{:​00_mini_curso:​i-am-lost.jpg?​500|}}
  
  
Linha 556: Linha 556:
 Siga o script abaixo tentando entender cada passo, comente seu código, além dos comentários já incluídos para lembrar do que as funções fazem. Lembre-se **sempre olhe a documentação das funções no ** ''​help''​. Siga o script abaixo tentando entender cada passo, comente seu código, além dos comentários já incluídos para lembrar do que as funções fazem. Lembre-se **sempre olhe a documentação das funções no ** ''​help''​.
  
-<​code>​+<​code ​rsplus>
 #################​ #################​
 ## familia apply ## familia apply
Linha 589: Linha 589:
 As funções de auto nível são responsáveis pela estruturação básica de um gráfico, abrem o dispositivo de apresentação (a janela gráfica) e constroem os elementos básicos do gráfico. As funções subordinadas incluem elementos em um gráfico ativo. Veja a diferença rodando o código abaixo: As funções de auto nível são responsáveis pela estruturação básica de um gráfico, abrem o dispositivo de apresentação (a janela gráfica) e constroem os elementos básicos do gráfico. As funções subordinadas incluem elementos em um gráfico ativo. Veja a diferença rodando o código abaixo:
  
-<​code>​+<​code ​rsplus>
 #############################​ #############################​
 ## graficos ## graficos
Linha 614: Linha 614:
 Os parâmetros do dispositivo gráfico por sua vez muda a estrutura do dispositivo gráfico antes de abrí-lo. Deve ser usado antes rodar uma função gráfica de alto nível. Para interagir com os parâmetros gráficos utilizamos a função ''​par()''​. ​ Os parâmetros do dispositivo gráfico por sua vez muda a estrutura do dispositivo gráfico antes de abrí-lo. Deve ser usado antes rodar uma função gráfica de alto nível. Para interagir com os parâmetros gráficos utilizamos a função ''​par()''​. ​
 Veja o help dessa função: Veja o help dessa função:
-<​code>​+<​code ​rsplus>
  
 ?par ?par
Linha 622: Linha 622:
 Vamos usar o código de um gráfico ((autoria de Cristina Banks)) para entender como elaborar um gráfico no R. Primeiro, vamos mudar os parâmetros do gráfico antes de iniciar, mudamos cada parâmetro em um linha para que possa buscar no help informações para  entender o que o parâmetro significa e completar os comentários em cada linha. Vamos usar o código de um gráfico ((autoria de Cristina Banks)) para entender como elaborar um gráfico no R. Primeiro, vamos mudar os parâmetros do gráfico antes de iniciar, mudamos cada parâmetro em um linha para que possa buscar no help informações para  entender o que o parâmetro significa e completar os comentários em cada linha.
  
-<​code>​+<​code ​rsplus>
 ########## dados ####################​ ########## dados ####################​
 riqueza <- c(15,​18,​22,​24,​25,​30,​31,​34,​37,​39,​41,​45) riqueza <- c(15,​18,​22,​24,​25,​30,​31,​34,​37,​39,​41,​45)
Linha 648: Linha 648:
 Comente as linhas. Comente as linhas.
  
-<​code>​+<​code ​rsplus>
 plot(riqueza~area,​ xlab="​Area (ha)", ylab="​Riqueza de especies\n de aves", cex=1.5, pch=16, ​ ylim=c(8, 50), xaxp=c(0,​100,​4),​ col="​firebrick3"​) plot(riqueza~area,​ xlab="​Area (ha)", ylab="​Riqueza de especies\n de aves", cex=1.5, pch=16, ​ ylim=c(8, 50), xaxp=c(0,​100,​4),​ col="​firebrick3"​)
 text(10,50, "​a",​ cex=1.8) text(10,50, "​a",​ cex=1.8)
Linha 664: Linha 664:
 Vamos utilizá-la para colocar uma legenda na janela ativa do gráfico. Vamos utilizá-la para colocar uma legenda na janela ativa do gráfico.
  
-<​code>​+<​code ​rsplus>
  
 xy <- locator(1) xy <- locator(1)
Linha 681: Linha 681:
 </​WRAP>​ </​WRAP>​
  
-<​code>​+<​code ​rsplus>
 par(mar=c(5,​5,​0.5,​2)) par(mar=c(5,​5,​0.5,​2))
 par(bty="​l"​) par(bty="​l"​)
Linha 699: Linha 699:
 ===== Modelos Lineares ===== ===== Modelos Lineares =====
  
-<​code>​+<​code ​rsplus>
  
 ############################​ ############################​
00_mini_curso/start.txt · Última modificação: 2020/09/23 17:20 por adalardo