Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2016:alunos:trabalho_final:giselecmarquardt:start

Gisele Carolina Marquardt

dsc_0197.jpg

Possui mestrado pelo programa de pós-graduação em Biodiversidade Vegetal e Meio Ambiente, através do Instituto de Botânica-SP onde trabalhou com taxonomia da ordem Cymbellales no Estado de São Paulo. Atualmente é doutoranda pelo mesmo programa onde atua na área de Ecologia, com ênfase em Ecologia de Ecossistemas Aquáticos Continentais, atuando principalmente nos seguintes temas: eutrofização, limnologia de reservatórios e biodiversidade/ecologia de diatomáceas.

exec

Olá Gisele,

Vi que você não postou as suas duas propostas de função. Aconteceu alguma coisa?

—-Leticia Zimback

Trabalho Final

Olá Gisele,

Tente não ficar tão presa às análises do seu trabalho, ok? Quero que você organize melhor algumas coisas da sua função. Pense primeiro no objetivo GERAL da sua função. Pelo seu texto, me parece que o objetivo é criar uma função que providencie informações sobre as diferentes categorias de raridade de espécies em um comunidade. OK! Mas qual informações? Gaste um tempinho agora para pensar nisso para não ter problemas maiores na hora de fazer a função, ok?

Envie de novo sua proposta com alguns tópicos mais diretos. Quero saber o objetivo geral da sua função, como será a entrada da função (como os dados irão entrar e quais argumentos serão necessários) e qual a saída (entendi que a função irá me dar um gráfico, porém especifique melhor o que terá em cada eixo. Além disso, veja se o seu output está coerente com o objetivo da sua função).

E A SUA PROPOSTA B??? Você tinha até o dia 22 de abril para postar as duas!! É OBRIGATÓRIO POSTAR AS DUAS PROPOSTAS!

Temos que resolver como será sua função até amanhã, ok?? Tente correr atrás disso. Me mande logo a segunda proposta e vamos conversando.

Me avise quando responder neste e-mail. —-Leticia Zimback

Olá Gisele,

Bom, acho que eu entendi melhor o que você está propondo. Vou te dar algumas sugestões para você pensar e quero que você reescreva mais uma vez a sua proposta só para eu ter certeza de que você sabe o que irá fazer com a sua função, certo? E lembre-se de escrevê-la novamente em pelo menos três tópicos (o objetivo da função, a entrada dos dados e argumentos e a saída da função). Ajude a monitora e deixe tudo isso mais claro, ok?

Qual o objetivo da função? A sua função irá gerar um gráfico mostrando a classificação das espécies de uma comunidade quanto a sua raridade. (É isso?)

Sobre o INPUT:

- Você falou que os dados deverão entrar como um data-frame onde as colunas são as amostras e as linhas são as espécies e os valores correspondem as abundâncias relativas de cada espécie e cada amostra. Do jeito que você descreveu me parece mais uma matriz do que um data-frame. Não tem problema nenhum nisso, você pode fazer com que sua função leia os dados a partir de uma matriz, mas eu só quero ter certeza que você está realmente com essa ideia. Caso você queira trabalhar com data-frame você teria que pensar na sua primeira coluna como o nome das espécies e as suas colunas seguintes como os valores de abundância relativa para cada espécie em uma amostra. Dessa forma, cada linha seria uma espécie seguida da sua abundância relativa em cada amostra. Você pode escolher como fazer, só deixe mais claro na próxima reformulação da proposta.

- Fiquei com uma dúvida, me pareceu que a escolha do tipo de raridade será um argumento, certo? Então, não entendi o seu default (<X%), isso não existe!! O seu default deve ser obrigatoriamente um dos três tipos de raridade, ou simplesmente não existir default e quem for usar a função deve preencher o argumento com o tipo de raridade desejada. (Explique melhor esse seu argumento).

Sobre o OUTPUT:

- OK, agora entendi. Só tem um detalhe que não faz muito sentido. O gráfico vai mostrar todos os tipos de raridade? Então porque tem um argumento lá em cima para escolher o tipo de raridade? Não entendi. Acho que ou você tira o argumento e mostra todos os tipos de raridade, ou mantém o argumento e faz com que a função gere apenas o gráfico com o tipo de raridade solicitado.

