Thursday 7 September 2017

Dygraphs Moving Average


Dygraphs para R O pacote dygraphs é uma interface R para a biblioteca de gráficos de JavaScript dos gráficos. Ele fornece instalações ricas para traçar dados de séries temporais em R, incluindo: traça automaticamente objetos de séries temporais xts (ou qualquer objeto conversível para xts). Eixo altamente configurável e exibição em série (incluindo o segundo eixo opcional de Y). Recursos interativos ricos, incluindo zoom-zoom e destaque em série. Exibir barras superiores superiores (por exemplo, intervalos de predição) em torno de séries. Várias sobreposições de gráficos, incluindo regiões sombreadas. Linhas de eventos. E apontar anotações. Use no console R apenas como parcelas R convencionais (via RStudio Viewer). Incorporação perfeita dentro de documentos do R Markdown e aplicações web brilhantes. Instalação Você pode instalar o pacote dygraphs da CRAN da seguinte maneira: Você pode usar dygraphs no console R, dentro de documentos R Markdown e dentro de aplicativos brilhantes. Consulte a documentação de uso vinculada na barra lateral para obter mais detalhes. Existem algumas demos de dígrafos abaixo, bem como alguns outros na galeria de exemplos. Existe um dígrafo simples criado a partir de um objeto de séries temporais múltiplas: Observe que este gráfico é totalmente interativo: à medida que o mouse se move sobre a série, os valores individuais são exibidos. Você também pode selecionar regiões do gráfico para ampliar (clique duas vezes em zooms). Você pode personalizar dygraphs encanando comandos adicionais no objeto original do dygraph. Aqui nós canalizamos um dyRangeSelector para o nosso gráfico original: Observe que este exemplo usa o operador gt (ou pipe) da embalagem magrittr para compor o dygraph com o seletor de alcance. Você usa uma sintaxe semelhante para personalizar eixos, séries e outras opções. Por exemplo: muitas opções para personalizar a exibição de séries e eixos estão disponíveis. É possível combinar várias séries de estilo lowervalueupper em uma única tela com barras sombreadas. É um exemplo que ilustra barras sombreadas, especificando um título de plotagem, suprimindo o desenho da grade para o eixo x e o uso de uma paleta personalizada para cores de série: A Galeria vinculada a partir da barra lateral inclui muitos mais exemplos de vários recursos Disponível para personalizar dygraphs. Para manter este exemplo autônomo, o segundo parâmetro é dados CSV crus. A biblioteca de dygraphs analisa esses dados (incluindo cabeçalhos de coluna), redimensiona seu contêiner para um padrão razoável, calcula os intervalos de eixo apropriados e marque marcas e desenha o gráfico. Na maioria dos aplicativos, faz mais sentido incluir um arquivo CSV. Se o segundo parâmetro para o construtor não contiver uma nova linha, ele será interpretado como o caminho para um arquivo CSV. O Dygraph executará um XMLHttpRequest para recuperar esse arquivo e exibir os dados quando ele estiver disponível. Certifique-se de que o seu arquivo CSV é legível e serve a partir de um local que entenda XMLHttpRequests Em particular, você não pode especificar um arquivo CSV usando o arquivo :. Seu exemplo: (dados do Weather Underground) Existem algumas coisas a serem observadas aqui: O Dygraph enviou um XHR para obter o arquivo temperature. csv. Os rótulos foram retirados da primeira linha de temperaturas. csv. Que é Date, High, Low. O Dygraph escolheu automaticamente duas cores diferentes e facilmente distinguíveis para as duas séries de dados. Os rótulos no eixo dos x mudaram de dias para meses. Se você aumentar o zoom, eles mudarão para semanas e depois para dias. Algumas heurísticas são usadas para determinar um bom intervalo vertical para os dados. A idéia é tornar todos os dados visíveis e ter valores amigáveis ​​ao homem no eixo (ou seja, 200 em vez de 193.4). Geralmente isso funciona bem. Os dados são muito espinhosos. Uma média móvel seria mais fácil de interpretar. Este problema pode ser corrigido especificando as opções apropriadas no parâmetro de opções adicionais para o construtor Dygraph. Para definir o número de dias para uma média móvel, use a opção rollPeriod. Heres como é feito: uma média móvel pode ser definida usando a caixa de texto no canto inferior esquerdo do gráfico (o atributo showRoller é o que faz isso aparecer). Observe também que weve definiu explicitamente o tamanho do gráfico div. Barras de erro Outra característica significativa da biblioteca de dygraphs é a capacidade de exibir barras de erro em torno de séries de dados. Um desvio padrão deve ser especificado para cada ponto de dados. Uma banda de sigma de plusmnn será desenhada em torno da série de dados nesse ponto. Se uma média móvel estiver sendo exibida, os dígrafos calcularão o desvio padrão da média em cada ponto. I. E. Sigma sqrt ((sigma 1 2 sigma 2 2. Sigma n 2) n) Heres uma demonstração. Existem duas séries de dados. Um é N (100,10) com um desvio padrão de 10 especificado em cada ponto. O outro é N (80,20) com um desvio padrão de 20 especificado em cada ponto. O arquivo CSV foi gerado usando Octave e pode ser visualizado em twonormals. csv. Coisas a serem observadas aqui: a opção ErrorBars afeta tanto a interpretação do arquivo CSV quanto a exibição do gráfico. Quando as barras de erro são definidas como verdadeiras, cada linha é interpretada como AAAAMMDD. UMA . SigmaA. B. SigmaB. Hellip A primeira linha do arquivo CSV não menciona as colunas de erro. Neste caso, é apenas Date, Series1, Series2. A média atinge visivelmente as barras de erro. Isso é muito claro se você mantiver o período de rolamento para algo como 100 dias. Para as datas mais antigas, não haverá 100 pontos de dados para a média, de modo que o sinal será mais ruidoso. As barras de erro ficam menores como sqrt (N) indo para a frente no tempo até que haja 100 pontos na média. As barras de erro são parcialmente transparentes. Isso pode ser visto quando eles se sobrepõem. A API de visualização do Google fornece uma interface padrão para descrever dados. Uma vez que você especificou seus dados usando esta API, você pode conectar qualquer visualização compatível com GViz. Dygraphs é uma visualização desse tipo. Em particular, ele pode ser usado como uma substituição drop-in para a visualização AnnotaTimeline usada no Google Finance e outros sites. Para ver como isso funciona, confira o demo da anotação gviz. Para uma demonstração simples de como usar dygraphs uma visualização GViz, veja danvk. orgdygraphstestsgviz. html. Dygraphs também podem ser usados ​​como um gadget GViz. Isso permite que ele seja incorporado dentro de uma planilha do Google. Para uma demonstração disso, veja esta planilha. O URL do gadget é danvk. orgdygraphsgadget. xml. Heres um exemplo de um gadget gviz publicado usando dygraphs: Frações de Cartografia As situações geralmente surgem onde você deseja traçar fracções, p. A fração de entrevistados em uma pesquisa que disse que eles votariam para o candidato X ou o número de visitas divididas por morcegos (baseballs batting average). As frações requerem tratamento especial por dois motivos principais: a média de a1b1 e a2b2 é (a1a2) (b1b2). Não (a1b1 a2b2) 2. A aproximação normal nem sempre é aplicável e os intervalos de confiança mais sofisticados (por exemplo, o intervalo de confiança de Wilson) devem ser empregados para evitar proporções que excedam 100 ou ultrapassar 0. Felizmente, os dygraphs manipulam ambos para você. Heres um gráfico e o comando que gerou : Média de batedura para Ichiro Suzuki vs. Mariners (2004) A opção de frações indica que os valores em cada coluna devem ser analisados ​​como frações (por exemplo, 12 em vez de 0,5). A opção errorBars indica que wed gostaria de ver um intervalo de confiança em torno de cada ponto de dados. Por padrão, quando as frações estão definidas, você obtém um intervalo de confiança de Wilson. Se você olhar cuidadosamente para o gráfico, você pode ver que as barras de erro são assimétricas. Algumas coisas a notar sobre este gráfico: as barras de erro para a média de batedores de Ichiros são maiores do que para os Marineros, uma vez que ele tem muito menos em bastões do que em sua equipe. Dygraphs torna mais fácil ver a média de batedores nos últimos 30 jogos. Normalmente, isso é bastante difícil de calcular. Ele deixa claro onde a parte quente e fria da temporada de Suzukis foi. Se você definir o período de média para algo grande, como 200, você verá os jogadores e a média de bate-papo dos jogadores através desse jogo. O número final é a média geral de batedores da temporada. Onde as barras de erro não se sobrepõem, podemos dizer com confiança 95 que as séries diferem. Há uma chance melhor que 95 de que Ichiro foi um melhor lançador do que seu time como um todo em 2004, ano em que ele ganhou o título de batedura. Uma última demo Este gráfico mostra fechamentos mensais da Dow Jones Industrial Average, tanto em dólares nominais quanto reais (ou seja, ajustados pela inflação). As áreas sombreadas mostram sua alta e baixa mensal. Os valores de CPI com uma base de 1982 a 1984 são utilizados para ajustar a inflação. Exibição: Anotações reais nominais Gotchas comuns Aqui estão alguns problemas que eu costumo executar com freqüência ao usar a biblioteca de dygraphs. Se o seu gráfico não for exibido, certifique-se de verificar o console de erros do seu navegador. Dygraphs faz todas as tentativas para registrar erros e avisos, e estes geralmente podem orientá-lo na direção certa. Verifique se seus arquivos CSV são legíveis Se o seu gráfico não aparecer, o XMLHttpRequest para o arquivo CSV pode estar falhando. Você pode determinar se este é o caso usando ferramentas como o Firebug. Certifique-se de que seus arquivos CSV estão no formato correto. Eles devem ser da forma AAAAMMDD, série1, série2, hellip. E se você definir a propriedade errorBars, certifique-se de alternar séries de dados e desvios padrão. Dygraphs não são felizes quando colocados dentro de uma etiqueta ltcentergt. Isso se aplica à propriedade CSS text-align também. Se você quiser centrar um Dygraph, coloque-o dentro de uma tabela com o conjunto de alinhamento central. Não configure a propriedade dateWindow para uma data. Ele espera milissegundos desde a época, que pode ser obtida a partir de um método JavaScript Date objects valueOf. Certifique-se de que você não tenha nenhuma vírgula à sua chamada para o construtor Dygraph ou no parâmetro de opções. Firefox, Chrome e Safari ignoram estes, mas eles podem fazer com que um gráfico não seja exibido no Internet Explorer. O que se segue Se você precisar suportar o Internet Explorer, confira nossas notas no IE. Para obter alguma inspiração, veja como os gráficos em nossa galeria são criados.

No comments:

Post a Comment