Skip to content

leg-ufpr/ShinyApps

Repository files navigation

ShinyApps - Aplicações Shiny para Ensino de Estatística

Recursos interativos são ferramentas extraordinárias para o Ensino de qualquer disciplina. Na Estatística, em especial, muitos conceitos podem ser transmitidos de forma visual por meio de gráficos e animações. No entanto, tais recursos ainda são pouco explorados apesar das muitas funcionalidades disponíveis em R para a construção de aplicações, que são implementadas em vários pacotes: rpanel, gWidgets, animation, rgl, googleVis e shiny, por exemplo. Dentre estes, o shiny tem a vantagem de permitir a criação e hospedagem de aplicações na web, aumentando assim o acesso das pessoas, inclusive daqueles que não sabem usar o R.

Esse repositório destina-se a organizar e disponibilizar o código fonte de aplicações Shiny voltadas para o Ensino de Estatística, seja fazendo a exibição de conceitos de uma forma iterativa ou fornecendo aplicações que automatizem tarefas façam análise ou visualização de dados.

Como usar

As aplicações aqui mantidas podem ser utilizadas acessando o endereço http://shiny.leg.ufpr.br/<1>/<2>, em que <1> é o nome do usuário (e.g. walmes) e <2> é o nome da aplicação (e.g. http://shiny.leg.ufpr.br/walmes/geor/).

Já para usar localmente as aplicações pode-se prosseguir de pelo menos três formas diferentes:

  1. Clonando o repositório;
  2. Baixando um zip do repositório; ou
  3. Executando a aplicação a partir do fonte no GitHub.

Na tela inicial do repositório, que exibe este arquivo README, existe um botão do lado direito escrito Clone or download. Clique nele para escolher uma das opções.

Para clonar o repositório você precisa ter o Git instalado. Aí basta clonar o projeto com:

# Clonando o repositório.
git clone https://github.com/leg-ufpr/ShinyApps.git

Caso não queira usar o Git, baixe o zip com o conteúdo do repositório e descompacte para ter acesso às aplicações.

Para executar as aplicações da cópia local do repositório (por clone ou download) faça em uma sessão R:

# Carrega o pacote shiny.
library(shiny)

# Roda a aplicação density.
runApp("density")

Lembre-se de atribuir corretamente o diretório de trabalho para que a aplicação seja encontrada pela função. Use setwd(). Você pode também usar o caminho completo do diretório na aplicação na função runApp().

Por último, caso não queira manter uma cópia local dos arquivos fonte, você pode executar as aplicações a partir do endereço no GitHub. O fragmento abaixo mostra como executar a aplicação density dessa forma.

# Carrega o pacote shiny.
library(shiny)

# Roda a aplicação density acessando os fontes no GitHub.
runGitHub(repo = "ShinyApps",
          username = "leg-ufpr",
          subdir = "density/")

Organização

Cada aplicação Shiny neste repositório é um diretório na raiz. Dentro destes diretório deve existir o par de arquivos server.R e ui.R ou o arquivo app.Rmd. Arquivos auxiliares, como global.R, ou diretórios, como o www/, podem ser criados conforme a necessidade das aplicações.

As definições globais, por outro lado, devem estar no diretório GLOBAL/, como os arquivos de estilo (*.css), cabeçalho (header.html) e rodapé (footer.html) das aplicações.

Na criação dos arquivos, o guia de estilo padrão R descrito por Hadley e presente no lintr deve ser seguido. Para verificar a consistência com o guia de estilo, execute em uma sessão R o seguinte:

library(lintr)

lint(filename = "ui.R",
     linters = with_defaults(commented_code_linter = NULL,
                             line_length_linter =
                                 line_length_linter(72),
                             camel_case_linter = NULL))

lint(filename = "server.R",
     linters = with_defaults(commented_code_linter = NULL,
                             line_length_linter =
                                 line_length_linter(72),
                             camel_case_linter = NULL))

Os arquivos neste repositório devem ter codificação UTF-8 (padrão no Linux) para não haver problemas de codificação de caracteres.

Deve-se evitar arquivos que não sejam texto dentro do repositório, como imagens, a menos que sejam indispensáveis para a aplicação. Arquivos que são gerados pelas aplicações devem ser ignorados no .gitignore, como os arquivos resultados de uma compilação LaTeX (.aux, .toc, etc).

About

Shiny Applications to Teach Statistics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages