Eu tenho um grande número de arquivos (1200) que cada um contém um grande timeerie com dados sobre a altura das águas subterrâneas. A data de início e o comprimento da série são diferentes para cada arquivo. Pode haver amplos intervalos de dados entre datas, por exemplo (pequena parte desse arquivo): eu quero calcular a altura média em 5 anos. Então, no caso do exemplo 14-1-1980 5 anos, 14-1-1985 5 anos. A quantidade de pontos de dados é diferente para cada cálculo da média. É muito provável que a data 5 anos depois não esteja no conjunto de dados como um datapoint. Por isso, eu acho que preciso dizer a R de alguma maneira que tome uma média em determinado período de tempo. Procurei na internet, mas não encontrei algo que corresponda às minhas necessidades. Muitos pacotes úteis como o uts, o zoológico, o lubridate e o agregado de funções aprovado. Em vez de me aproximar da solução, fico cada vez mais confuso sobre qual abordagem é a melhor para o meu problema. Muito obrigado perguntou em novembro 5 16 às 17: 41. Estou tentando desenterrar algumas métricas que consideram a confiabilidade com que os clientes se conectam a um serviço. Os dados brutos estão na forma do cliente A, foram colocados em linha no momento X. A conexão é altamente confiável, e eu quero algum tipo de média móvel para mostrar se a conexão está melhorando ou não ao longo do tempo. Os clientes nem sempre estão conectados, então simplesmente sair offline não significa que seja uma falha. Até agora, eu tomei dados e apliquei algumas suposições para ajudar a simplificá-lo, eu suponho que, se um cliente se reconectar dentro de um minuto de desconectá-lo, isso é uma falha. Estes foram modelados como simples implosões, ou seja. O cliente A teve uma falha no momento X. A parte em que estou lutando é como transformar esse gráfico em uma média móvel (estou jogando com R para cortar os números). Eu acredito que eu poderia ser capaz de fazer isso com um filtro passa-baixa, ou usar o pacote do zoológico e o RollMean. No entanto, não sei como lidar com os casos em que o cliente simplesmente não queria estar online. Mover média em séries temporais irregulares gt ----- Mensagem original ----- gt De: email escondido gt mailto: email escondido On Gustavo Rydevik gt Enviado: quinta-feira, 03 de junho de 2010 7:24 gt Para: email escondido Assunto: R média móvel em séries temporais irregulares gt gt Oi tudo, gt gt gt Eu me pergunto se há alguma maneira de calcular um Média móvel em uma série de tempo irregular gt, ou use a função rollapply no zoo gt Eu tenho um conjunto de datas onde eu quero verificar se houve um evento gt 14 dias antes de cada ponto de tempo para marcar esses pontos de tempo para gt Remoção, e não consigo descobrir uma boa maneira de fazê-lo. Gt gt Muito obrigado antecipadamente gt gt Gustaf gt gt gt Exemplo de dados: gt gt exDatalt-structure (list (Databegin structure (c (14476, 14569, gt 14576, 14621, gt 14627, 14632, 14661, 14671, 14705, 14715, 14751, 14756, 14495, gt 14518, 14523, 14526, 14528, 14529, 14545, 14548), class quotDatequot), gt Evento c (VERDADEIRO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO VERDADEIRO, VERDADEIRO, VERDADEIRO, FALSO, FALSO, FALSO, VERDADEIRO, FALSO, FALSO, FALSO)). Nomes c (quotDatabeginquot, quotEventquot gt), rw. names c (NA, 20L), classe quotdata. framequot) gt gt Neste exemplo, a linha 18 é uma data inferior a 14 dias após um evento gt e deve ser marcada para remoção. A seguinte função retorna o número de dias desde o último evento: f lt-function (data) se o conjunto de dados foi ordenado por hora, as chamadas order () no início e no final não seriam necessárias. Lt-order (dataDatebegin) dados lt-datao. Drop FALSE lastEventRow lt - que (dataEvent) cumsum (dataEvent) if (length (lastEventRow) lt length (o)), ou seja, as entradas mais antigas não são eventos lastEventRow lt-c (rep (NA, comprimento (o) - comprimento (lastEventRow)) , LastEventRow) timeSinceLastEvent lt - dataDatebegin - dataDatebeginlastEventRow timeSinceLastEventorder (o) Você pode fazer tmp lt-f (exData) exDatatmpgt14 tmpEvent. DropFALSE para selecionar os eventos e os nonevents mais de duas semanas após um evento. Bill Dunlap Spotfire, TIBCO Software wdunlap tibco gt gt gt - gt Gustaf Rydevik, M. Sci. Gt tel: 46 (0) 703 051 451 gt endereço: Essingetorget 40,112 66 Estocolmo, SE gt skype: gustafrydevik gt gt gt gt email escondido mailing list gt stat. ethz. chmailmanlistinfor-help gt POR FAVOR, leia o guia de postagem gt R-project. Orgposting-guide. html gt e forneça um código comentado, mínimo, autônomo e reprodutível. Gt Abra esta postagem na exibição threaded Denuncie Conteúdo como Reimporâneo inapropriado: média móvel em séries temporais irregulares Em resposta a esta postagem por Gustaf Rydevik Substitua os não-eventos por NA e use na. locf do pacote do zoológico para mover a última data do evento Até dar LastEvent. Em seguida, basta selecionar aquelas linhas cuja última data do evento for pelo menos há 14 dias ou se a linha em si for um evento: biblioteca gt (zoológico) na. locf gt gt lastEvent lt - with (exData, na. locf (ifelse (Event, Datebegin, NA), na. rm FALSE)) gt exDatabeg gt lastEvent 14 exDataEvent, Datebegin Evento 1 2009-08-20 TRUE 2 2009-11-21 FALSE 3 2009-11-28 FALSE 4 2010-01-12 FALSE 5 2010-01 -18 FALSE 6 2010-01-23 FALSE 7 2010-02-21 FALSO 8 2010-03-03 FALSO 9 2010-04-06 FALSO 10 2010-04-16 FALSO 11 2010-05-22 VERDADEIRO 12 2010-05- 27 VERDADE 13 2009-09-08 VERDADEIRO 14 2009-10-01 FALSO 15 2009-10-06 FALSO 16 2009-10-09 FALSO 17 2009-10-11 VERDADEIRO 19 2009-10-28 FALSO 20 2009-10-31 FALSE Em Thu, 3 de junho de 2010 às 10:23, Gustaf Rydevik ltidden email gt escreveu: gt Oi tudo, gt gt gt Eu me pergunto se há alguma maneira de calcular uma média móvel em uma série de tempo irregular gt, ou usar o Função de rollapply no zoo gt Tenho um conjunto de datas em que eu quero verificar se houve um evento gt 14 dias antes de cada ponto de tempo para marcar estes Pontos de tempo para a remoção de gt, e não consigo descobrir uma boa maneira de fazê-lo. Gt gt Muito obrigado antecipadamente gt gt Gustaf gt gt gt Exemplo de dados: gt gt exDatalt-structure (list (Estrutura Datebegin (c (14476, 14569, 14576, 14621, gt 14627, 14632, 14661, 14671, 14705, 14715, 14751 , 14756, 14495, gt 14518, 14523, 14526, 14528, 14529, 14545, 14548), class quotDatequot), gt Evento c (VERDADEIRO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, VERDADEIRO, VERDADEIRO, VERDADEIRO, FALSO, FALSO, FALSO, GTO VERDADEIRO, FALSO, FALSO, FALSO)). Nomes c (quotDatabeginquot, quotEventquot gt), rw. names c (NA, 20L), classe quotdata. framequot) gt gt In Neste exemplo, a linha 18 é uma data inferior a 14 dias após um evento gt e deve ser marcada para remoção. Gt gt gt gt - gt Gustaf Rydevik, M. Sci. Gt tel: 46 (0) 703 051 451 gt endereço: Essingetorget 40,112 66 Estocolmo, SE gt skype: gustafrydevik gt gt gt gt email escondido mailing list 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 comentável, mínimo, autônomo e reprodutível. Gt Abra esta postagem na exibição threaded Denuncie o Conteúdo como inapropriado Re: média móvel em séries temporais irregulares Caro William e Gabor, ambas as soluções funcionaram e meu problema agora está resolvido. Muito obrigado a vocês dois gt gt On Thu, 3 de junho de 2010 às 10:23, Gustaf Rydevik gt lthidden email gt escreveu: gtgt Oi tudo, gtgt gtgt gtgt Eu me pergunto se há alguma maneira de calcular uma média móvel em um Gtgt séries temporais irregulares ou use a função rollapply no zoo gtgt Eu tenho um conjunto de datas em que eu quero verificar se houve um evento gtgt 14 dias antes de cada ponto de tempo para marcar esses pontos de tempo para a remoção de gtgt e não pode Descobrir uma boa maneira de fazê-lo. Gtgt gtgt Obrigado antecipadamente gtgt gtgt gtgt gtgt gtgt gtgt Exemplo de dados: gtgt gtgt exDatalt-structure (list (estrutura Datebegin (c (14476, 14569, 14576, 14621, gtgt 14627, 14632, 14661, 14671, 14705, 14715, 14751 14756, 14495, gtgt 14518, 14523, 14526, 14528, 14529, 14545, 14548), class quotDatequot), gtgt Evento c (VERDADEIRO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, VERDADEIRO, VERDADEIRO, VERDADEIRO, FALSO, FALSO, FALSO, VERDADEIRO, FALSO, FALSO, FALSO)). Nomes c (quotDocumentação, quotEventquot gtgt), r. Nome c (NA, 20L), classe quotdata. framequot) gtgt gtgt In Neste exemplo, a linha 18 é uma data inferior a 14 dias após um evento gtgt e deve ser marcada para remoção. Gtgt gtgt gtgt gtgt - gtgt Gustaf Rydevik, M. Sci. Gtgt tel: 46 (0) 703 051 451 gtgt endereço: Essingetorget 40,112 66 Stockholm, SE gtgt skype: gustafrydevik gtgt gtgt gtgt escondido email mailing list gtgt stat. ethz. chmailmanlistinfor-help gtgt POR FAVOR, leia o guia de postagem R-project. orgposting - guide. html gtgt e forneça um código comentável, mínimo, autônomo e reprodutível. Gtgt gt - Gustaf Rydevik, M. Sci. Tel: 46 (0) 703 051 451 endereço: Essingetorget 40,112 66 Estocolmo, SE skype: gustafrydevik Abrir esta postagem em exibição threaded Denunciar Conteúdo como inapropriado Re: média móvel em séries temporais irregulares Em resposta a esta postagem por Gabor Grothendieck On Thu, Jun 3, 2010 at 8:04 PM, Gabor Grothendieck e-mail ltidden gt escreveu: gt Substitua os não-eventos por NA e use na. locf do pacote do zoo gt para mover a última data do evento para dar lastEvent. Gt Em seguida, basta selecionar as linhas cuja última data do evento é de pelo menos 14 dias atrás ou se a linha em si é um evento: gt gtgt library (zoo) na. locf gtgt gtgt lastEvent lt - with (exData, na. locf (ifelse (Evento , Datebegin, NA), na. rm FALSE)) gtgt exDatabeg gt lastEvent 14 exDataEvent, a última linha deveria ter sido: exDataexDataDatebegin gt lastEvent 14 exDataEvent, gt Datebegin Evento gt 1 2009-08-20 TRUE gt 2 2009-11-21 FALSE gt 3 2009-11-28 FALSE gt 4 2010-01-12 FALSE gt 5 2010-01-18 FALSE gt 6 2010-01-23 FALSE gt 7 2010-02-21 FALSE gt 8 2010-03-03 FALSO gt 9 2010-04-06 FALSE gt 10 2010-04-16 FALSO gt 11 2010-05-22 TRUE gt 12 2010-05-27 TRUE gt 13 2009-09-08 TRUE gt 14 2009-10-01 FALSO gt 15 2009 -10-06 FALSO gt 16 2009-10-09 FALSO gt 17 2009-10-11 VERDADEIRO gt 19 2009-10-28 FALSO gt 20 2009-10-31 FALSO gt gt gt Em Thu, 3 de junho de 2010 às 10: 23 am, Gustaf Rydevik gt lthidden email gt escreveu: gtgt Oi tudo, gtgt gtgt gtgt Eu me pergunto se existe alguma maneira de calcular uma média móvel em uma irregularidade de gtgt Série temporária ou use a função rollapply no zoo gtgt. Eu tenho um conjunto de datas onde eu quero verificar se houve um evento gtgt 14 dias antes de cada ponto do tempo, a fim de marcar esses pontos de tempo para a remoção do gtgt e não pode figurar Uma boa maneira de fazê-lo. Gtgt gtgt Muito obrigado antecipadamente gtgt gtgt gtgt gtgt gtgt gtgt Exemplo de dados: gtgt gtgt exDatalt-structure (list (estrutura Datebegin (c (14476, 14569, 14576, 14621, gtgt 14627, 14632, 14661, 14671, 14705, 14715, 14751 14756, 14495, gtgt 14518, 14523, 14526, 14528, 14529, 14545, 14548), class quotDatequot), gtgt Evento c (VERDADEIRO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, FALSO, VERDADEIRO, VERDADEIRO, VERDADEIRO, FALSO, FALSO, FALSO, VERDADEIRO, FALSO, FALSO, FALSO). Nomes c (quotDatebeginquot, quotEventquot gtgt), rw. names c (NA, 20L), classe quotdata. framequot) gtgt gtgt In Neste exemplo, a linha 18 é uma data inferior a 14 dias após um evento gtgt e deve ser marcada para remoção. Gtgt gtgt gtgt gtgt - gtgt Gustaf Rydevik, M. Sci. Gtgt tel: 46 (0) 703 051 451 gtgt endereço: Essingetorget 40,112 66 Stockholm, SE gtgt skype: gustafrydevik gtgt gtgt gtgt escondido email mailing list gtgt stat. ethz. chmailmanlistinfor-help gtgt POR FAVOR, leia o guia de postagem R-project. orgposting - guide. html gtgt e forneça um código comentável, mínimo, autônomo e reprodutível. Gtgt gt
No comments:
Post a Comment