Yuri Duarte,Apesar de outras soluções possíveis, acredito que a mais simples seja através da função “rollsum” do pacote “zoo”, como neste exemplo:require(zoo)### Vetor qualquerVA <- rnorm(n = 200,mean = 100,sd = 1)# Soma móvel de quarenta valoresMovingSum <- rollsum(VA,40)##Caso seja de sua preferência realizar a soma com o loop mesmo:### Soma loop# quantidade de valores a serem somadosjanela <- 40# Criação do vetor de resultadosMsum <- c()for(i in 1:(length(VA)-janela+1)){# vetor com os valores de interesseA <- VA[i:(i+39)]Msum[i] <- sum(A)}##Espero que ter entendido a sua dúvida e ajudado!Att,-------Jaildo Rocha
Mestrando pelo Programa Pós Graduação em Saneamento Meio Ambiente e Recursos Hídricos – UFMGEm 07/03/2016, à(s) 08:41, Yury Duarte <yurynepomuceno@gmail.com> escreveu:_______________________________________________Bom dia colegas de R!Preciso somar uma serie de dados com tamanho definido igual a "a" repetições.Tentei usar o comando for() para realizar essa tarefa e somar os valores de x1 até xa; x2 até x(a+1) e assim sucessivamente até xn.Usando a estrutura básica da função soma fora do comando for não tive problemas:sum(Nasa$PP.Liquida[1:140])Quando tentei aplicar esse formato no comando for não consegui ter sucesso:PP = for(i in Nasa$PP.Liquida){sum(Nasa$PP.Liquida[i:(i+139)])}Acredito que possa ser um problema de entendimento conceitual do funcionamento desse comando.Alguém poderia me ajudar nessa questão?Desde já, agradeço a todos pelo apoio!AttYury DuarteEngenheiro Agrônomo - ESALQ/USP
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
_______________________________________________
R-br mailing list
R-br@listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.