Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2016:alunos:trabalho_final:louiseee.morais:propostas_a_e_b

PROPOSTA A – Ajudando futuros alunos de “Processos Evolutivos” (e a mim mesma)

Função genpop()

Meu primeiro contato com o R foi com um script na disciplina “Processos Evolutivos”, e me lembro de ter ficado um pouco impressionada com a linguagem. Tive a sensação que era complicado demais e que nunca iria conseguir programar. Nessa disciplina, parte dos estudos sobre Equilíbrio de Hard- Weinberg era feito em um programa chamado Populus e uma outra parte por alguns scripts.

Input e output

Minha proposta é fazer uma função que retorne graficamente a frequência de alelos ao longo das gerações, segundo a Teoria de Hard- Weinberg. Dessa forma, o script estará “escondido” e pode ser mais palatável para alguns alunos.

Quero que minha função funcione em diferentes cenários:

  • Ausência de seleção natural (deriva)
  • Com seleção natural
  • Com acasalamento não pan-mítico (escolha de “fenótipo” pelo parceiro)

Para isso, seria necessário que a função contasse com, pelo menos, os seguintes argumentos:

  1. n = , referente ao tamanho das populações
  2. npop = , número de populações
  3. ntime= , referente ao número de gerações
  4. freqi= , frequência inicial dos alelos
  5. s= 0, default é zero, o que significa que não há seleção (varia de 0 a 1)
  6. m= 0, default é zero, o que implica em acasalamentos pan-míticos (varia de 0 a 1)

:?: {Estou estudando essa proposta durante essa semana, já que alguns conhecimentos estão meio enferrujados. Estou pensando se usarei os argumentos s e m sempre pra um mesmo alelo (ex: sempre que os valores foram alterados, será o “Azão” que será selecionado ou escolhido pelo parceiro) ou se eu permito inserir a seleção por fenótipo (permitir informar se s e m estão selecionando o “Azão” ou o “azinho”). Acredito que essa parte do s e do m é onde eu poderei fazer mais modificações até a entrega do trabalho final}

Comentários Renata Orofino

Louise, Vou precisar de ajuda com essa ideia.
  • É possível achar o material usado na disciplina?
  • a ideia da função seria para uma determinada entrada de dados, retornar janelas gráficas com histogramas de frequência?
  • Você consegue me mostrar um exemplo de como preencher o argumento freqi da sua função?
  • Não acompanhei sua dúvida final. Você consegue explica-la de outra forma?

Louise respondendo: Vamos lá :)

  • É possivel achar alguns materiais da disciplina, mas não é nada muito próximo do que eu quero fazer. Estão no github do Diogo Mayer
  • A idéia da função NÃO é pra uma entrada de dados tipo data frame ou vetor. A função se baseia na frequência inicial de alelos (que será dada num argumento) e, dessa frequência de alelos, faz um sorteio pra geração seguinte. Ou seja, dando o numero de organismos na população e a frequência inicial de alelos eu caracterizo a população inicial. Ai o sorteio simula uma reprodução aleatória, com os alelos se recombinando pra formar a geração seguinte.
  • A freqi , frequência inicial de alelos, seria a proporção em que os alelos estão representados na população inicial. Ex: c(“A”, “a”), c(0.8, 0.2). Com isso eu diria que na população inicial eu teria 80% de “azão” e 20% de “azinho”.
  • Essa dúvida do final depende muito de como eu irei construir e organizar os objetos dentro da função, fiquei quebrando a cabeça ontem e nem sei se eu já deveria ter escrito essa dúvida aqui (definitivamente essa proposta é mais desafiadora).
  • Eu quero simular dois cenários: com seleção natural e com escolha de parceiros. Esses dois cenários significam que, por exemplo, se a seleção natural/seleção de parceiros está recaindo positivamente sobre o “azinho” ele não vai estar representado na geração 2 com 20% dos alelos (como era antes na freqi). Ele estará sobre-representado, pois será sorteado mais vezes. A minha dúvida final é que eu fiquei me questionando como indicar pro R qual dos alelos estará sendo selecionado/escolhido: se seria o “azão” ou o “azinho” (apenas alelos sendo escolhidos), ou se seria algum genótipo em específico (“AA”, “Aa” ou “aa”). Isso tem umas implicações mais conceituais também…


