Projecto r médio em movimento
Eu tenho uma série de séries temporais no pacote ggplot2 e eu executei a média móvel e gostaria de adicionar o resultado da média móvel ao enredo 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 apresentação de séries temporais: Amostra de gráfico médio móvel Amostra de resultados esperados O O desafio é que os dados da série de tempo 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 instalação desses dois podem causar inconsistência. Como calcular a média móvel sem usar o filtro () Zillion responde a isso, porque a sua pergunta é realmente: como eu suavizar uma série de tempo. Então, você pode pesquisar palavras-chave apropriadas. Minha resposta é: não use médias móveis - isso é patéticamente antigo. Loess é uma das várias alternativas que você pode considerar. Publique no CV (stats. stackexchange) para outras alternativas estatísticas para o alisamento de séries temporais. Além disso, o quotunderstandingquot que você expressou acima é falho. As construções de tipo de aplicação são (R-level) loops. Então, você fez sua lição de casa ao ler A Intro to R (cran. r-project. orgdocmanualsR-intro. pdf) ou outros tutoriais na web. Caso contrário, faça isso antes de publicar aqui ainda. Bert Gunter Genentech Biostatistics Nonclinical (650) 467-7374 quotData não é informação. A informação não é conhecimento. E o conhecimento certamente não é sabedoria. H. Gilbert Welch No dia 17 de fevereiro de 2017, às 10:45, C O correio eletrônico enviado gt escreveu: gt Olá lista, gt Como calculo uma média móvel sem usar o filtro (). Filtro () gt não parece dar médias ponderadas. Gt gt Estou olhando para apply (), tapply. Mas nada é quotmovesquot. Gt gt Por exemplo, gt gt datlt-c (1:20) gt significa (dat1: 3) gt mean (dat 4: 6) gt mean (dat7: 9) gt mean (dat10: 12) gt gt etc. gt gt I Compreender o ponto de aplicação é evitar loops, como devo incorporar gt esta ideia no uso de uma aplicação () gt gt Obrigado, gt Mike gt gt versão HTML alternativa excluída gt gt gt email escondido lista de discussão gt stat. ethz. chmailmanlistinfor-help Gt POR FAVOR, leia o guia de publicação R-project. orgposting-guide. html gt e forneça um código comentado, mínimo, autônomo e reprodutível. Em resposta a esta postagem por tmrsg11 Em 17 de fevereiro de 2017, às 10:45 da manhã, C W escreveu: gt Hi list, gt Como calculo uma média móvel sem usar o filtro (). Filtro () gt não parece dar médias ponderadas. Gt gt Estou olhando para apply (), tapply. Mas nada é quotmovesquot. Gt gt Por exemplo, gt gt datlt-c (1:20) gt significa (dat1: 3) gt mean (dat 4: 6) gt mean (dat7: 9) gt mean (dat10: 12) gt gt etc. gt gt I Compreender o ponto de aplicação é evitar loops, como devo incorporar gt esta ideia no uso de uma aplicação () gt Construir um vetor para agrupar e usar tapply. A divisão do módulo é um método comum para alcançar isso. Às vezes, a função seq pode ser usada se você ajustar o comprimento corretamente. Gt tapply (dat, (0: (length (dat) -1)) 3, mean) 0 1 2 3 4 5 6 2.0 5.0 8.0 11.0 14.0 17.0 19.5 tapply (dat, round (seq (1, (length (dat) 3), lenlength (dat))), significa) 1 2 3 4 5 6 7 1,5 4,5 8.0 11.0 14.5 18.0 20.0 O comentário sobre a ponderação dos não parece ser exemplificado no seu exemplo. Gt Obrigado, gt Mike gt gt versão HTML alternativa excluída gt gt gt email escondido lista de discussão gt stat. ethz. chmailmanlistinfor-help gt POR FAVOR, leia o guia de publicação R-project. orgposting-guide. html gt e forneça comentários, mínimos, auto - contido, código reprodutível. David Winsemius Alameda, CA, EUA Abrir esta postagem em exibição threaded Denunciar conteúdo como inapropriado Re: Como calcular a média móvel sem usar o filtro () Em resposta a esta postagem por Rui Barradas Para média móvel de 5 pontos, filtro (x, side2, filterrep (15, 5)), versus filtro (x, side2, filterrep (1, 5) Eles têm o mesmo efeito, uma vez que o total precisa ser 1. Gabor amp Rui: Estou ciente do pacote do zoológico, eu fiz Não quer instalar um pacote para uma função. Mesmo motivo para o pacote sos. David, obrigado, é isso que estou procurando. No dia 17 de fevereiro de 2017, às 14h07, Rui Barradas enviou um e-mail à gt, escreveu: gt Olá Gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt Ser calculado com algo como o seguinte. Gt gt s lt - (seqalong (dat) - 1) 3 gt sapply (split (dat, s), mean) gt gt gt Espero que isso ajude, gt gt Rui Barra As gt gt gt Em 17-02-2017 18:45, C W escreveu: gt gtgt Hi list, gtgt Como calculo uma média móvel sem usar o filtro (). Filtro () não parece dar médias ponderadas. Gtgt gtgt Estou olhando para apply (), tapply. Mas nada é quotmovesquot. Por exemplo, gtgt gtgt datlt-c (1:20) gtgt significa (dat1: 3) gtgt significa (dat4: 6) gtgt mean (dat7: 9) gtgt mean (dat10: 12) gtgt gtgt etc. gtgt gtgt I Entender o ponto de aplicação é evitar loops, como devo usar esta idéia no uso de uma aplicação () gtgt gtgt Obrigado, gtgt Mike gtgt gtgt alternativa versão HTML excluída gtgt gtgt gtgt email escondido lista de discussão gtgt stat. ethz. chmailmanlistinfor - Help gtgt POR FAVOR, leia o guia de publicação R-project. org gtgt posting-guide. html gtgt e forneça um código comentado, mínimo, autônomo e reprodutível. Gtgt gtgt alternativa versão HTML eliminadaRe: R Média de movimentação Em Qui, 16 Jun 2005 08:04:18 -0400 (EDT) Bernard L. Dillard escreveu: gt Bom dia, todos gt gt Estou tentando superpor uma média móvel mais suave em um Gráfico gt de lotes diários. Essas parcelas (na tabela, 2 abaixo) abrange cerca de 350 dias gt e parece muito barulhenta. Prefiro que seja mais liso traçar o gt médio de cada grupo de 7 dias consecutivos (semanalmente) e mostrar uma linha que gt se junta a essas séries de médias. Dada a definição de MA, o primeiro gt e os últimos pontos geralmente se sobrepõem ao cálculo médio. Gt gt É provavelmente um one-liner, mas ainda estou tendo alguns problemas com gt a sintaxe. A única parte que eu tenho correta é a declaração quotlinesquot para gt garantir que ele supera meu gráfico original. Gt gt Heres o código que eu tenho até agora: gt gt y lt-table, 2 gt plot (y, typequotlquot, lty3) gt lines (.) Com o pacote zoológico, você pode fazer o seguinte: library (zoo) create data x lt - rnorm (365) transforma-se para a série regular de zoológicos com quotDatequot index x lt-zooreg (x, start as. Date (quot2004-01-01quot)) plot (x) add rollingrunningmoving média com tamanho da janela 7 linhas (rollmean (x, 7 ), Col 2, lwd 2) se você não quer o padrão de rolamento, mas sim uma série de tempo semanal de meios, você pode fazer a próxima função (x) 7 teto (como. numérico (x - 1) 7) como. Date ( 1) xw lt-aggregate (x, nextfri, mean) nextfri é uma função que calcula para um determinado quotDatequot na próxima sexta-feira. Xw é então a série semanal. Linhas (xw, col 4) Observe que a diferença entre a média de rolamento e a série agregada deve-se a alinhamentos diferentes. Isso pode ser alterado alterando o argumento de alinhamento na função rollmean () ou nextfri () na chamada agregada. Este arquivo foi gerado pelo hypermail 2.1.8. Sex 03 mar 2006 - 03:32:43 EST
Comments
Post a Comment