Monday 21 August 2017

Média Móvel Qplot


Não tenho certeza se esta é uma questão de programação ou não. Se eu tiver os dados abaixo, o que produz um gráfico espetado, e Id gostaria de produzir um ligeiramente alisado usando o ggplot2, como faço isso com mais eletricidade. Os métodos habituais de suavização removem muita informação. Uma maneira que eu considere é interpolar dois pontos de dados extras entre o conjunto atual e, em seguida, ter uma média móvel de 2 períodos ou algo assim. Parece muito trabalho para codificar manualmente, então eu dou uma resposta que automatiza isso elegantemente como último recurso. Como você pode ver, isso é spiky e visualmente pouco atraente E isso remove muitas informações do gráfico Você pode tentar um polinômio. Como a variável do eixo x tem 12 valores exclusivos, você pode usar polinômios até o 11º grau. Além disso, você deve usar uma escala contínua para o eixo x para alcançar uma curva suave. Este é um exemplo de um polinômio de 8ª ordem: aqui, o método lm significa que um modelo linear é usado. O segundo argumento da função poly especifica o grau. Tenho uma série de séries temporais no pacote ggplot2 e realizei a média móvel e gostaria de adicionar o resultado da média móvel à trama das séries temporais. Exemplo de conjunto de dados (p31): ambtemp dt -1,14 2007-09-29 00:01:57 -1.12 2007-09-29 00:03:57 -1.33 2007-09-29 00:05:57 -1.44 2007 -09-29 00:07:57 -1,54 2007-09-29 00:09:57 -1,29 2007-09-29 00:11:57 Código aplicado para a apresentação da série temporal: Amostra do gráfico médio móvel Amostra dos resultados esperados O O desafio é que os dados da série temporal são obtidos a partir do conjunto de dados que inclui timestamps e temperatura, mas os dados médios em movimento incluem apenas a coluna média e não os timestamps e a montagem desses dois podem causar inconsistência. Plotting means e barras de erro (ggplot2) Você quer traçar significa E barras de erro para um conjunto de dados. Para fazer gráficos com ggplot2, os dados devem estar em um quadro de dados e em formato longo (em oposição ao amplo). Se seus dados precisam ser reestruturados, veja esta página para obter mais informações. Dados de exemplo Os exemplos abaixo serão o conjunto de dados ToothGrowth. Observe que a dose é uma coluna numérica aqui, em algumas situações, pode ser útil convertê-la em um fator. Primeiro, é necessário resumir os dados. Isso pode ser feito de várias maneiras, conforme descrito nesta página. Neste caso, use a função summarySE () definida nessa página e também na parte inferior desta página. (O código para a função summarySE deve ser inserido antes de ser chamado aqui). Gráficos de linhas Depois que os dados são resumidos, podemos fazer o gráfico. Estes são gráficos básicos de linhas e pontos com barras de erro que representam o erro padrão da média ou intervalo de confiança 95. Um gráfico concluído com barras de erro representando o erro padrão da média pode parecer assim. Os pontos são desenhados em último lugar, de modo que o preenchimento branco vai ao topo das linhas e barras de erro. Gráficos de barras O procedimento é semelhante para gráficos de barras. Observe que o tgcsize deve ser um fator. Se for um vetor numérico, então não funcionará. Um gráfico acabado pode ser assim. Barras de erro para variáveis ​​dentro de assuntos Quando todas as variáveis ​​são entre-assuntos, é direto traçar erros padrão ou intervalos de confiança. No entanto, quando existem variáveis ​​dentro dos assuntos (medidas repetidas), traçar o erro padrão ou intervalos de confiança regulares podem ser enganosos para fazer inferências sobre as diferenças entre as condições. O método abaixo é de Morey (2008). Que é uma correção para Cousineau (2005). Que, por sua vez, deve ser um método mais simples disso em Loftus e Masson (1994). Veja estes documentos para um tratamento mais detalhado das questões envolvidas em barras de erro com variáveis ​​dentro dos assuntos. Uma variável dentro dos assuntos Aqui está um conjunto de dados (de Morey 2008) com uma variável dentro dos assuntos: prepost-test. O primeiro passo é convertê-lo em formato longo. Veja esta página para obter mais informações sobre a conversão. Recolher os dados usando summarySEwithin (definido na parte inferior desta página, ambas as funções auxiliares abaixo devem ser inseridas antes que a função seja chamada aqui). As colunas de valores e valores representam os meios não normalizados e normalizados. Veja a seção abaixo nos meios normed para obter mais informações. Compreendendo barras de erro dentro de assuntos Esta seção explica como os valores da barra de erro dentro dos assuntos são calculados. As etapas aqui são apenas para fins de explicação, eles não são necessários para fazer barras de erro. O gráfico de dados individuais mostra que há uma tendência consistente para a condição variável dentro dos assuntos. Mas isso não seria necessariamente revelado tomando os erros padrão regulares (ou intervalos de confiança) para cada grupo. O método em Morey (2008) e Cousineau (2005) essencialmente normaliza os dados para remover a variabilidade entre sujeitos e calcula a variação desses dados normalizados. As diferenças nas barras de erro para o método regular (entre sujeito) e o método dentro do assunto são mostradas aqui. As barras de erro regulares estão em vermelho e as barras de erro dentro do assunto estão em preto. Duas variáveis ​​dentro dos assuntos Se houver mais de uma variável dentro dos assuntos, a mesma função, summarySEwithin. pode ser usado. Este conjunto de dados é retirado de Hays (1994). E usado para fazer esse tipo de barra de erro dentro do assunto em Rouder e Morey (2005). Os dados devem primeiro ser convertidos em formato longo. Nesse caso, os nomes das colunas indicam duas variáveis, forma (roundsquare) e esquema de cores (monocromático). Agora, pode ser resumido e representado graficamente. Observação sobre os meios normalizados A função summarySEWithin retorna os meios normalizados e não normalizados. Os meios não normalizados são simplesmente a média de cada grupo. Os meios normados são calculados para que os meios de cada grupo entre sujeitos sejam os mesmos. Esses valores podem divergir quando há variáveis ​​entre sujeitos. Funções auxiliares A função summarySE também está definida nesta página. Se você estiver trabalhando somente com variáveis ​​entre assuntos, essa é a única função que você precisará no seu código. Se você possui variáveis ​​dentro dos assuntos e deseja ajustar as barras de erro de modo que a variabilidade inter-assunto seja removida, como em Loftus e Masson (1994), então as outras duas funções, normDataWithin e summarySEwithin também devem ser adicionadas ao seu código summarySEwithin então Seja a função que você chama.

No comments:

Post a Comment