====== Rodolfo de Abreu ======
{{:bie5782:01_curso_atual:alunos:trabalho_final:rcra:teste.jpg?200|}}
Biólogo, aluno de Doutorado em Ciências da Engenharia Ambiental (EESC-USP) sob orientação da Dra. Giselda Durigan (IF).
Tema da tese: Invasões biológicas e ecologia de populações de //Pinus elliottii// em UCs de cerrado em SP.
===== Exercícios =======
{{:bie5782:01_curso_atual:alunos:trabalho_final:rcra:rodolfo_01_f.r|01}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:rcra:rodolfo_02_f.r|02}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:rcra:rodolfo_03_f.r|03}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:rcra:rodolfo_04_f.r|04}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:rcra:rodolfo_05_f.r|05}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:rcra:rodolfo_06_f.r|06}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:rcra:rodolfo_07_f.r|07}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:rcra:rodolfo_08_f.r|08}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:rcra:exercicio9_p.r|09}}
===== Proposta de Trabalho Final =====
==== Principal ====
Migrar para o R o Programa WINGINI 1.0 //for windows 3.11// e acrescentar funções ao programa original.
O programa WINGINI 1.0 foi criado originalmente pelo professor Dr. Flavio Antonio Maës dos Santos em 1996 (Ecologia - UNICAMP). Este programa calcula e compara o grau de desigualdade de amostras que populações divididas em classes hierárquicas podem conter. Calcula o Coeficiente de Gini, intervalos de confiança e faz reamostragens através de //bootstrap// ou //jacknife//.
Adicionalmente, tentarei plotar os gráficos dos valores dos coeficientes e inserir funções que calculem a assimetria das amostras.
==== Plano B ====
Trabalhar com modelagem matricial e cálculo de autovalores, elasticidades e sensibilidades.
==== Comentário ====
Acho o plano A bastante desafiador e interessante. Defina bem o formato e conteúdo dos dados de entrada antes de inciar o código. O Gini já não é um coeficiente de desigualdade ou assimetria? Não entendi se o Intervalo de confiança será gerado pelo bootstrap ou o boostrap será utilizado para testar hipótese de desigualdade --- //[[adalardo@usp.br|Alexandre Adalardo de Oliveira]] 2010/03/31 09:32// entre as populações.
==== Help da Função ====
Gini package:nenhum R Documentation
bootstrap
plot
Cálculo do Coeficente de Gini com intervalos de confiança (95%) obtidos através de bootstraps
Gráfico da Curva de Lorenz
Description:
Calcula o Coeficiente de Gini (G) e o Coeficiente Ajustado de Gini (G') de um vetor de dados.
Obtem os intervalos de confiança (IC = 95%) de G através de reamostragens de bootstrap.
Produz um gráfico da Curva de Lorenz, onde são plotados o percentual acumulado da variável de
tamanho e percentual acumulado do número de indivíduos.
Usage:
Gini(x)
bootstrap(x)
plot(d4~pesos2,type="l",col="red",tck=0.01, main="Curva de Lorenz",ylab="Percentual acumulado da variável de tamanho",xlab="Percentual acumulado do número de indivíduos")
lines(pesos2,pesos3,type="l")
lines(s1,s2,type="l",col="blue")
Arguments:
x: Vetor numérico. Valores de uma amostra.
d4: Percentual acumulado do número de indivíduos.
pesos2 = pesos3: vetores com o peso, em ordem crescente, de cada indivíduo na amostra.
s1 e s2: vetores com os pontos da linha de assimetria.
Details:
Os valores da amostra (x) são ordenados e a função Gini(x) é aplicada, são obtidos os valores de
G e G'. Após esta etapa o intervalo de confiança (95%) de G é obtido através de 5000 reamostragens aleatórias
com a função bootstrap(x).
Com o gráfico da Curva de Lorenz é possível fazer a interpretação visual do grau de assimetria dos dados
da amostra. A curva em vermelho é plotada a partir dos dados da amostra, a reta na cor preta indica a linha
de igualdade e a linha azul divide a curva para que seja observado para que lado estão as maiores assimetrias.
O coeficiente de Gini é equivalente ao valor do arco formado pela linha prata e a curva vermelha.
Value:
Os dados são extraídos para um vetor. Um coeficiente é gerado, ajustado e exibido na tela, com os
intervalos de confiança.
Um gráfico é gerado com os valores do acúmulo do número de indivíduos pelo acúmulo da variável de tamanho.
Warning:
Os dados devem ter uma única coluna com todas as variáveis de tamanho.
Author(s):
Rodolfo Cesar Real de Abreu
rcra@sc.usp.br
References:
Damgaard & Weiner (2000). Describing inequality in plant size or fecundity. Ecology 81(4) 1139-1142.
Santos, F.A.M. (1996). WINGINI 1.0 - Programa para cálculo do coeficiente de Gini. Departamento de Botânica - IB. UNICAMP.
Weiner, J. & Solbrig, O.T. (1984). The Meaning and Measurement of Size Hierarchies in Plant Populations. Oecologia 61: 334-336.
See Also:
Damgaard, Christian. "Lorenz Curve." From MathWorld--A Wolfram Web Resource, created by Eric W. Weisstein. http://mathworld.wolfram.com/LorenzCurve.html
Damgaard, Christian. "Gini Coefficient." From MathWorld--A Wolfram Web Resource, created by Eric W. Weisstein. http://mathworld.wolfram.com/GiniCoefficient.html
Examples:
Gini(dados1) ## retorna os valores de G e G'
bootstrap(dados1) # retorna os intervalos de confiança (95%) de G com base em 5000 repetições
plot(d4~pesos2, col="red") ### plota o gráfico da curva de lorenz
lines(pesos2,pesos3,type="l")
lines(s1,s2,type="l",col="blue") ### adiciona as linhas do eixo de igualdade e do eixo de simetria.
########################################################
==== Função ====
#### Trabalho final da disciplina BIE5782 - IB/USP - Uso da Linguagem R para Análises de dados Ecológicos
#### http://ecologia.ib.usp.br/bie5782/doku.php
#### Calculo do coeficente de Gini e Grafico da Curva de Lorenz
#### Baseado no programa WINGINI 1.0 (1996) for windows 3.11 de autoria do
####Dr. Flavio Antonio Maes dos Santos (Ecologia-UNICAMP)
#### Elaborado por Rodolfo Cesar Real de Abreu (rcra@sc.usp.br)
## baixar e instalar os pacotes "reldist" & "boot"
library(reldist) ### pacote para o calculo do coeficiente de Gini
library(boot) ### pacote para o calculo dos intervalos de confianca
# selecione o diretorio de trabalho onde esta seu arquivo de dados
# o arquivo deve conter apenas 1 coluna com os todos os dados da variavel de tamanho. Os dados NAO precisam ser sequenciais.
#lendo os dados no R:
## o arquivo deve ser ".CSV" ou ".TXT"
dados<-read.table("modelo.txt",sep="") #### substitua o nome modelo.txt pelo nome do seu arquivo
dados1<-c(dados$V1) ### seu arquivo agora se chama dados
head(dados1) ### verifica as 6 primeiras linhas do arquivo
sort(dados1) ### ordena em ordem crescente
str(dados1) ### verifica a estrutura dos dados
### Calculo do coeficiente de Gini e Gini corrigido
### obs: necessario instalar o pacote "reldist"
Gini<-function(x)
{
G<-gini(x)
G.corr<-G*length(x)/(length(x)-1)
return(G,G.corr)
}
Gini(dados1)
### Simulacoes de Bootstrap para obtencao dos intervalos de confianca do coeficiente de Gini:
bootstrap<-function(x)
{
pesos <- runif(n=length(dados1)) ### vetor de pesos (weights)
pesos2<-sort(pesos) ### vetor de pesos ordenado em ordem crescente
data1=data.frame(dados,pesos) ### criacao de um data frame com as variaveis de tamanho e o peso de cada variavel
### bootstrap com 5000 simulacoes de Gini
b1<-boot(data1$V1, weights=data1$pesos, statistic=gini, sim = "balanced", R=5000, stype = "w")
b2<-boot.ci(boot.out = b1, type = "perc")
return(b2)
}
bootstrap(dados1)
#### Preparando dados para plotagem do gráfico
cada<- 100/length(dados1) ###### proporcao de cada obs em relacao ao total
cada.n <- rep(cada, length(dados1)) #### vetor c/ n obs da proporcao
cumulativo <- c((cumsum(cada.n))/100)
d3 <-dados1/sum(dados1) #percentual do que cada individuo representa p/ a pop. toda
d4<-cumsum(d3) # percentual acumulado do numero de individuos
pesos <- runif(n=length(dados1))
pesos2<-sort(pesos)
pesos3<-sort(pesos) ### vetor igual ao pesos2, para plotagem.
s1<-c(1,0.9,0.8,0.7,0.6,0.5,0.4,0.3,0.2,0.1,0) ### pontos da linha de assimetria
s2<-sort(s1)
#### Grafico da curva de Lorenz
plot(d4~pesos2,type="l",col="red",tck=0.01, main="Curva de Lorenz",ylab="Percentual acumulado da variável de tamanho",xlab="Percentual acumulado do número de indivíduos")
lines(pesos2,pesos3,type="l")
lines(s1,s2,type="l",col="blue")
################################################