Monday 21 August 2017

Ddply Moving Average


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 tentei 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, tapply 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 um 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: 03. Tenho 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á-la. 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 que o número de linhas dos dados, ou seja, apenas retornam os elementos quotn-1quot. 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 às 07:09

No comments:

Post a Comment