Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2010:alunos:trabalho_final:rcra:start

Rodolfo de Abreu

teste.jpg

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

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 — 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")


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