Uma aplicação interativa em Shiny, R e Radarchart para visualização de Diagramas Kiviat

March 28, 2017 no comments Posted in Análise de Dados, R, RStudio, Shiny

Na publicação anterior (Diagramas Kiviat (Spider Charts) em R!)  vimos como é simples produzir  um diagrama de Kiviat ou Radar Chart no R com o pacote radarchart.

Aqui a versão do exemplo para o Shiny.

O visitante tem apenas a opção de escolher o nome de uma ou mais pessoas o grafico se atualiza automaticamente.

Uma aplicação Shiny é composta por 2 seções, a interface e o servidor, que podem ser definidos em um mesmo arquivo ou em dois (ui.R, server.R). O RStudio oferece facilidades para o desenviolvimento de aplicações Shiny. Saiba mais em “Aplicações “Shiny”, um primeiro contato usando o RStudio.

O código a seguir é capaz de produzir a aplicação cuja interface podemos ver abaixo. O gráfico é redesenhado em função das seleções no checkbox e dados são exibidos sobre os pontos no gráfico.

 

A interface:

 

 

 

O Servidor:

Referências relativas a pastas e arquivos no RStudio

November 10, 2016 no comments Posted in Código, R, RStudio

Esse post está sendo escrito após o lançamento da versão 1.0 do RStudio em 2016, que tornou a importação de arquivos e a publicação de resultados bem mais agradável. Se ainda não tem o RStudio, trate de instalar a versão desktop [1].

Uma pausa para falar em Diretórios e Referências dentro dos códigos em R. O R adota o conceito de diretório de trabalho. Em geral há uma definição padrão durante a instalação que irá depender do sistema operacional.

Esse diretório pode ser alterado pelo comando setwd(“caminho do diretorio – path”)  – set working directory.

Se o seu script faz referências a pastas externas e o script não está na mesma pasta que o diretorio de trabalho e/ou os dados estão em diretórios diferentes, podemos ter problemas.

A desvantagem de usar o setwd() para um diretório físico é que toda vez que movermos esse script para outra pasta/folder teremos que alterar o código.

Se você pretende que o script seja executado no próprio RStudio, mas eventualmente em em outra pasta, o próprio RStudio facilita a nossa vida,  vá no menu SESSION > To Source File Location. Pronto ele ajustará o diretório de trabalho para a pasta aonde está o seu script.

Screen Shot 2016-11-10 at 10.41.52.png

Mas é possível automatizar ainda mais e evitar essa ida ao menu Session usando o pacote rstudioapi.

Instalar um pacote no RStudio é possível de 3 maneiras:

1 ) na área de trabalho onde existe uma aba “packages”

 

2 ) no menu tool > install packages

 

3) e direto na janela de console do R

Uma vez instalado o pacote rstudioapi, basta inserir o comando abaixo logo

em uma linha que anteceda a qualquer comando que pretenda referenciar arquivos externos.

Feito isso agora o nosso script pode fazer referências relativas a diretórios que estão dentro da pasta do script.

 

Agora podemos mover a vontade toda a pasta para outros locais sabendo que as referências não serão afetadas.

 

Referências

Choose Your Version of RStudio – RStudio Desktop  https://www.rstudio.com/products/rstudio/download3/

R para não Programadores – Importação de arquivos EXCEL, SPSS, STATA e SAS – Curso Prático

November 10, 2016 no comments Posted in R, R para não Programadores, RStudio

Esse post está sendo escrito após o lançamento da versão 1.0 do RStudio em 2016, que tornou a importação de arquivos e a publicação de resultados bem mais agradável. Se ainda não tem o RStudio, trate de instalar a versão desktop [1].

Se você tem recursos para instalar a versão servidor na intranet da sua empresa, melhor ainda, pois todos os interessados dentro do seu espaço de trabalho podem se beneficiar.

Em outro momento posso falar sobre a instalação RStudio Server em ambiente Linux.

Aqui a parte super “cool” do novo RStudio, as telas falam tudo, veja:

Aba Environment, Import Excel. Aproveite e perceba logo as opções de importação SAS, STATA, SPSS.

Screen Shot 2016-11-10 at 10.21.03.png

Se estiver conectado a internet o RStudio vai verificar a necessidade de instalação de pacotes adicionais para a tarefa e irá emitir um alerta. Aceite.

screen-shot-2016-11-10-at-10-23-53

Uma janela se abre,

screen-shot-2016-11-10-at-10-25-00

selecione o arquivo a ser importado,

screen-shot-2016-11-10-at-10-25-28

um preview dos dados são apresentados,

screen-shot-2016-11-10-at-10-25-50

Primeira linha tem nomes das colunas?

screen-shot-2016-11-10-at-10-26-17

o código que gerou o preview e que iremos inserir em nosso script

screen-shot-2016-11-10-at-10-26-04

aceite e pronto os dados já importados para um data frame com o mesmo nome do arquivo sem a extensão .xlsx.

O arquivo era “capitasMetrico.xlsx”, agora temos um data frame capitaisMetrico para trabalhar.

screen-shot-2016-11-10-at-10-26-35

Aqui o código ja inserido no script.

E aqui uma pausa para falar em Diretórios e Referências dentro dos códigos em R. O código gerado faz uma apontamento ao caminho físico completo onde está o nosso script, o que é problema, toda vez que movermos esse script teremos que alterar o código.

Se você pretende que o script seja executado no próprio RStudio, mas eventualmente em em outra pasta, o próprio RStudio facilita a nossa vida,  vá no menu SESSION > To Source File Location. Pronto ele ajustará o diretório de trabalho para a pasta aonde está o seu script.

Screen Shot 2016-11-10 at 10.41.52.png

Mas é possível automatizar ainda mais e evitar essa ida ao meu Session. Basta inserir o comando abaixo logo

em uma linha que anteceda a qualquer comando que pretenda referenciar arquivos externos.

Feito isso agora o nosso script pode fazer referências relativas a diretórios que estão dentro da pasta do script.

Agora podemos mover a vontade toda a pasta para outros locais sabendo que as referências não serão afetadas.

Um tópico a parte face a enorme quantidade de opções é sobre “como” os dados são importados, codificações diferentes entre países e caracteres especiais.

No exemplo anterior os dados estavam em um formato apropriado para o sistema brasileiro, casas decimais como “,” e pontos como separado de milhares. A rotina read_excel não oferece recursos maiores para alteração do formato quanto a origem da planilha, então adotamos a solução temporária, feia :).

Alteramos no Excel as virgulas por pontos e importamos novamente, mais a frente iremos explorar alternativas mais estruturadas para extração de dados.

Outro detalhe importante, se não especificamos no read_excel quais colunas são numéricas, todas são importadas como “Texto”, logo não poderemos operar como números.

Duas soluções possíveis, especificar o tipo de dados com atributo “col_types” no read_excel, ou alterar o tipo depois.

A segunda opção aqui é mais didática pois exemplifica como operar sobre colunas de um data frame.

Referências

Choose Your Version of RStudio – RStudio Desktop  https://www.rstudio.com/products/rstudio/download3/

“RStudio and Shiny are trademarks of RStudio, Inc.”