
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 qualquer VA <- rnorm(n = 200,mean = 100,sd = 1) # Soma móvel de quarenta valores MovingSum <- rollsum(VA,40) ## Caso seja de sua preferência realizar a soma com o loop mesmo: ## # Soma loop # quantidade de valores a serem somados janela <- 40 # Criação do vetor de resultados Msum <- c() for(i in 1:(length(VA)-janela+1)){ # vetor com os valores de interesse A <- 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 – UFMG
Em 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!
Att
Yury Duarte Engenheiro 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.