Traduções desta página:

Ferramentas do usuário

Ferramentas do site


05_curso_antigo:r2014:alunos:trabalho_final:liedson.carneiro:start

Liedson Carneiro

aaa.jpg

Doutorado em andamento em Ecologia, Instituto de Biociências, USP. Lattes

Projeto de Tese: “Estrutura em mosaico geográfico da interação entre Krameria Loefl. e abelhas coletoras de óleo”. Orientador(a): Isabel Alves dos Santos BeeLab

Meus arquivos

Trabalho final

Plano A – A polinização é o processo de transferência de pólen entre flores de espécimes coespecíficos resultando na fecundação e formação de frutos em angiospermas, sendo um importante serviço ecossistêmico prestado principalmente por abelhas. Sabe-se que esse processo, quando considerado na produção de alimentos, pode aumentar o rendimento em cultivos. No entanto, esse aspecto da produção ainda não se encontra difundido e nem implementado no manejo de cultivares. As abelhas são os principais polinizadores de espécies frutíferas potenciais como a mangueira, o cajueiro, a cajazeira, a aceroleira, o maracujazeiro, entre outras.

Nessa minha proposta de função, pretendo incorporar a polinização no valor final em produção de polpa. Dessa forma, a função fará uma estimativa do rendimento em reais de um produtor considerando a polinização em sua área cultivada, detectando possível déficit de polinizadores.

A função receberá como entrada de dados: um data frame, com uma amostragem do peso médio dos frutos por planta; número médio de flores (andróginas e/ou pistiladas¹) por inflorescência e de inflorescências por planta; e uma matriz contendo o resultado de tratamentos de polinização² (autopolinização manual, polinização cruzada manual e polinização livre/controle), incluindo o número de flores usadas em cada tratamento e o número resultante de frutos formados que alcançaram a maturação. Além disso, será necessário incorporar os seguintes dados na função: total de plantas no cultivo, porcentagem média de polpa adquirida por fruto, valor em reais e peso da unidade de venda (e.g. saquinho de polpa com 100g a R$ 1,79). Os dados da matriz devem seguir as premissas do qui-quadrado, que será o teste utilizado para comparar os tratamentos de polinização. A função retornará um array contendo o valor bruto total em reais da produção considerando cada tratamento, se houver diferença significativa entre eles, e a porcentagem de perda se houver déficit de polinizadores na área de cultivo.

¹ Flores com ovário fértil, possíveis de se desenvolver em frutos.

² A polinização cruzada manual e a autopolinização manual (quando a espécie é autocompatível) indicam a frutificação potencial máxima da espécie em questão, ou seja, há uma taxa próxima a 100% de polinização. Por outro lado, a polinização livre (controle) indica a ação dos polinizadores atuantes na área. Se o controle resulta em um valor significativamente menor que os tratamentos, há um déficit de polinizadores.

Plano B – Infelizmente muitos condomínios na cidade de São Paulo não possui uma gestão de resíduos que começa com a coleta seletiva e termina com o destino apropriado e proveitoso do lixo. O condomínio onde moro, por exemplo, possui 4 prédios com 17 andares cada e 6 apartamentos por andar. Imagina a quantidade de lixo produzido…

Minha ideia aqui é calcular o valor do ganho com a gestão do lixo relacionando com o custo para sua implementação e manutenção, mostrando aos moradores que pode valer a pena essa prática e que o valor da conta de condomínio pode diminuir com ela (justificativa que funciona entre as pessoas!). Assim, só valerá a pena a criação da gestão do lixo se refletir de fato em um valor considerável a menos na conta.

Os dados de entrada estarão em um data frame contendo a quantidade (kg) dos diferentes resíduos recicláveis, que geralmente são coletados seletivamente, produzidos por uma unidade (andar ou apartamento). O valor do kg por tipo de resíduo e o custo para implementar essa gestão (divulgação, aquisição de lixeiras para armazenamento adequado, de composteira para produzir o próprio adubo da área verde do condomínio, etc) serão incorporados na função. Além disso, o valor individual atual da conta de condomínio e o número de unidades serão necessários na função.

A ideia é a função retornar um array contendo o valor do ganho bruto com a venda dos materiais recicláveis e o valor ajustado da conta de condomínio.

Mais Comentários

Comentários Ambas as propostas são interessantes, invista na primeira. Vc. não precisa de um array (no sentido estrito) para retornar o resultado, pense melhor na estrutura do resultado que irá retornar e qual o objeto mais adequado. Parece que seus totais marginais da tabela de contingência da matriz de entrada apresentam totais marginais pré-definidos ( irá definir quantas flores terá em cada tratamento), se for o caso, dê ao usuário a opção de usar o teste exato de fisher ou qui-quadrado.