Vamos lá Gisele, força!!! Seja bem clara pra gente conseguir resolver isso até hoje a noite!!!

Quando postar me avise pelo e-mail!

—-Leticia Zimback

Bom Gisele,

Acho legal se você dar uma lida sobre como fazer a proposta de uma função: http://ecologia.ib.usp.br/bie5782/doku.php?id=bie5782:01_curso_atual:alunos:trabalho_final:start#proposta

Esse seu plano B está incompreensível. Por favor, vou desconsiderar essa proposta e pedir MAIS UMA VEZ para que você elabore a sua proposta baseada pelo menos nesses tópicos básicos:

- Objetivo da função (geral, sem se prender nos seus dados)

- Entrada dos dados na função

- Argumentos da função

- Saída da função

Lembre-se, até hoje a noite!

—-Leticia Zimback

Proposta A revisada

Objetivo: A função providenciará informações sobre as diferentes categorias de raridade (Raras <1%, Raras<5%, Raras <10 locais) a partir de um data frame contendo três colunas contendo as estações amostrais (coluna A), as espécies (coluna B) e suas respectivas abundâncias (coluna C) (obs: para deixar o data frame nesse formato usei o pacote “reshape2”). A sua função irá gerar um gráfico mostrando a classificação das espécies de uma comunidade quanto às diferentes categorias de raridade mencionadas acima. Entrada dos dados e argumentos: A função lerá os dados a partir de um data-frame e deverá conter os seguintes argumentos:

                 rare (dados, rarity, ...)

Saída da função: A função irá gerar um gráfico contendo as estações amostrais em seu eixo x, as espécies em seu eixo y de acordo com a categoria de raridade selecionada.

Algo semelhante a este:

exemplo.jpg

Olá Gisele,

Sua proposta melhorou, está mais clara. Quando estiver fazendo sua função, preocupe-se em colocar alguns warnings explicando como deve ser feito esse vetor lógico e como devem entrar os dados no data-frame. Preocupe-se também em fazer um bom help, bastante explicativo. Lembre-se que a função deve ser feita de forma que qualquer pessoa possa usar. Seja CLARA a todo momento.

Acho que podemos ficar com esta proposta! BOM TRABALHO!!

—-Leticia Zimback

Proposta B revisada

Objetivo: A partir de dados que consistem de coordenadas dos pontos de referência comparáveis de diferentes indivíduos, a função irá confrontar suas formas para avaliar se estas diferem morfologicamente e avaliar se os taxa distinguíveis representam variantes bem circunscritos. Análise de formas pode tornar-se importante num certo número de situações, como para diferenciar espécies que são visualmente semelhantes. Para tal, será criada uma função para executar a sobreposição das coordenadas (Procuste). Será realizada NMDS para as coordenadas normalizadas resultantes. A saída é a distância completa entre os indivíduos por meio de um gráfico de dispersão para visualizar o tamanho e a forma para cada grupo predefinido.

Entrada dos dados e argumentos: A função lerá os dados a partir de uma e deverá conter os seguintes argumentos:

shapes←function(A, B, nmds, plot.nmds)

Calcula a distância procrustes para os indivíduos 1 e 2 a partir de centroides definidos para A e B.

Saída da função: A diferença entre a forma de dois objetos será avaliada depois da “sobreposição” dos dois objetos por meio do Procruste. A função irá gerar um gráfico de dispersão para visualizar o tamanho e a forma do para cada grupo predefinido.

Olá Gisele,

Achei interessante a ideia da função. Acho que você poderia deixar um pouco mais claro o que é o NMDS (ele surge do nada e é um argumento da sua função (???????)). Acho que você NOVAMENTE deveria explicar como vai ser esse gráfico gerado. Acho que a proposta teria futuro, mas como sua proposta A está um pouco melhor elaborada, podemos ficar com ela mesmo.

—-Leticia Zimback

Página de Ajuda

 R Documentation

