Índice
O Curso
Material de Apoio
Área dos Alunos
Visitantes
Forum
notaR
Área Restrita
Cursos Anteriores
IBUSP
Outras Insitutições
IBUSP
Outras Insitutições
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
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.
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
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 } }
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