Ferramentas do usuário

Ferramentas do site


cursos:ecor:05_curso_antigo:alunos:trabalho_final:maria

Maria

eu.jpg

Doutoranda em Ecologia/USP.

Proposta

Plano A

Os dados originais sobre redes de interação entre plantas e visitantes florais são compostos por linhas que representam plantas e colunas com as espécies visitantes, expressos muitas vezes em termos de freqüência de interação. No entanto, alguns índices descritores das redes de interação tais como a conectância e o tamanho da rede, são calculados utilizando a matriz de adjacência binária.

Proponho construir uma função que transforme dados originais de redes de interações em uma matriz de adjacência contendo apenas presença e ausência de espécie de visitante por espécie de planta. Ela deverá retornar a matriz binária, o tamanho da rede e a conectância da mesma.

Comentários

Ale: acho que a proposta está legal! Manda ver!

Plano B

Em alguns casos, pode ser interessante analisar uma determinada rede de interações de forma mais restritiva (por exemplo, apenas interações que ocorrem em um determinado local ou época do ano).

Construir uma função que concatene parte dos dados da matriz original com base nos níveis de uma determinada variável. Ela deverá retornar as matrizes de freqüência para cada fator dessa nova variável (local ou época do ano) como objetos diferentes.

Página de Ajuda

inter.net                package:nenhum                R Documentation

	Matriz binária de interação entre 2 grupos de espécies.

Description:

        Produz uma lista contendo a matriz de adjacência binária e algumas propriedades da rede.

Usage:

        inter.net(dados)

Arguments:

     dados: matriz bruta contendo espécies do nível inferior nas linhas e do nível superior nas colunas. A primeira coluna deve ser composta pelas espécies de plantas, no caso de uma rede entre plantas e visitantes florais.

Details:

        Extrai de uma matriz de dados bruta uma matriz de adjacência compactada, que contém apenas dados binários indicando a ocorrência de interação entre um determinado par de espécies. Ela foi projetada para análise básica de redes de interação entre plantas e visitantes forais, onde as plantas são o nível inferior, representadas por linhas, e os visitantes florais são o nível superior, representados por colunas. Todos esses valores serão transformados em presença e ausência para a produção da matriz final e cálculo de algumas propriedades da rede. 

Value:

      Os resultados retornados são:

  MTX: Matriz de adjacência binária 

  NV: Número de visitants florais
  
  NP: Número de plantas

  IP: Número de interações potenciais

  IO: Número de interações observadas

  C: Conectância da matriz (IP/IO)

   

Warning:

        A matriz de entrada pode conter dados faltantes e dados de freqüência de visitas, que serão substituídos por zero. 

Author(s):

        Maria Rodrigues Vianna, IB/USP, São Paulo-SP
	 mia_vianna@yahoo.com.br

References:

       Bascompte, J., P. Jordano, C. J. Melián, and J. M. Olesen. 2003. The nested assembly of plant-animal mutualistic networks. PNAS. 100:9383-9387.

See Also:

       Para ver outros índices utilizados em análises de redes de interação, ver o pacote ‘bipartite’. 

Examples:

     ## Criação de uma matriz de interação aleatória ----
     a <- as.vector(c(rep(paste('P',1:10),5)))
     b <- c('Plantas', paste('V',1:30))
     c <- c(rep(NA, 200), abs(round(rnorm(300, 0,.4))), rep(NA, 300), abs(round(rnorm(500, 0,.2))), rep(NA,200))
     data <- matrix(NA, nrow=50, ncol=31)
     colnames(data) <- b
     data[,1] <- a
     dados[,2:31] <- c
     inter.net(dados)

Código da Função

inter.net <- function(dados)
	{
	x <- dados
	x <- as.data.frame (x)
	index <- x[,1]
	x[,1] <- as.factor(x[,1])
	spp <- levels(x[,1])
	x[,1] <- NULL
	x <- as.matrix(x)
	dim <- dim(x)

	na <- sum(is.na(x))
		if (sum(is.na(x))>0)
		{	
		cat ('\n\t Haviam dados faltantes, que foram substituidos por 0 \t')
		
			for (k in 1:dim[2])
			{
			x[which(is.na(x[,k])==T),k] <- 0
			}
		}

	result1 <- matrix(nrow=length(spp), ncol=dim[2], c(NA))
	rownames(result1) <- spp
	colnames(result1) <- colnames(x)
		for(i in 1:dim[2])
		{
		freq <- tapply(X=x[, i], INDEX=index,FUN=sum)
		result1[,i] <- freq
		}
	result1[result1>0] <- 1
	result1 <- as.data.frame(result1)
	result2 <- result1[,!(colSums(result1) == 0)] 
	res <- result2[!(rowSums(result2) == 0),]
	dim2 <- dim(res)
	MTX <- as.data.frame(res)
	NP <- dim2[1]
	NV <- dim2[2]
	IP <- dim2[1]*dim2[2]
	IO <- sum(res)
	C <- IO/IP
	resulta <- c(round(NP,2), round(NV,2), round(IP,2), round(IO,2), round(C,2))
	names(resulta) <- c('NP', 'NV', 'IP', 'IO', 'C')
	return(list(MTX, resulta))
	}

Arquivo da Função

cursos/ecor/05_curso_antigo/alunos/trabalho_final/maria.txt · Última modificação: 2020/07/27 18:45 (edição externa)