Aqui você vê as diferenças entre duas revisões dessa página.
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> |
############################ | ############################ |