Wednesday 29 November 2017

Ddply media móvel


Eu sou um novato e estou tendo muitos problemas para fazer algo que provavelmente é muito simples. Eu tenho um grande conjunto de dados dividido em grupos por código de país, e eu quero fazer uma média móvel de 3 meses de um índice de preços, por país, e depois colocá-lo em uma nova coluna que corresponde ao mês apropriado. Eu tenho tentado usar rollmean assim sem sucesso (código e mensagens de erro abaixo): qualquer ajuda seria muito apreciada perguntou Mar 10 12 às 6:42 Na sua primeira tentativa, sua função não usa seu argumento x e sempre retorna O mesmo (um vetor com o tamanho errado). Além disso, o primeiro argumento, deve ser um vetor. Por fim, ela retorna uma lista de vetores: você não pode colocar o resultado diretamente em um data. frame. No seu segundo exemplo, o terceiro argumento de plyr deve ser uma função, não uma expressão. Se você quiser usar uma expressão, você pode usar resumir ou transformar como uma função (resumir retorna uma data. frame de 1 linha para cada valor de ccode. Enquanto a transformação mantém o número de linhas inalteradas) e colocar as expressões como argumentos adicionais . Respondeu 10 de março às 7: 03Tendo um acompanhamento longitudinal das gravações da pressão arterial. O valor em um determinado ponto é menos preditivo do que a média móvel (média de rolamento), e é por isso que a Id gosta de calculá-lo. Os dados parecem Id como calcular uma nova variável, chamada BLOODPRESSUREUPDATED. Esta variável deve ser a média móvel para BLOODPRESSURE e tem as seguintes características: Uma média móvel é o valor atual mais o valor anterior dividido por dois. Para a primeira observação, o BLOODPRESSUREUPDATED é apenas a atual BLOODPRESSURE. Se isso estiver faltando, BLOODPRESSUREUPDATED deve ser a média geral. Valores em falta devem ser preenchidos com o valor anterior mais próximo. Eu tentei o seguinte: também tentei rollaply e rollmeanr sem ter sucesso. Eu agradeço alguma ajuda. Perguntou Oct 5 14 às 0:45 Ao calcular a média móvel, o número de elementos retornados é menor do que o número de linhas dos dados, ou seja, apenas os elementos quotn-1quot são retornados. Assim, pode estar causando o problema aqui. Ou você consideraria adicionar a coluna média móvel separadamente, como: test2BLOODPRESSUREUPDATED lt - with (test2, c (média (BLOODPRESSURE, na. rm T), rollapply (BLOODPRESSURE, 2, mean, na. rm T))) ndash KFB Oct 5 14 às 3:40 Obrigado pelo esforço KFB. Infelizmente não funcionou. Eu tentei algumas versões editadas também. Talvez as funções do zoológico não sejam adequadas para isso. Eu codifiquei o seguinte que funciona: test5 lt-test test5UM lt-rep (NA, nrow (test5)) test5first lt-duplicated (test5ID) para (i in 1: nrow ( Test5)) else test5 Mas é incrivelmente lento. Ndash Adam Robinsson 5 de outubro 14 em 7: 09plyr Filtro médio móvel com plyr Oi, pode ser isso ajuda: lst1lt-dlply (dados,. (FileNo, ChannelNo), transformar, filterapplyfilter (ChannelB)) data2lt-do. call (rbind, Lapply (lst1, function (x))) row. names (data2) lt - row. names (dados) cabeça (dados, 3) Canal de TempoA ChannelB FileNo ChannelNo 1161 1.83214e-05 4.527559 6.873434 1 1 1171 2.36814e-05 4.881890 13.602919 1 1 1181 2.90414e-05 4.803150 21.092224 1 1 cabeça (dados2,3) Canal de TempoA CanalB FicheiroNão CanalNão Filtrado 1161 1.83214e-05 4.527559 6.873434 1 1 NA 1171 2.36814e-05 4.881890 13.602919 1 1 NA 1181 2.90414e-05 4.803150 21.092224 1 1 17.04348 AK ----- Mensagem Original ----- De: Ingo Reinhold ltidden email gt Para: quotidden email quot lthidden email gt Cc: Enviado: terça-feira, 27 de agosto de 2017 9:17 Assunto: R plyr Mudança de filtro médio com plyr Estou preso a um problema usando o plyr para processar uma lixeira bastante grande. O que estou tentando fazer é aplicar uma média móvel a todas as sub-partes do quadro de dados (os dados de exemplo podem ser encontrados aqui dl. dropboxusercontentu2414056testData. Rdata). Applyfilterlt-function (x) return (filtro (x, rep (15, times5))) data. trashlt-ddply (dados. (FileNo, ChannelNo), transformar, filterapplyfilter (ChannelB)) O resultado disso é Erro em atributos ( Outputvar) lt-attributes (value). Parâmetros da série de tempo inválidos especificados, porém o número de valores de retorno parece-me certo. Você tem algum pensamento ou sugestão alternativa versão HTML excluída lista de correio eletrônico escondido stat. ethz. chmailmanlistinfor-help POR FAVOR, leia o guia de publicação R-project. orgposting-guide. html e forneça um código comentado, mínimo, autônomo e reprodutível. Ou data2lt-ddply (dados,. (FileNo, ChannelNo), transformar, filtersedas. numeric (applyfilter (ChannelB))) A. K. ----- Mensagem Original ----- De: arun lthidden email gt Para: Ingo Reinhold e-mail ltc gt Cc: R ajuda lthidden email gt Enviada: terça-feira, 27 de agosto de 2017 10:03 Assunto: Re: R plyr Filtro médio móvel com plyr Oi, pode ser que isso ajude: lst1lt-dlply (dados,. (FileNo, ChannelNo), transformar, filterapplyfilter (ChannelB)) data2lt-do. call (rbind, lapply (lst1, function (x))) Row. names (data2) lt - row. names (data) head (dados, 3) Time ChannelA ChannelB FileNo ChannelNo 1161 1.83214e-05 4.527559 6.873434 1 1 1171 2.36814e-05 4.881890 13.602919 1 1 1181 2.90414e-05 4.803150 21.092224 1 1 cabeça (dados2,3) Canal de TempoA CanalB FicheiroNão CanalNão Filtrado 1161 1.83214e-05 4.527559 6.873434 1 1 NA 1171 2.36814e-05 4.881890 13.602919 1 1 NA 1181 2.90414e-05 4.803150 21.092224 1 1 17.04348 AK ----- Mensagem Original ----- De: Ingo Reinhold ltidden email gt Para: quotidden email quot lthidden email gt Cc: Enviado: terça-feira, 27 de agosto de 2017 9:17 Assunto: R plyr Mudança de filtro médio com plyr Estou preso a um problema usando o plyr para processar uma lixeira bastante grande. O que estou tentando fazer é aplicar uma média móvel a todas as sub-partes do quadro de dados (os dados de exemplo podem ser encontrados aqui dl. dropboxusercontentu2414056testData. Rdata). Applyfilterlt-function (x) return (filtro (x, rep (15, times5))) data. trashlt-ddply (dados. (FileNo, ChannelNo), transformar, filterapplyfilter (ChannelB)) O resultado disso é Erro em atributos ( Outputvar) lt-attributes (value). Parâmetros da série de tempo inválidos especificados, porém o número de valores de retorno parece-me certo. Você tem algum pensamento ou sugestão alternativa versão HTML excluída lista de correio eletrônico escondido stat. ethz. chmailmanlistinfor-help POR FAVOR, leia o guia de publicação R-project. orgposting-guide. html e forneça um código comentado, mínimo, autônomo e reprodutível. Muito obrigado. Mas por que isso é? A função aplicarfilter deve retornar um resultado numérico, não deveria Ingo From: arun email escondido Enviado: terça-feira, 27 de agosto de 2017 4:06 PM Para: Ingo Reinhold Cc: R ajuda Assunto: Re: R plyr Mudança de filtro médio Com plyr ou data2lt-ddply (dados,. (FileNo, ChannelNo), transform, filtersedas. numeric (applyfilter (ChannelB))) AK ----- Mensagem Original ----- De: arun lthidden email gt Para: Ingo Reinhold e-mail ltc gt Cc: R ajuda lthidden email gt Enviada: terça-feira, 27 de agosto de 2017 10:03 Assunto: Re: R plyr Filtro médio móvel com plyr Oi, pode ser que isso ajude: lst1lt-dlply (dados,. (FileNo, ChannelNo), transformar, filterapplyfilter (ChannelB)) data2lt-do. call (rbind, lapply (lst1, function (x))) Row. names (data2) lt - row. names (data) head (dados, 3) Time ChannelA ChannelB FileNo ChannelNo 1161 1.83214e-05 4.527559 6.873434 1 1 1171 2.36814e-05 4.881890 13.602919 1 1 1181 2.90414e-05 4.803150 21.092224 1 1 cabeça (dados2,3) Canal de TempoA CanalB FicheiroNão CanalNão Filtrado 1161 1.83214e-05 4.527559 6.873434 1 1 NA 1171 2.36814e-05 4.881890 13.602919 1 1 NA 1181 2.90414e-05 4.803150 21.092224 1 1 17.04348 AK ----- Mensagem Original ----- De: Ingo Reinhold ltidden email gt Para: quotidden email quot lthidden email gt Cc: Enviado: terça-feira, 27 de agosto de 2017 9:17 Assunto: R plyr Mudança de filtro médio com plyr Estou preso a um problema usando o plyr para processar uma lixeira bastante grande. O que estou tentando fazer é aplicar uma média móvel a todas as sub-partes do quadro de dados (os dados de exemplo podem ser encontrados aqui dl. dropboxusercontentu2414056testData. Rdata). Applyfilterlt-function (x) return (filtro (x, rep (15, times5))) data. trashlt-ddply (dados. (FileNo, ChannelNo), transformar, filterapplyfilter (ChannelB)) O resultado disso é Erro em atributos ( Outputvar) lt-attributes (value). Parâmetros da série de tempo inválidos especificados, porém o número de valores de retorno parece-me certo. Você tem algum pensamento ou sugestão alternativa versão HTML excluída lista de correio eletrônico escondido stat. ethz. chmailmanlistinfor-help POR FAVOR, leia o guia de publicação R-project. orgposting-guide. html e forneça um código comentado, mínimo, autônomo e reprodutível. Str (lst1) Lista de 10 1.1: data. frame: 783 obs. De 6 variáveis:. Tempo. Num 1: 783 1.83e-05 2.37e-05 2.90e-05 5.06e-04 5.11e-04. . ChannelA. Num 1: 783 4,53 4,88 4,8 3,58 3,58. . ChannelB. Num 1: 783 6,87 13,6 21,09 22,09 21,55. . Sem Arquivo. Num 1: 783 1 1 1 1 1 1 1 1 1 1.. ChannelNo: num 1: 783 1 1 1 1 1 1 1 1 1 1.. Filtrada. Time-Series 1: 783 de 1 a 783: NA NA 17 19,8 21,2. Retorna uma série de tempo. Você pode ter que alterar a função: applyfilterlt-function (x) return (as. numeric (filter (x, rep (15, times5)))) data. trashlt-ddply (dados. (FileNo, ChannelNo), transformar, filterapplyfilter (ChannelB)) head (data. trash) Time ChannelA ChannelB FileNo ChannelNo filtrada 1 0.0000183214 4.527559 6.873434 1 1 NA 2 0.0000236814 4.881890 13.602919 1 1 NA 3 0.0000290414 4.803150 21.092224 1 1 17.04348 4 0.0005060814 3.582677 22.094999 1 1 19.84974 5 0.0005114414 3.582677 21.553814 1 1 21.21485 6 0.0005168014 3.582677 20.904732 1 1 20.96478 ----- Mensagem Original ----- De: Ingo Reinhold email ltc gt Para: arun lthidden email gt Cc: R ajuda lthidden email gt Enviado: terça 27 de agosto de 2017 10: 32 AM Assunto: RE: R plyr Mudança de filtro médio com plyr Muito obrigado. Mas por que isso é? A função aplicarfilter deve retornar um resultado numérico, não deveria Ingo From: arun email escondido Enviado: terça-feira, 27 de agosto de 2017 4:06 PM Para: Ingo Reinhold Cc: R ajuda Assunto: Re: R plyr Mudança de filtro médio Com plyr ou data2lt-ddply (dados,. (FileNo, ChannelNo), transform, filtersedas. numeric (applyfilter (ChannelB))) AK ----- Mensagem Original ----- De: arun lthidden email gt Para: Ingo Reinhold e-mail ltc gt Cc: R ajuda lthidden email gt Enviada: terça-feira, 27 de agosto de 2017 10:03 Assunto: Re: R plyr Filtro médio móvel com plyr Oi, pode ser que isso ajude: lst1lt-dlply (dados,. (FileNo, ChannelNo), transformar, filterapplyfilter (ChannelB)) data2lt-do. call (rbind, lapply (lst1, function (x))) Row. names (data2) lt - row. names (data) head (dados, 3) Time ChannelA ChannelB FileNo ChannelNo 1161 1.83214e-05 4.527559 6.873434 1 1 1171 2.36814e-05 4.881890 13.602919 1 1 1181 2.90414e-05 4.803150 21.092224 1 1 cabeça (dados2,3) Canal de TempoA CanalB FicheiroNão CanalNão Filtrado 1161 1.83214e-05 4.527559 6.873434 1 1 NA 1171 2.36814e-05 4.881890 13.602919 1 1 NA 1181 2.90414e-05 4.803150 21.092224 1 1 17.04348 AK ----- Mensagem Original ----- De: Ingo Reinhold ltidden email gt Para: quotidden email quot lthidden email gt Cc: Enviado: terça-feira, 27 de agosto de 2017 9:17 Assunto: R plyr Mudança de filtro médio com plyr Estou preso a um problema usando o plyr para processar uma lixeira bastante grande. O que estou tentando fazer é aplicar uma média móvel a todas as sub-partes do quadro de dados (os dados de exemplo podem ser encontrados aqui dl. dropboxusercontentu2414056testData. Rdata). Applyfilterlt-function (x) return (filtro (x, rep (15, times5))) data. trashlt-ddply (dados. (FileNo, ChannelNo), transformar, filterapplyfilter (ChannelB)) O resultado disso é Erro em atributos ( Outputvar) lt-attributes (value). Parâmetros da série de tempo inválidos especificados, porém o número de valores de retorno parece-me certo. Você tem algum pensamento ou sugestão alternativa versão HTML excluída lista de correio eletrônico escondido stat. ethz. chmailmanlistinfor-help POR FAVOR, leia o guia de publicação R-project. orgposting-guide. html e forneça um código comentado, mínimo, autônomo e reprodutível.

No comments:

Post a Comment