Alexandre Adalardo de Oliveira 2014/04/25 17:02

Código da Função

poliniza <- function(x, y, TC, PUV, VU)
{
  flor <- mean(x[,1])*mean(x[,2])*TC #estima o número de flores na cultura
  nao <- y[,2]-y[,3] #vetor contendo o número de flores não polinizadas nos tratamentos
  matrizpol<- matrix(c(nao, y[,3]),2,2) #matriz contendo a tabela de contingência
  y$taxa <- y[,3]/y[,2] #insere uma coluna no data-frame y contendo a taxa de frutificação de cada tratamento
  pesolivre <- flor*y[2,4]*mean(x[,3])*mean(x[,4]) #quantidade estimada da produção (em gramas) na cultura considerando a taxa de frutificação do controle
  pesolivre.kg <- pesolivre/1000 #quantidade da produção em quilogramas considerando o controle
  valorlivre <- (VU*pesolivre)/PUV #valor em reais da produção considerando o tratamento controle
  pesomanual <- flor*y[1,4]*mean(x[,3])*mean(x[,4]) #quantidade estimada da produção (em gramas) na cultura considerando a taxa de frutificação do controle
  pesomanual.kg <- pesomanual/1000 #quantidade da produção em quilogramas considerando o controle
  valormanual <- (VU*pesomanual)/PUV #valor em reais da produção considerando o tratamento controle
  perdeuv <- valormanual - valorlivre #diferença entre os valores em reais considerando o tratamento manual e o controle
  perdeup<- pesomanual.kg - pesolivre.kg #diferença entre a quantidade da produção considerando o tratamento manual e o controle
  if(all(matrizpol>=10)) #se todos os valores da tabela forem maior ou igual a 10, a função segue com o teste do Qui-quadrado
  {
    polqui <- chisq.test(matrizpol) #cria um objeto contendo o resultado do Qui-quadrado
    if(polqui$p.value>0.05) #se o p do Qui-quidrado for maior que 0,05
    {
      print("Não há déficit de polinizadores na cultura") #indicação do resultado biológico do teste ao aceitar a hipótese nula
    }
    if(polqui$p.value<=0.05 & y[1,4]<y[2,4]) #se o p do Qui-quadrado for menor ou igual a 0,05 e a taxa denfrutificação do controle maior do que o tratamento manual
    {
      print("A polinização manual não foi eficiente") #indicação do resultado biológico da condição em questão
    }
    if(polqui$p.value<=0.05 & y[1,4]>y[2,4]) #se o p do Qui-quadrado for menor ou igual a 0,05 e a taxa denfrutificação do controle menor do que o tratamento manual
    {
      print("Há déficit de polinizadores na cultura") #indicação do resultado biológico da condição em questão
      return(list(Ganho.em.Reais=valorlivre,ValorPerdido.em.Reais=perdeuv, Producao.em.kg=pesolivre.kg, ProducaoPerdida.em.kg=perdeup, p.Chisq=polqui$p.value)) #retorna o ganho (R$) com a produção, a quantidade total do produto de venda em kg, as perdas devido ao déficit e o p do Qui-quadrado
    }
    return(list(Ganho.em.Reais=valorlivre,Producao.em.kg=pesolivre.kg, p.Chisq=polqui$p.value)) #retorna o ganho (R$) com a produção, a quantidade total do produto de venda em kg e o p do Qui-quadrado
  }
  else ##se ao menos um dos valores da tabela for menor que 10, a função segue com o teste exato de Fisher
  {
    polfi <- fisher.test(matrizpol) #cria um objeto contendo o resultado do teste de Fisher
    if(polfi$p.value>0.05) #se o p do exato de Fisher for maior que 0,05
    {
      print("Não há déficit de polinizadores na cultura") #indicação do resultado biológico do teste ao aceitar a hipótese nula
    }
    if(polfi$p.value<=0.05 & y[1,4]<y[2,4]) #se o p do exato de Fisher for menor ou igual a 0,05 e a taxa denfrutificação do controle maior do que o tratamento manual
    {
      print("A polinização manual não foi eficiente") #indicação do resultado biológico da condição em questão
    }
    if(polfi$p.value<=0.05 & y[1,4]>y[2,4]) #se o p do exato de Fisher for menor ou igual a 0,05 e a taxa denfrutificação do controle menor do que o tratamento manual
    {
      print("Há déficit de polinizadores na cultura") #indicação do resultado biológico da condição em questão
      return(list(Ganho.em.Reais=valorlivre,ValorPerdido.em.Reais=perdeuv, Producao.em.kg=pesolivre.kg, ProducaoPerdida.em.kg=perdeup, p.Fisher=polfi$p.value)) #retorna o ganho (R$) com a produção, a quantidade total do produto de venda em kg, as perdas devido ao déficit e o p do exato de Fisher
    }
    return(list(Ganho.em.Reais=valorlivre,Producao.em.kg=pesolivre.kg, p.Fisher=polfi$p.value)) ##retorna o ganho (R$) com a produção, a quantidade total do produto de venda em kg e o p do exato de Fisher
  }
}

