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

Complementa README com informações do projeto

parent 77743f7e
No related branches found
No related tags found
1 merge request!15Issue#14
Explorando Interfaces Gráficas com o R
======================================
Eduardo E. Ribeiro Jr, PET-Estatística UFPR
[Eduardo E. Ribeiro Jr](https://gitlab.c3sl.ufpr.br/u/eerj12), PET-Estatística UFPR
[Prof. Walmes M. Zeviani](http://www.leg.ufpr.br/~walmes/), LEG UFPR
O R é um programa para computação estatística e gráficos ... TODO
O R é um programa para computação estatística e gráficos muito utilizado
por estatísticos e cientistas de dados, possivelmente o mais
utilizado. Seu uso é essencialmente via _CLI (Command Line Interface)_,
com resultados textuais exibidos em um _console_ e gráficos em uma
janela do sistema operacional. Porém, utilizado desta forma, o programa
desencoraja usuários não acostumados com programação e os que tem
familiaridade ainda obtém resultados estáticos.
Nesse Curso consideramos pacotes do R para produzir ... TODO
Nesse material consideramos ferramentas em R para produzir resultados de
forma interativa ou não-estática. Estes resultados se caracterizam pela
interação proporcionada ao usuário, quando o objetivo é a criação de
interfaces com _widgets_ (controladores como botões, deslizadores etc.)
e pelo dinamismo dos gráficos, quando o objetivo é apenas
visualização. Em nossas experiências o uso potencial destas ferramentas
de dá como:
O pacote [`animation`] serve para gerar animações em diversos formatos,
como *gif* e animações em *javascript* dentro de páginas web. O [`rgl`]
permite explorar o espaço tridimensional .. O pacote [`googleVis`] faz
gráficos da galeria Google Charts a partir de objetos do R. Com os
pacotes [`rpanel`] e [`gWdigets`] é possível fazer interfaces gráficas e
até mini aplicativos baseados em Tcl/Tk ou Gtk+. Por fim, o pacote
[`shiny`] possibilita construir aplicações Web com o R baseadas em
*javascript*.
* **Instrumento de ensino:** Muitos conceitos e resultados em
Estatística, são apresentados nos cursos de graduação e pós-graduação
a partir de axiomas e teoremas, porém muitos deles também podem ser
visualizados de forma gráfica o que acelera a compreensão e
assimilação do conteúdo;
O que todos esses pacotes têm em comum é permitir uma visualização
dinâmica e/ou interativas. Com eles podemos produzir gráficos que exibem
uma sequência de estados - como os gifs - com os quais podemos
rotacionar - rgl - TODO
* **Construção de aplicativos:** A elaboração de mini-aplicativos
principalmente para coleta de dados torna o trabalho, inerente a um
experimento planejado, menos árduo no sentido de que não se é mais
necessário a transferência dos resultados do papel para o computador;
Tais recursos interativos são usados para ensino de estatística e
exibição de dados ... TODO
* **Exibição de relatórios:** Relatórios técnicos em Estatística ainda
tem a característica estática, geralmente os resultados obtidos são
apresentados no formato PDF. Porém com as ferramentas apresentadas
podemos exibir nossos resultados de forma _web_ interativa, onde o
leitor pode até trocar os valores que são utilizados para gerar os
resultados e ter uma visão mais ampla do trabalho.
Os arquivos `Rmd` precisam ser compilados com `markdown::render()` ou
`markdown::run()`.
* **Interfaces para pacotes:** Muitas bibliotecas do R, chamadas de
pacotes já utilizam os recursos gráficos para criar interfaces
interativas. No contexto de pacotes R essas interfaces objetivam
principalmente a explicação funções exibindo, interativamente, a
influências dos argumentos da função sobre os resultados.
As aplicações Shiny estão ativas no servidor RStudio/Shiny do LEG/PET:
<http://shiny.leg.ufpr.br/iguir/>.
Este repositório explora sete pacotes R, que possibilitam alguma forma
de interação com o usuário. Os pacotes abordados que se encaixam na
geração de gráficos dinâmicos são: [`animation`] que serve para gerar
animações em diversos formatos, como *gif* e animações em *javascript*
dentro de páginas web; [`rgl`] que permite explorar o espaço
tridimensional também com a possibilidade de geração de _gifs_ e páginas
_web_ com _WebGL_; [`googleVis`] proporcionando a elaboração de gráficos
da galeria Google Charts a partir de objetos do R;e [`rCharts`] pacote
ainda em desenvolvimento que possibilita criar, customizar e publicar
visualizações interativas _JavaScript_ com o R, utilizando a sintaxe
_lattice_. Para criação de interfaces com _widgets_ consideramos os
pacotes [`rpanel`] e [`gWdigets`], com eles é possível fazer interfaces
gráficas e até mini aplicativos baseados em Tcl/Tk ou Gtk+. Por fim,
nesta categoria, o pacote [`shiny`] que possibilita construir aplicações
Web com o R baseadas em *javascript* também ganha destaca no nosso
material.
É importante destacar que os arquivos com nome `package.Rmd`, onde
`package` pode assumir `animation`, `googleVis`, `gWidgets`, `rCharts`,
`rgl` e `rpanel` precisam ser compilados para que gerem os respectivos
arquivos `.html`. Essa compilação pode ser realizada com a função
`rmarkdown::render()`. Os slides do material contém _links_ para os
arquivos resultados dessa compilação.
As aplicações Shiny produzidas para este projeto estão ativas no
servidor RStudio/Shiny do LEG/PET: <http://shiny.leg.ufpr.br/iguir/>.
****
## Organização do repositório
TODO
Como organização do material produzido adotamos no repositório um
diretório dedicado a cada pacote abordado. Cada repositório tem suas
particularidades devido às particularidades dos pacotes, porém, com
exceção do `shiny/`, temos uma galeria com exemplos para toda biblioteca
cujo nomeamos de `package.Rmd`, este arquivo `.Rmd` deve ser compilado
conforme procedimento descrito anteriormente. Também dedicamos um
diretório para a criação dos slides utilizados em cursos, os slides
são elaborados em LaTeX e cada pacote ganhou um arquivo para que a
elaboração pudesse ser realizada de forma paralela.
A estrutura geral dos diretórios dentro deste repositório é representada
pelo diagrama abaixo.
```
.
├── README.md ## Visão geral do projeto
├── plano.org ## Plano de trabalho adotado
├── galery.css ## Arquivo de estilo das galerias
├── animation
│ ├── animation.Rmd ## Galeria de exemplos
│ ├── anima.R ## Animações elaboradas
│ └── ...
├── googleVis
│ ├── googleVis.Rmd ## Galeria de exemplos
│ └── googleVis.html ## Galeria compilada
├── gWidgets
│ ├── gWidgets.Rmd ## Galeria de exemplos
│ ├── gifs
│ │ ├── interface.gif ## Gif das interfaces elaboradas
│ │ └── ...
│ ├── interfaces.R ## Interfaces elaboradas
│ └── ...
├── rCharts
│ ├── rCharts.Rmd ## Galeria de exemplos
│ └── pajero-dakar.csv ## Dataset utilizado
├── rgl
│ ├── rgl.Rmd ## Galeria de exemplos
│ └── setup.R ## Necessário geração do arquivo com _WebGL_
├── rpanel
│ ├── rpanel.Rmd ## Galeria de exemplos
│ ├── gifs
│ │ ├── interface.gif ## Gif das interfaces elaboradas
│ │ └── ...
│ ├── interfaces.R ## Interfaces elaboradas
│ └── ...
├── shiny
│ ├── shiny-pres.Rmd ## Apresentação detalhada do pacote
│ ├── shiny-pres.html ## Apresentação compilada
│ ├── images ## Imagens utilizadas na apresentação
│ │ ├── figures.svg
│ │ └── ...
│ ├── aplicação ## Arquivos necessários para a aplicação shiny
│ │ ├── ui.R
│ │ ├── server.R
│ │ └── aux_files.[dat, Rnw, md, ...]
│ ├── insertTemplate ## Shell script para inserção do cabeçalho iguir2
│ ├── shinyApp ## Shell script para criação automática de apps
│ └── template.R ## Cabeçalho das interfaces
└── slides
├── images
│ ├── files.[png, jpg, gif]
│ └── ...
├── secoes.tex ## Seções dos slides
├── slides.tex ## Agregação das seções em arquivo único
├── slides.pdf ## Resultado da compilação dos slides
└── tikz
├── imagem.pgf ## Código da imagem em Tikz
├── imagem.pdf ## Compilação do Tikz
└── ...
48 directories, 300 files
```
****
## Como citar esse material
......@@ -49,3 +162,4 @@ TODO
[`rpanel`]: https://cran.r-project.org/web/packages/rpanel/index.html
[`gWdigets`]: https://cran.r-project.org/web/packages/gWidgets/index.html
[`shiny`]: http://shiny.rstudio.com/
[`rCharts`]: http://ramnathv.github.io/rCharts/
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment