Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2011:alunos:trabalho_final:paula:start

Paula Lemos

foto.jpg


Mestranda em Ecologia pela Universidade de São Paulo, sob orientação do Prof. Dr. Paulo Roberto Guimarães Jr. Faço parte deste laboratório desde janeiro de 2010 e iniciei meu mestrado em 2011.

O título do meu projeto é: Variação intrapopulacional no uso do recurso: modelos teóricos e evidência empírica. No meu projeto eu irei estudar variação intra-populacional no uso do recurso dentro de populações e para isso pretendo utilizar uma abordagem teórica e uma abordagem empírica. Primeiramente irei explorar as previsões dos modelos de dieta ótima propostos por Svänback e Bolnick(2005)svanback_and_bolnick_2005_eer.pdf e entao irei testar essas previsões em populações naturais.


Exercícios Paulinha



Proposta Final de Trabalho

Plano A

Minha proposta de trabalho é uma função que aleatorize matrizes empíricas, mantendo alguma estrutura desejada. Por exemplo, em uma matriz de interação recurso-indivíduo, eu poderia manter o número de recursos consumidos por indivíduo. Assim, se em uma matriz eu tenho um indivíduo que consome 10 recursos, e outro que consome 15 e assim por diante, em minha matriz aleatória eu teria um indivíduo (que nao necessariamente o mesmo da matriz empírica) com 10 interações, e outro com 15. Os recursos consumidos pelos indivíduos serão sorteados. É possível ainda manter outras estruturas desejadas, como o número de indivíduos que consomem certo recurso. Essa função servirá para construir modelos nulos para estudos de redes de interações.


Plano B

Minha proposta “B” seria uma função que calculasse um índice de sobreposição em uma matriz recurso-indivíduo. A matriz é composta por indivíduos de uma mesma espécie e os recursos que eles consomem. Essa função iria comparar os pares de indíviduos de acordo com a similaridade na composição de sua dieta (em proporção). A saída dessa função poderia ser uma matriz de sobreposição par a par e a média da sobreposição calculada para todos os indivíduos. Essa função pode servir para inferirmos competição intra-específica (se calculada entre indivíduos de uma mesma espécie) ou ainda para inferir competição inter-específica (se calculada entre espécies).

Comentário Leandro

A proposta A parece bem interessante e factível. Só não está claro se a saída da função será na forma de matriz do modelo nulo para ser usada em outro programa ou se já serão calculados os índices durante a execução da função.

Sugiro que você faça a função para gerar como saída as matrizes do modelo nulo e pensando em manter apenas o número de recursos por indivíduo, pois você terá pouco tempo para montar a função. Depois, ela poderá ficar mais complexa.

Página de Ajuda

aleat.matrix			package:nenhum			R Documentation

Aleatorizacao de Matrizes

Descricao:

	'aleat.matrix' cria matrizes aleatorias a partir de uma matriz binária empirica, simulando um modelo nulo. 
As aleatorizacoes podem manter algum tipo de estrutura desejada (como interacoes por linhas ou colunas), 
ou ainda ser totalmente aleatorizada. 

Uso:
	
	aleat.matrix(dados, nsim=1000, perm=1, nomes=FALSE, dir="")

Argumentos:

	dados: uma matrix ou data-frame.
	nsim: numero de matrizes que serao criadas a partir da matriz original.
	perm: define se a aleatorizacao sera feita por linhas (1, default), colunas (2), 
ou linhas e colunas (3). A terceira opcao funciona apenas para matrizes binarias. 
	nomes: as matrizes geradas nao terao os nomes das linhas e nem das colunas, apenas os numeros.
	dir: define o diretorio em que as matrizes de saida serao geradas. 
	

Detalhes:
	
	As matrizes sao geradas a partir da estrutura de uma matriz empirica de interesse. 
O tipo de permutacao escolhido (perm=) define se ela sera feita por linhas, colunas ou 
totalmente aleatoria.  
	

Valor:

	As matrizes geradas nao sao exibidas na tela, e sim depositadas diretamente no diretorio, 
que pode ser especificado pelo argumento (dir="").	


Avisos

	O argumento per=3 so pode ser realizado em matrizes binarias.
	

Autor:

Paula Lemos da Costa

paula.costa@usp.br


Referencias:


Veja tambem:
 	
 	sample()
 	
 	
Exemplos:

	#Exemplo 1: aleatorizacao dos valores de 48 rochas (pacote data.sets)

	aleat.matrix(rock, perm=2, nomes=TRUE)
	
	
	#Exemplo 2: aleatorizacao de uma matriz de interacao
	
	interacao.mt <- matrix(c(sample(rep(0:1, 25))), nrow=5, ncol=5)
	aleat.matrix(interacao.mt, perm=3)
	
	

Código da Função

aleat.matrix <- function (dados, nsim=1000, perm=1, nomes=FALSE, dir="")
 {
   matrix.real <- dados
   
   for (i in 1:nsim)
     {
     if(perm==1)
       {
       matrix.nova=sample(matrix.real)
       }
    
     if(perm==2)
       {
       matrix.nova=apply(matrix.real, 2, sample)
       }
     
     if (perm==3)
       {

       cartela<-matrix(NA, ncol(matrix.real)*nrow(matrix.real), 2) 
       cartela[,1] <- rep(1:nrow(matrix.real), each=ncol(matrix.real)) 
       cartela[,2] <- rep(1:ncol(matrix.real))
       soma.matrix <- sum(matrix.real)  
       cartela.loto <- ncol(matrix.real)*nrow(matrix.real) 
    

       loto <- sample(cartela.loto, soma.matrix) 
    

       matrix.nova <- matrix(0,ncol=ncol(matrix.real), nrow=nrow(matrix.real))
                          
          for (m in 1:length(loto))
            {
        
              matrix.nova[cartela[loto[m],1], cartela[loto[m],2]] = 1
            }     
        }
     write.table(matrix.nova, paste(dir,"nova_", i, "perm_", perm, ".txt", sep=""), sep=" ", row.names=nomes, col.names=nomes)
   }
     cat("As matrizes geradas estao no diretorio\n") 

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