Categorias de raridade

Description:

	Classifica as espécies em diferentes categorias de raridade (Muito Raras <1%, Raras<5%, Comuns >5%) a partir de um data frame gerando um gráfico informativo sobre tais  classificações.

Usage:

	rare (ab)

Arguments:

	ab    	 data frame selecionado (ver Details) 

Details:

	ab  data frame contendo as estações amostrais em sua primeira coluna seguida pelas espécies e suas respectivas abundâncias.
	

Value:

Retorna um dotplot contendo os valores de abundância relativa das espécies de acordo com diferentes categorias de raridade (0, <1%, <5% e >5%) por amostra; 


Author(s):

	Gisele Carolina Marquardt
	giselecmarquardt@gmail.com

Código da Função

rare = function(ab){
abund<-ab[,-1] #data. frame (df) usado como referência.Seleciona data.frame excluindo coluna 1, referente às estações amostrais
abund.mod<-ab[,-1] #data.frame a ser modificado

abund.mod[abund==0]<-"ausente"  #Atribui o nome "ausente" às espécies cujas abundâncias relativas são iguais à zero
abund.mod[abund>0 & abund<=1]<-"muito rara" #Atribui o nome "muito rara" às espécies cujas abundâncias relativas são maiores que zero e menores que 1%.
abund.mod[abund>1 & abund<=5]<-"rara" #Atribui o nome "rara" às espécies cujas abundâncias relativas são maiores que 1 e menores que 5%.
abund.mod[abund>5]<-"comum" #Atribui o nome "comum" às espécies cujas abundâncias relativas são maiores que 5%.

abund.mod[abund.mod=="ausente"]<-0 #Substitui as abundâncias relativas  determinadas como "ausentes" por 0.
abund.mod[abund.mod=="muito rara"]<-1 #Substitui as abundâncias relativas  determinadas como "ausentes" por 1.
abund.mod[abund.mod=="rara"]<-2 #Substitui as abundâncias relativas  determinadas como "ausentes" por 2.
abund.mod[abund.mod=="comum"]<-3 #Substitui as abundâncias relativas  determinadas como "ausentes" por 3.

abundancia= cbind(ab[,1],abund.mod) #reinsere a coluna 1 referente aos nomes ao df.

mat<-matrix(c(1,2),ncol=2,nrow=1) #cria uma matriz com 2 colunas e 1 linha para o plot
x11()#abre nova janela gráfica
layout(mat,widths=c(4,1))#Divide o dispositivo como uma matriz e especifica a largura de cada coluna
par(mar=c(5,5,0.2,0.2)) #Define as margens
plot(NA,xlim=c(1,nrow(abundancia)),bty="l",ylim=c(0.5,ncol(abundancia)-1),yaxt="n",xlab="",ylab="",xaxt="n")# define um plot do tipo L com linhas no eixo y e colunas no eixo x
axis(2,at=2:ncol(abundancia)-1,labels=names(abundancia[,-1]),las=2) #Define o lado do eixo, os pontos onde as marcações serão plotadas, as anotações feitas nas marcações e a posição das marcações (vertical e horizontal)
axis(1,at=1:nrow(abundancia),labels=row.names(abundancia),las=2)#Define o lado do eixo, os pontos onde as marcações serão plotadas, as anotações feitas nas marcações e a posição das marcações (vertical e horizontal)

for(i in 1:nrow(abundancia)){
points(rep(i,ncol(abundancia)-1),2:ncol(abundancia)-1,cex=as.numeric(abundancia[i,-1]),pch=16,col="black") #faz o looping do script.
}
par(mar=c(0.2,0.2,0.2,0.2))
plot(NA,xlim=c(-0.5,0.5),ylim=c(-1,1),yaxt="n",xlab="",ylab="",xaxt="n",bty="n") #plot para legendas
legend(0,0,legend=c("0%","0-1%","1-5%",">5%"),pch=16,pt.cex=c(0,1,2,3),bty="o",xjust=0.5,yjust=0.5) #Define legendas, tipo de símbolo usado, tipo do gráfico e posição

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