Skip to content
Snippets Groups Projects
Commit b8b7832f authored by Eduardo E. R. Junior's avatar Eduardo E. R. Junior
Browse files

Adiciona script para criação e execução de aplicações R shiny

parents
No related branches found
No related tags found
No related merge requests found
#!/bin/bash
_usage() {
cat <<EOF
init -o --open -n --nopen run
$*
Uso: shinyApp <command> [<args>]
init
Inicia, no diretório atual, uma aplicação shiny criando os
arquivos server.R e ui.R de código mínino renderizável.
-o | --open : abre os arquivos server.R e ui.R no emacs e
e executam a função runApp abrindo o navegador padrão.
-n | --nopen : Nega a opção acima.
run
Executa a função runApp no diretório atual, iniciando uma
aplicação shiny existente.
Example:
shinyApp -init
shinyApp -init -n
shinyApp -init -o
shinyApp -run
EOF
}
DIR=`pwd`
SV=server.R
UI=ui.R
# ----------------------------------------------------------------------
# Parametros do script
if [ $# -lt 1 ]; then
echo "Consulte a documentação. shinyApp --help"
exit 1
fi
if [ $# -eq 2 ]; then
case $2 in
-o | --open)
ARGS=1;;
-n | --nopen)
ARGS=0;;
* ) echo "Opção inválida! Consulte a documentação. shinyApp --help"
exit 1
esac
elif [ $# -eq 1 ]; then
ARGS=1
else
echo "Número de argumentos inválido! Consulte a documentação. shinyApp --help"
exit 1
fi
# ----------------------------------------------------------------------
# Iniciando a criação da aplicação shiny
case $1 in
-h | --help)
_usage
;;
init)
if [ -e "$SV" ] || [ -e "$UI" ]; then
echo "O diretório já contém arquivos ui.R e/ou server.R"
echo -n "Deseja sobrescrever? "
read ANSWER
case "$ANSWER" in
s | sim | y | yes) echo "-------------------------------------------";;
n | não | no) exit 1;;
* ) echo "Responda com as palavres: yes ou no"
exit 1
esac
fi
# Criando o server.R
echo "##-------------------------------------------" > server.R
echo "## server.R" >> server.R
echo "" >> server.R
echo "library(shiny)" >> server.R
echo "" >> server.R
echo "shinyServer(" >> server.R
echo " function(input, output) {" >> server.R
echo "" >> server.R
echo " }" >> server.R
echo ")" >> server.R
# Criando o ui.R
echo "##-------------------------------------------" > ui.R
echo "## ui.R" >> ui.R
echo "" >> ui.R
echo "library(shiny)" >> ui.R
echo "" >> ui.R
echo "shinyUI(" >> ui.R
echo " fluidPage(" >> ui.R
echo "" >> ui.R
echo " )" >> ui.R
echo ")" >> ui.R
case $ARGS in
1)
emacs server.R ui.R &
Rscript -e "shiny::runApp(getwd(), launch.browser = TRUE)"
;;
0)
echo "Arquivos criados em $DIR"
exit 1;;
esac
;;
run) Rscript -e "shiny::runApp(getwd(), launch.browser = TRUE)"
;;
*) echo "Opção inválida!"
exit 1
;;
esac
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment