Monday 18 December 2017

Média móvel em r


Médias móveis em R No meu melhor conhecimento, R não possui uma função interna para calcular as médias móveis. Usando a função de filtro, no entanto, podemos escrever uma função curta para médias móveis: podemos então usar a função em qualquer dado: mav (dados) ou mav (dados, 11) se quisermos especificar um número diferente de pontos de dados Do que o traçado padrão 5 funciona como esperado: plot (mav (data)). Além do número de pontos de dados sobre os quais a média, também podemos alterar o argumento lateral das funções de filtro: sides2 usa ambos os lados, sides1 usa apenas valores passados. Compartilhe isto: Publicar navegação Comentar navegação Comentar navigationgt mav (c (4,5,4,6), 3) Série temporal: Iniciar 1 Final 4 Frequência 1 1 NA 4.333333 5.000000 NA Aqui estava tentando fazer uma média móvel que levou a Conta os últimos 3 números, então eu esperava obter apenas dois números de volta 8211 4.333333 e 5 8211 e se houvesse valores de NA, pensei que eles deveriam estar no início da seqüência. Na verdade, isso é o que o parâmetro 8216sides8217 controla: lados apenas para filtros de convolução. Se os lados 1 os coeficientes de filtro são para valores passados ​​apenas se os lados 2 estiverem centrados em torno de lag 0. Neste caso, o comprimento do filtro deve ser estranho, mas se for uniforme, mais do filtro está em frente do que para trás. Portanto, na nossa função 8216mav8217, a média de rolamento parece ter ambos os lados do valor atual em vez de apenas em valores passados. Nós podemos ajustar isso para obter o comportamento que queremos: gt library (zoo) gt rollmean (c (4,5,4,6), 3) 1 4.333333 5.000000 Eu também percebi que posso listar todas as funções em um pacote com o 8216ls8217 Função, então eu vou estar procurando digitalizar a lista de funções da zoo8217s na próxima vez que eu precisar fazer algumas séries temporais relacionadas 8211 there8217ll provavelmente já é uma função para ela gt ls (quotpackage: zooquot) 1 quotas. Datequot quotas. Date. numericquot quotas. Date. tsquot 4 Quotas. Date. yearmonquot quotas. date. yearqtrquot quotas. yearmonquot 7 quotas. yearmon. defaultquot quotas. yearqtrquot quotas. yearqtr. defaultquot 10 quotas. zooquot quotas. zoo. defaultquot quotas. zooregquot 13 quotas. zooreg. defaultquot quotautoplot. zooquot quotcbind. Zooquot 16 quotcoredataquot quatcoredata. defaultquot quotcoredatalt-quot 19 quotfacetfreequot quotformat. yearqtrquot quotfortify. zooot 22 quotfrequencylt-quet quotifelse. zooot quotindexquot 25 quotindexlt-quotindex2charquot quotis. regularquot 28 quotis. zooquot quotmake. par. listquot q UotMATCHquot 31 quatMATCH. defaultquot quatMATCH. timesquot quimedial. zoootot 34 quotmerge. zooquot quotna. aggregatequot quotna. aggregate. defaultquot 37 quotna. approxquot quotna. approx. defaultquot quotna. fillquot 40 quotna. fill. defaultquot quotna. locfquot quotna. locf. defaultquot 43 Quotna. splinequot quotna. spline. defaultquot quotna. StructTSquot 46 quotna. trimquot quotna. trim. defaultquot quotna. trim. tsquot 49 quotORDERquot quotORDER. defaultquot quotpanel. lines. itsquot 52 quotpanel. lines. tisquot quotpanel. lines. tsquot quotpanel. lines. Zooquot 55 quotpanel. plot. customquot quotpanel. plot. defaultquot quotpanel. points. itsquot 58 quotpanel. points. tisquot quotpanel. points. tsquot quotpanel. points. zooot 61 quotpanel. polygon. itsquot quotpanel. polygon. tisquot quotpanel. polygon. tsquot 64 Quotpanel. polygon. zooquot quotpanel. rect. itsquot quotpanel. rect. tisquot 67 quotpanel. rect. tsquot quotpanel. rect. zooot quotpanel. segments. itsquot 70 quotpanel. segments. tisquot quotpanel. segments. tsquot quotpanel. se Gments. zooot 73 quotpanel. text. itsquot quotpanel. text. tisquot quotpanel. text. tsquot 76 quotpanel. text. zooquot quotplot. zooquot quotquantile. zoootot 79 quotrbind. zooquot quotread. zooquot quotrev. zooot 82 quotrollapplyquot quotrollapplyrquot quotrollmaxquot 85 quotrollmax. defaultquot quotrollmaxrquot quotrollmeanquot 88 quotrollmean. defaultquot quotrollmeanrquot quotrollmedianquot 91 quotrollmedian. defaultquot quotrollmedianrquot quotrollsumquot 94 quotrollsum. defaultquot quotrollsumrquot quotscalexyearmonquot 97 quotscalexyearqtrquot quotscaleyyearmonquot quotscaleyyearqtrquot 100 quotSys. yearmonquot quotSys. yearqtrquot quottimelt-quot 103 quotwrite. zooquot quotxblocksquot quotxblocks. defaultquot 106 quotxtfrm. zooquot quotyearmonquot quotyearmontransquot 109 quotyearqtrquot quotyearqtrtransquot Quotzooot 112 quotzooregquot Be Sociable, ShareComo calcular a média móvel sem usar o filtro () Há um zilhão de respostas para isso, porque a sua pergunta é realmente: como eu aliso um Séries temporais 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 excluída

No comments:

Post a Comment