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.
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:
- Clonando o repositório;
- Baixando um zip do repositório; ou
- 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/")
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).