Help da Função

poliniza                package:desconhecido               R Documentation

Valoração do Serviço de Polinização em Produção Agrícola

Description:

     Estima o ganho bruto adquirido por um produtor no comércio de um determinado produto oriundo de culturas de frutíferas dependentes de polinização.

Usage:

     poliniza(x, y, TC, PUV, VU)

Arguments:

     x	data-frame contendo uma amostragem de quatro variáveis na cultura em questão:
	[,1] - número de flores por inflorescência.
	[,2] - número de inflorescências por indivíduo.
	[,3] - peso médio de frutos.
	[,4] - taxa média (0 a 1) do produto de interesse proveniente dos frutos (Exemplo: polpa).
  	
     y	data-frame contendo o número de flores utilizado em dois tratamentos de polinização (manual e controle) e as respectivas quantidades de frutos maduros produzidos:
	[,1] - tratamentos de polinização: [1,1] = manual; e [2,1] = controle.
	[,2] - número de flores utilizadas em cada tratamento.
	[,3] - número de frutos maduros produzidos em cada tratamento.

    TC	tamanho da cultura (quantidade de plantas).

   PUV	Peso da unidade de venda do produto (em gramas).

    VU	Valor (R$) da unidade de venda.


Details:

     O tratamento manual se refere ou a polinização cruzada ou autopolinização, dependendo de se o sistema reprodutivo da espécie cultivada é autocompatível ou não. 
     É necessário se certificar quanto a esse aspecto.

Value:

     Uma lista contendo os seguintes componentes:

  Ganho.em.Reais : valor da produção considerando a taxa de frutificação do tratamento controle.

  ValorPerdido.em.Reais : diferença entre os valores provenientes da taxa de frutificação do tratamento manual e controle, apenas se houver déficit de polinização na cultura.

  Producao.em.kg : quantidade do produto de interesse adquirido a partir da taxa de frutificação do controle.

  ProducaoPerdida.em.kg : diferença entre a quantidade da produção provenientes da taxa de frutificação do tratamento manual e controle, apenas se houver déficit de polinização na cultura.

  p.Chisq : retorna o p-value do chisq.test, usado caso os valores da tabela de contingência sejam iguais ou maiores que 10.

  p.Fisher : retorna o p-value do fisher.test, usado caso haja um valor na tabela de contingência menor que 10.

     A função retorna uma de três mensagens possíveis dependendo do p-value do teste utilizado:
	
	"Não há déficit de polinizadores na cultura" - indica que o serviço de polinização na cultura está sendo prestado de forma máxima.

	"Há déficit de polinizadores na cultura" - indica déficit no serviço de polinização

	"A polinização manual não foi eficiente" - indica que o máximo de frutificação da cultura não foi alcançado devido a problemas no método ou que apenas polinizadores são capazes de acionar o mecanismo.

Author(s):

     Liedson Tavares Carneiro (liedson.carneiro@ib.usp.br)

References:

     Vaissière, B.E., Freitas, B.M., Gemmil-Herren, B. (2011) Protocol to detect and asses pollination deficits in crops: a handbook for its use. Rome: FAO. Page 5 (Fig.1.3).

See Also:

     chisq.test
     fisher.test

Examples:

	fl <- c(120, 105, 98, 108, 125, 95)
	inf <- c(22, 31, 18, 27, 41, 25)
	pes <- c(107,155,148,125,146,110)
	tx <- c(0.55, 0.70, 0.66, 0.72,0.59,0.6)
	x <- data.frame(fl,inf,pes,tx)
	tra <- c("manual","controle")
	fltr1 <- c(78, 89)
	frut1 <- c(25,34)
	y1 <- data.frame(tra,fltr,frut)
	poliniza(x,y1,450,100,1.79) #usa o teste do Qui-quadrado
	fltr2 <- c(12,11)
	frut2 <- c(3,3)
	y2<- data.frame(tra,fltr2,frut2)
	poliniza(x,y2,450,100,1.79) #usa o teste exato de Fisher

Arquivos da Função

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