Índice
- O Curso R
-
- Tutoriais
-
- Apostila
-
- 6. Testes de Hipótese (em preparação!)
- Exercícios
-
- Material de Apoio
-
- Área dos Alunos
-
- Cursos Anteriores
-
IBUSP
Outras Insitutições
Linques
Visitantes
Outras Insitutições
Bacharel em Biologia e Mestrando em Ecologia pelo Instituto de Biociências da USP
Meus interesses de pesquisa são:
Em meu mestrado, vou usar modelos matemáticos e redes empíricas de interações ecológicas para investigar o papel das forças de interações em diferentes dinâmicas coevolutivas.
http://guimaraes.bio.br/people.html
Link para exercícios realizados Meus exercícios
Contextualização
A disciplina Ecologia de Comunidades e Ecossistemas é oferecida para o curso de graduação em Biologia pelo Inst. de Biociências da USP, abordando padrões em larga escala como surgimento e manutenção da biodiverdade e macroevolução [1]. Na primeira aula da disciplina, os alunos são expostos ao modelo logístico de crescimento de populações (Figura abaixo), para observar como uma equação não-linear pode gerar dinâmicas populacionais complexas e até caóticas.
A equação nos diz o tamanho de uma população N
no tempo t+1
com uma certa taxa de crescimento intrínseca r
e um tamanho populacional no tempo t
[2]. Aqui nós usamos a densidade populacional sendo uma proporção, fazendo com que o valor de k
, a capacidade suporte, seja 1. Pensando que este é um modelo matemático, ele pode gerar resultados que não tem nenhum sentido biológico como por exemplo, um valor alto de r (>3.95)
gera tamanho populacionais negativos. Matematicamente correto, porém biológicamente irreal.
É interessante que os alunos comparem uma dinâmica da equação logística com a equação de crescimento exponencial, sendo esta a equação fundamental que deriva as outras.
A aula em questão é composta por metade teórica e metade prática, sendo que na aula prática os alunos recebem um arquivo em formato excell (.xlsx) onde há duas abas, uma delas com um gráfico do tamanho da(s) população(ões) estudadas e outra com as células dos valores de tempo de simulação, N
inicial e r
de duas populações de interesse. O objetivo desta prática é entender como diferentes valores de N
e r
afetam a dinâmica populacional de uma ou duas populações quaisquer.
Minha função tem como objetivo substituir o arquivo .xlsx usado na aula prática para uma função em R, realizando a mesma tarefa de simular dinâmica populacional de até duas populações e gerar um gráfico de população por tempo. Minha função vai permitir que a pessoa escolha qual dinâmica irá simular: logística ou exponencial, para que possa haver uma comparação entre as dinâmicas e gerar discussões.
Obs: A prática em questão foi elaborada pelos docentes da disciplina. Os arquivos podem ser baixados nos linques abaixo
Planejamento:
Entrada: simu_pop(eq, t, ni, nj, ri, rj)
eq
= Modelo a ser simulado (character, exponencial
; logistico
)t
= número de passos de tempo da simulação (integer)ni
= densidade populacional inicial da espécie i
(float, 0 < ni
> 1) nj
= densidade populacional inicial da espécie j
(float, 0 < nj
> 1)ri
= taxa intrínseca de crescimento da espécie i
(float, 1.1 < ri
> 3.95)rj
= taxa intrínseca de crescimento da espécie j
(float, 1.1 < rj
> 3.95)Conferindo argumentos
eq
só possui duas entradas possíveis (exponencial
; logistico
), caso seja diferente, retorne erroni
e nj
devem ser valores entre 0 e 1, caso contrário, retorne errori
e rj
devem ser valores entre 1.1 e 3.95, caso contrário, retorne erroSaída
Referências
1. Página da disciplina no sistema de graduação JúpiterWeb. Acessado em 02/05/2018.
2. Gotelli, N. (2008). A primer of ecology. Sinauer Associates is an imprint of Oxford University Press; 4th edition.
Comentários Andre Chalom
Excelente proposta! Vamos convencer os professores a virem todos para o lado livRe da foRça!
Alguns comentários sobre a proposta:
Por fim, preciso ser chato e dizer que sua proposta tem uma certa confusão entre processos de tempo contínuo (equação logística) e tempo discreto (mapa logístico). Mas como isso não está no escopo dessa disciplina, sua avaliação não vai depender disso.
muito obrigado pelo feedback.
Vou fazer a função da Proposta I mesmo.
Já adicionei o motivo dos valores de r
serem limitados e coloquei que o argumento para o eq
agora são caracteres logistic
e exponential
. Também dei uma mudada no texto. Muito obrigado.
Lucas Camacho
—-
Contextualização
Os serviços de streaming de música tem se tornado cada vez mais comuns, disponibilizando uma “infinidade” de músicas dos mais diversos gêneros conhecidos. Com isso, surgiu o serviço de criação de playlists de música para determinados tipos de humor, que podem ser escolhidos pelo ouvinte. Porém, muitos destes serviços são pagos ou possuem playlists já prontas e com músicas, muitas vezes, desconhecidas pelo usuário. Dessa forma, seria interessante que houvesse um programa simples que receba suas listas de músicas classificadas de acordo com seu gosto e gere playlists de músicas que te direcionem para um determinado humor desejado. Considere o cenário hipotético:
Digamos que você está no primeiro semestre da pós-graduação e você acaba de perceber que não rendeu muito em seu projeto, gerando a possibilidade de uma bronca do seu orientador carioca. Isso ocorreu pois você estava ocupado com disciplinas relacionadas a estatística e programação em R. Essa situação te leva a um sentimento de tristeza e frustação e tudo o que você quer é se sentir mais feliz e compreendido. A música pode te ajudar, ainda mais quando sua playlist apenas contém as suas próprias músicas e é ordenada de uma forma que no início acompanha seu humor atual e, aos poucos, te leva ao humor desejado, caso você queira mudar de humor.
A função proposta vai ler uma lista de músicas do usuário com uma classificação numérica dada pelo próprio usuário. Com essa lista, a função retornará uma lista de músicas de tamanho escolhido pelo usuário, com músicas semelhantes ao humor de entrada e se o usuário desejar, músicas que passem do humor atual para um determinado humor desejado. Caso o usuário não queira mudar o seu humor, a função retorna uma playlist apenas com músicas que acompanham o humor de entrada.
Planejamento:
Entrada: get_playlist(list, n, he, hs)
list
= lista de músicas já classificadas do usuário (list)n
= número de músicas (integer)he
= humor de entrada (string, alegre
, triste
, calmo
, ansioso
, focado
, relaxado
)hs
= humor de saída (NULL
por default ou string, alegre
, triste
, calmo
, ansioso
, focado
, relaxado
)Conferindo argumentos
list
deve ser de classe list
e deve ser semelhante ao exemplo abaixo, caso contrário, retorne erro.Alegre | Triste | Calmo | Ansioso | Focado | Relaxado | |
---|---|---|---|---|---|---|
Música 1 | 1 | 0 | 0 | 0 | 0 | 1 |
Música 2 | 1 | 0 | 0 | 0 | 0 | 1 |
Música 3 | 0 | 1 | 1 | 0 | 1 | 0 |
n
máximo é igual ao número total de músicas em list
, caso contrário, retorne errohe
deve pertencer a uma lista de humores disponíveis, caso contrário, retorne erroSaída
n
determinado pelo usuário Comentários Andre Chalom
Essa proposta é muito bacana, mas está bastante crua. Ela tem a descrição de “o que” vai ser feito, mas se vc estiver pensando em fazer essa função, é importante detalhar mais o “como” vai ser feito. Sugiro fazer um pseudo-código pra estruturar as ideias.
Abs!
Decidi seguir com a Proposta I do trabalho final, criando uma função que simula populações virtuais com base em dois modelos clássicos da ecologia: o modelo exponencial e o modelo logístico. Para essa função, basta escolher qual modelo você quer simular, o tempo da simulação e os parâmetros n
e r
das populações que você terá um gráfico com as simulações, atingindo enfim nosso objetivo de oferecer uma ferramenta alternativa para a primeira aula prática da disciplina.
Contatos
e-mail: lucas.camacho@usp.br
skype: lucas.arantes666