====== Liedson Carneiro ======
{{ :bie5782:01_curso_atual:alunos:trabalho_final:liedson.carneiro:aaa.jpg?200 |}}
**Doutorado** em andamento em Ecologia, Instituto de Biociências, USP. [[http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4206896T4|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 [[http://http://ecologia.ib.usp.br/beelab/home/|BeeLab]]
===== Meus arquivos =====
[[.:exec]]
===== 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.
--- //[[aleadalardo@gmail.com|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 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 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 =====
{{:bie5782:01_curso_atual:alunos:trabalho_final:liedson.carneiro:poliniza.r|}}
{{:bie5782:01_curso_atual:alunos:trabalho_final:liedson.carneiro:help.txt|}}