Recomendando Genótipos considerando diferentes ambientes de cultivo
Durante os 5 anos do meu pós-doutoramento, boa parte dos meus estudos foi dedicada ao desenvolvimento de dashboards e aplicativos para o programa de melhoramento da cana-de-açúcar, que são utilizados para tomada de decisão internamente, e por motivos óbvios são confidenciais. Deveria ter me preocupado com isto na época buscando desenvolver ferramentas que eu pudesse divulgar, formando assim meu portifólio, utilizando exemplos com dados abertos. Todavia, isso toma tempo e eu estava bastante atarefado. Pensando em correr atrás do prejuízo, desenvolvi esse protótipo de aplicativo que tem como objetivos compreender quais genótipos performam melhor considerando os diferentes ambientes em que são avaliados e mostrar o potencial de se utilizar o Shiny para o desenvolvimento de um aplicativo para agilizar a obtenção das análises em um ambiente corporativo.
Acredito que toda a empresa que trabalha com análise de dados tenha protocolos pré-estabelecidos. Para facilitar a vida de quem analisa e/ou consome os dados, várias estratégias podem ser adotadas. O desenvolvimento de um app tem como principal finalidade facilitar a vida do usuário final, que sabe interpretar a saída dos dados, mas não tem habilidade em programação e/ou tempo hábil para ficar programando. Como o app e executado em um servidor, problemas de instalação/compatibilidade também são evitados.
Poderia usar o Power BI que é o novo queridinho da parte de
dashboards? A resposta é sim, daria para utilizar o Power BI conectado a
um banco de dados e com a maioria das análises rodando em R no plano de
fundo. Fiz alguns dashboards assim nos tempos do pós-doutoramento, mas é
um trabalho infernal devido ao número de pacotes suportados pelo Power
BI ser limitado. Sempre que queria algo a mais, tinha que investigar
todo o código e, em algumas vezes reescrever, todas as funções do pacote
que queria utilizar gerando várias linhas de códigos que as vezes tinham
que ser repetidas em vários gráficos e tabelas de uma mesma
sessão.
Tirando este problema tem a parte de exportação das análises que eu acho
terrível também. Vou defender o Power BI, caso o objetivo fosse o
dashboard para uma apresentação final de resultados consolidados
buscando um impacto visual certamente o Power BI seria excelente. Meu
próximo exercício de portifólio (que será o próximo post) será o
desenvolvimento de um dashboard em Power-bi.
Pensando nos entraves do Power BI, minha opção foi desenvolver o app
em shiny. Mas o que é o shiny? Shiny é um pacote em R (recentemente
também disponível para python) que facilita a criação e desenvolvimento
aplicativos web interativos.
Mas quais são as vantagens? Vou pontuar aqui as principais vantagens
para o que eu desenvolvi: 1. Inúmeras maneiras de hospedar o aplicativo;
2. Além da opção de estar conectado a uma base de dados na nuvem, tal
como o Power-bi, eu posso fazer upload de dados de maneira manual (sendo
está a opção que eu utilizei); 3. Possibilidade de gerar relatórios
personalizados utilizando Rmakdown gerando documentos formato word que
podem ser baixados pelo usuário ao final da análise para uma nova
consulta e/ou compartilhamento. 4. Considerando que 99% das análises que
eu faço são desenvolvidas em R, sendo o shiny um “pacote” do R, não
existe entrave de desenvolvimento.
O resultado final pode ser visto no vídeo abaixo.
Certamente eu poderia ter colocado mais procedimentos, todavia, o processo de desenvolvimento de uma aplicação é constante. Modificações são implementadas conforme as necessidades de quem vai consumir os dados para tomada de decisão e o surgimento de novos procedimentos. Desta maneira, acredito que o propósito de desenvolvimento deste protótipo, mostrando o potencial da ferramenta, foi atingido.