Legal, acho que essa proposta é mais bacanuda.
Se precisar de alguma ajuda, me avise, ok? renata.orofino@gmail.com


PROPOSTA B – Ajudando as amigas professoras

Função notas()

Algumas amigas professoras me disseram que após corrigir dezenas (ou centenas) de provas, elas precisam fazer gráficos para apresentar as notas para os coordenadores durante reuniões. Em escolas da rede privada as notas dos alunos acabam sendo muito cobradas… dos professores. Além disso, elas comentaram que seria interessante que os gráficos fossem padronizados entre os professores, pois alguns deles apresentam os dados de uma forma não muito honesta.

Input e output

Sendo assim minha proposta é fazer uma função que retornasse, para cada classe/conjunto de notas:

  • Uma lista com valores úteis: média obtida no exame, número de alunos acima da média estipulada pelo colégio, número de alunos acima de 75%, número de alunos abaixo da média estipulada pelo colégio;
  • Um histograma: intervalos a cada um ponto, para mostrar visualmente a distribuição de nota por classe.

A função teria os argumentos (ainda pensando em outras possibilidades):

  1. file = , cuja entrada deverá ser um data frame com cada coluna sendo uma sala/conjunto de notas
  2. header= TRUE, indicando se há cabeçalho
  3. media= , cuja entrada deverá ser a média adotada pela escola
  4. na.omit= TRUE, indicando o que deverá ser feito com NA
  5. col= , que será para colorir cada histograma
  6. total=TRUE, que permitiria aplicar a função o conjunto total de notas, somando todas as classes/conjunto de notas

Comentários Renata Orofino

Louise, A ideia é legalzinha, mas não vejo os desafios que você terá que enfrentar para realiza-la. Teríamos que incluir mais informações na brincadeira pra que ficasse interessante. Ideias:
  • O NA não parece fazer sentido no contexto indicado, certo? Prova não realizada é 0.
  • Seria interessante calcular a média por aluno nas diferentes disciplinas?
  • Para um professor, é importante pensar se o desempenho dos alunos em uma prova de determinado assunto foi pior do que nos demais assuntos tratados no ano/semestre. Teríamos como comparar o desempenho (média 1 maior que média 2 em mais de 4 pontos, por exemplo) como forma de alerta ao professor?

Louise respondendo: Oi Renata, obrigada pelas dicas.

  • Sobre o NA: achei que seria importante o professor diferenciar um aluno que não teve nota por faltar de alunos que realizaram a prova e tiraram 0.
  • Sobre comparar as notas dos alunos por disciplina: acho bastante interessante para a coordenação, por exemplo, e estou aqui pensando em como conseguir inserir
  • Sobre comparar o desempenho do alunos: bem interessante, dá pra fazer também

As duas propostas são bacanas, Louise. Concordo com a Rena que a primeira tem mais desafios a serem enfrentados. A segunda você faz pras amigas em troca de chocolate. Vai fundo na 1! — Sara


Monitoras queridas, Fiquei pesquisando como inserir o m (de seleção de parceiros) na proposta e parece que a forma como pensei é errada. Conceitualmente errada. Tentei trabalhar o m da mesma forma que se usa o s, mas fica algo bem simplista e para isso eu teria que deixar uma série de premissas e explicar tudo que eu assumi. Busquei alguns monitores com os quais eu poderia conversar pessoalmente, recebi algumas dicas e estou reformulando a proposta final.


05_curso_antigo/r2016/alunos/trabalho_final/louiseee.morais/propostas_a_e_b.txt · Última modificação: 2020/08/12 06:04 (edição externa)