Ferramentas do usuário

Ferramentas do site


05_curso_antigo:alunos:trabalho_final:leda

Leda Lorenzo Montero

Doutora em Ecologia pela Universidade de São Paulo. Unidade: Instituto de Biociências.

leda_lattes_foto.jpg

Proposta

Fazer uma função para conquistar o mundo. Se o plano A nao der certo a gente pode sempre pular para o plano B (esse negócio de conquistar o mundo nao está fácil, ein!)

Plano A

Fazer uma funçao para plotar os valores de uma variável rankeados. o objetivo é procurar descontinidades e agrupamentos nos dados, que são interpretados como uma medida relativa de resiliência. A ideia parte do pressuposto de que os processos que estruturam os sistemas autoregulados operam através de várias escalas espaço-temporais. As descontinuidades do gráfico marcariam os cambios de escala. A resiliencia é avaliada depois através do estudo da distribuçao de função entre e intra escala. Nota: as variáveis devem ser escolhidas ciudadosamente, devem ser atributos funcionais que refletam alguma das componentes da resiliencia do ecossistema. ie: tamanho corporal dos animais de uma comunidade, número de habitantes de uma cidade, etc…

Veja um exemplo do gráfico:

fig_rank_resiliencia.doc

Comentários

Ale: Apesar da saída gráfica parecer simples (um scaterplot com uma barra de densidade em baixo), a questão parece muito interessante! Há uma complexidade na scolha das variáveis, como vc. colocou, mas isso a função não poderia ajudar. Gostaria que me desse mais elementos para avaliar a complexidade: O que define a continuidade dos valores que produz a barra inferior do gráfico? Vc. pretende produzir um valor de resiliensia relacionado aos dados? O que quer dizer com “avaliação das funções intra e entre escala? A funcão irá fazer essa avaliação?

Resposta da Leda

A barra inferior do gráfico vai do mínimo ao máximo valor de cada agrupação. Cada uma das descontinuidades (espaços sem dados entre agrupações) marca uma mudança de escala. Se o número de descontinuidades/agrupações difere nas comunidades comparadas o gráfico será suficiente para avaliar resiliência (maior número de descontinuidades confere mais resiliencia). Se as comunidades coincidirem no número de descontinuidades/agrupações, será necessário avaliar os grupos funcionais dentro de cada agrupação, isso é a avaliação entre e intra escalas (cada agrupação relacionada com uma escala - escalas de operaçao dos processos ecológicos).

O artigo dos caras é allen_etal_2005.pdf

Plano B

Procurar uma representaçao gráfica para dados gerados em experimentos com delineamento de blocos randômicos que evidencie diferenças significativas existentes nos conjuntos de dados, mas que sao mascaradas no box-plot por causa de asimetrías da distribuição dos dados (mediana ≠ média), e/ou da presença de valores extremos.

Tal vez o ideal seria truncar os dados (retirando os extremos da cauda) antes de realizar a análisis e fazer depois a representação dos dados truncados. Nesse caso, a proposta seria fazer análisis de variancia com dados truncados em conjuntos de dados gerados em delineamento de blocos. Tal vez… mas tal vez não seja tão boa ideia descartar parte dos dados! O que é que vcs acham?

Página de ajuda

Round(leda)                   package:bie5782.2009              	R Documentation 

** Fazendo um gráfico para avaliar a Resiliência**

Description:

A função resiliencia( ) gera um gráfico para avaliar visualmente a Resiliência de vários conjuntos de dados, pertencentes a duas ou mais comunidades comparadas.

Usage:

resiliencia(dados, level1)

Arguments:

dados	Data frame com os dados que serão utilizados para plotar o gráfico. Observação: o arquivo debe ter uma coluna chamada x contendo um vetor numérico com os dados da variável de interesse, uma coluna chamada factor1 com o vector de carateres que indica os níveis do fator 1 (para separar conjuntos que debem ser visualizados separadamente) e outra columna chamada factor2 com o vector de carateres que indica os níveis do fator 2 (para separar conjuntos que debem ser visualizados juntos para comparação)

level1	Nível do fator 1 utilizado para escolher o subset de dados de interesse

Details:

A função lee um arquivo de dados da classe data.frame, que contém a variável de interesse (x) e duas colunas de carateres que definem a localidade e tipo de comunidade estudadas.
Observe-se que a variável de interesse (x) deve ser um atributo funcional relacionado com a resiliência ou alguma das suas componentes. 

Value:

Um objeto gráfico que mostra os gráficos para avaliar a resiliência através da visualização de descontinuidades/agrupações

References:

Allen, CR. Gunderson, L. and Johnson, AR. (2005) The use of Discontinuities and Functional groups to Asses relative Resilience in Complex Sistems. Ecosystems, 8: 958-966.

Manly, B.F.J. (1996) Are there Clumps in Body-Size Distributions?. Ecology, 77: 81-86.

Examples:

--------------------------------------------------------------------------------
[Package leda version 2.8.1 Index]

<\code>
\\
\\





===== Código da função =====

O arquivo de dados deve ser preparado previamente a partir do arquivo de interesse.
Antes de usar a função deve criar um novo arquivo de dados (data.frame) semelhante ao original, mas com 3 novas colunas:
Faça uma réplica da coluna da variável de interesse e chame de x
Faça réplicas das colunas de caracteres que definem cada comunidade, transforme em fatores e chame de factor1 e factor2.


Para começar, importe e confira os seus dados. Experimente com este arquivo: {{:bie5782:01_curso2009:alunos:trabalho_final:serrapilheira.r|}}


Seguidamente, crie o arquivo como comentado e aplique a função. Lembre de rodar a função com o novo arquivo criado e não com original!

<code>
ser <- read.table("serapi_carbono.txt", header=T, sep="\t", dec=".",as.is=T)
ser2 = ser
ser2$Local = ser2$factor1 <- as.factor(ser2$Local)
ser2$Tratamento = ser2$factor2 <- as.factor(ser2$Tratamento)
ser2$x = ser2$t.ha  # a coluna com a variável de interesse, chamada X 
## confirmo:
str(ser)
str(ser2) 

resil <- function(dados, level1)
	{
	i <- levels <- unique(dados$factor2)
	levels[i]
	par(mfrow=c(length(levels),1))
	for (i in 1:length(levels))
		{
		dados.grafic <- dados[dados$factor1==level1 & dados$factor2==levels[i],]
		rk <- rank(dados.grafic$x)
		length(rk)
		y.res <- c(seq(from=1, to=length(rk)))
		x.res <- sort(round(dados.grafic$x, digits=3))
		plot(x=x.res, y=y.res, xlim=c(min(dados$x[ser2$factor1==level1]), max(dados$x[ser2$factor1==level1])), xlab="", ylab="")
		text(x=1.2, y=25,levels[i], pos=4)
		}
	mtext("Rank", side=2, line=3, las=0)
	mtext("Serrapilheira acumulada (t.ha)", side=1, line=3)
	}
resil(ser2, "pd")



Arquivo da função

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