====== Patrícia Coutinho Müller ====== {{:bie5782:01_curso_atual:alunos:trabalho_final:pmuller:img_8697.jpg?200|}} Mestranda em Oceanografia Biológica pelo Instituto Oceanográfico. Meu projeto visa descrever o repertório acústico das toninhas (//Pontoporia blainvillei//) na Estação Ecológica Tupinambás, litoral norte de São Paulo, e avaliar o seu modo de uso da área. ====Meus exercícios==== link: [[.:exec]] ==== Propostas de trabalho final ==== **Proposta 1** Em grandes arrastos com redes de plâncton, é comum o uso de um equipamento conhecido como fluxômetro para quantificar o volume total de água filtrado pela rede. Esse equipamento possui um rotor acoplado diretamente a um contador de seis dígitos que registra cada volta de seu rotor interno. O valor indicado no contador deve ser anotado antes e depois de cada coleta. Uma vez que esse valor é obtido, é possível calcular a densidade de cada espécie em determinada amostra. A densidade de uma espécie é dada por: De= n/V onde n é o número total de indivíduos de uma espécie contados em uma amostra e V é o volume de água filtrado pela rede em m³. Por sua vez, o volume de água quantificado pelo fluxômetro é obtido a partir da seguinte equação: V= A*(Rf – Ri)*C onde ''A'' corresponde a área da abertura da rede em m², ''Rf'' é o valor final indicado no contador do fluxômetro, ''Ri'' o valor inicial e ''C'' é o fator de aferição obtido após a calibração do fluxômetro. Considerando que muitas vezes, o número de espécies é alto assim como o número de amostras, realizar esse trabalho mecanicamente leva bastante tempo. Dessa forma, a proposta é fazer uma função que calcule a densidade de todas as espécies em uma ou mais amostras. **Planejamento da função:** Entrada= dens.flux (x, a, c, graphic=T, dec=".") ''x'' = data frame; ''a'' = área da abertura da rede (m²); ''c'' =ator de aferição do equipamento; ''Graphic =TRUE'', se usuário deseja gerar um gráfico com as densidades por amostra; ''dec="."'' para que o separador decimal utilizado seja ponto. **Verificar parâmetros:** * x é um dataframe com as colunas amostra, espécie, n, Rf, Ri? * As cinco colunas do data frame possuem o mesmo tamanho? * As colunas amostra e espécie são vetores de classe caracter? * As colunas n, Rf e Ri são vetores de classe integer? * Os valores de Rf são maiores que Ri? * A é um objeto da classe numérica? * C é um objeto da classe numérica? * A e C são maiores que zero? **Pseudo-código:** * Verificar se os parâmetros estão corretos (usar if e stop – caso não estejam); * Transformar NAs em 0 (emitir warning sobre onde ocorreram as possíveis transformações); * Criar um objeto dens para guardar o valor das densidades; * Criar um ciclo for ( ) com contador i de 1:n ; * Aplicar a equação De= n/ A*(Rf-Ri)*C; * Gravar resultado em dens[i]; * Indexar o objeto dens ao dataframe inicial; Se graphic=T: * Criar um histograma com a densidade média de organismos em cada amostra; * Fazer uma lista com o dataframe e o histograma; **Saída:** * Dataframe inicial com uma nova coluna de densidades (graphic=F) ou lista com o dataframe e histograma (graphic=T). --- //[[delbel.renan@gmail.com|Renan Del Bel]] 2019/06/13 12:53// Em geral gosto de onde isso está indo, mas acho que podemos investir nessa ideia para que fique ainda melhor. **Algumas dúvidas:** * Não entendi direito o input. Por que colocar Rf e Ri para cada espécie? * Onde você usa dec ="." na função? * Por que no output o histograma retorna na lista e não é só plotado? * Não conheço bem o procedimento, mas seria muito estranho usar equipamentos diferentes, como outra rede ou outro fluxômetro, em cada amostragem? * Seria possível fazer amostragem em dias diferentes, e nesse caso seria possível ter C diferente para cada medição, mesmo se for usado o mesmo aparelho? * Pensando sobre como seria mais comum anotar esses dados em campo, imagino que você teria uma tabela de medidas do fluxômetro para cada amostra, mas cada amostra teria a própria tabela de espécies com suas respectivas abundância, faz sentido? **O que eu sugiro:** Sobre o input: * Deixe explícito como utilizar o parâmetro 'dec', inclusive o que acontece se outro valor for atribuído a ele. * Imagino que o ideal seja um dataframe espécie/abundância/amostra e outro dataframe amostra/Rf/Ri/A/C. Sobre a verificação de dados: * Não apenas verifique se o formato está correto, tente converter para o correto quando possível. * Um dataframe não pode ter colunas de tamanhos diferentes, uma coisa amenos para fazer :) * Como tratar se uma espécie aparece mais de uma vez no data frame, na mesma amostra? * Supondo que você decidiu aceitar minha sugestão de input, o que acontece se a pessoa tiver várias amostras em um data frame mas só uma amostra no outro? Sobre output: * Você não precisa incluir os gráficos em um objeto, apenas plote eles. Se o usuário quiser ográfico salvo, basta abrir um device (por exeplo pdf()) antes de rodar a sua função. Ou, você pode deixar salvar os gráficos no computador como opção extra da sua função. Além disso, não entendi porque o o loop usa 1:n. Imagino que você quis dizer 1:número de linhas de x? Note que as sugestões que dei tornam a função mais complexa. Planeje antes como implementar elas. Se tiver dúvidas pode entrar em contato, vou deixar meu e-mail aqui: delbel.renan@gmail.com. Obrigada, Renan! Com base nas suas sugestões e em algumas dúvidas que tirei com você, vou optar por utilizar dois data frames, da forma que sugeriu, e vou tentar converter para o formato correto sempre que possível. Além disso, vou colocar um if para evitar que o número de amostras nos data frames seja diferente e também para que a mesma espécie não se repita em uma amostra. Para aplicar a equação farei indexação das colunas, ao invés de usar loop. O output da função não será a lista, como você sugeriu, um gráfico será só plotado mesmo. Quanto ao dec=".", estou pensando que talvez não seja necessário na função... Mais uma coisa, ao invés de transformar os NAs em 0 também pensei em ocultar as linhas com NA. --- Patrícia //em 25/06/2019 // **Proposta 2** Temperatura e salinidade são algumas das propriedades físicas mais importantes da água do mar. Exercem influência em muitos eventos químicos, físicos, geológicos e biológicos. Variações de temperatura e salinidade também se combinam para determinar a densidade da água do mar, a qual influencia os movimentos verticais de massas d’água com consequências no ambiente marinho em todos os aspectos. O CTD (Conductivity, Temperature and Depth) é um equipamento muito utilizado na Oceanografia para se obter valores de condutividade, profundidade e temperatura da água do mar. A partir dos dados gerados, comumente é elaborado um diagrama T-S que permite visualizar a temperatura em função da salinidade nas diferentes profundidades amostradas. Dessa forma, a minha proposta é elaborar um diagrama T-S a partir de dados brutos obtidos pelo CTD (ou outra sonda multiparâmetros que registre as mesmas variáveis). **Planejamento da função:** Entrada= t.s (t, c, p, sal=F, dec=”.”) ''t'' = temperatura (°C); ''c'' = condutividade (mS/cm) (sal=F) ou salinidade (PSU) (sal=T); ''p'' = profundidade (m); ''sal'' =FALSE, se o usuário for usar dados de condutividade para converter para salinidade; ''dec''=”.” para que o separador decimal utilizado seja ponto. **Verificar parâmetros:** * t é um vetor da classe numérica? * c é um vetor da calsse numérica? * c é maior que 0? * p é um vetor da classe numérica? * p é um vetor maior que 0? * t,c e p possuem o mesmo tamanho? **Pseudo-código:** * Transformar cada variável a ser utilizada na função (t, c e p) em um objeto do tipo vetor; * Verificar se os parâmetros estão corretos (usar if e stop – caso não estejam); * Omitir NAs; Se sal=F * Criar um objeto salin para guardar o valor da salinidade; * Criar um ciclo for ( ) com contador i de 1: length (c) ; * Converter a condutividade para µS/cm (multiplicar por 10³) * Aplicar a equação para converter condutividade em salinidade:((5.572/10^4) *c)+ ((2.02/10^9)*c²) * Gravar resultado em salin[i]; * Plotar o diagrama de Temperatura e Salinidade relacionando com as profundidades em que foram obtidos (nomear diag.ts). * Retornar diag.ts. --- //[[delbel.renan@gmail.com|Renan Del Bel]] 2019/06/13 13:00// Essa não é uma função ruim, mas para os objetivos do trabalho final ela é muito simples. Sugiro investir na proposta A. ====Trabalho final:==== Como indicado, segui com a proposta 1 que faz o cálculo da densidade de espécies em diferentes amostras. [[.:Função]] e [[.:página de ajuda]].