Try this:

> df <- data.frame(power = runif(10000))
> # add difference
> diffGap <- 2
> df$diff <- c(rep(NA, diffGap), head(df$power, -diffGap) - tail(df$power, 
> -diffGap))
> head(df, 10)
        power        diff
1  0.86170585          NA
2  0.90672473          NA
3  0.96868367 -0.10697782
4  0.44199262  0.46473211
5  0.48593923  0.48274443
6  0.99409592 -0.55210330
7  0.72790728 -0.24196804
8  0.38070013  0.61339579
9  0.69913680  0.02877047
10 0.07902925  0.30167088
>


On Fri, Jan 6, 2012 at 9:39 AM, ikuzar <raz...@hotmail.fr> wrote:
> Hello,
>
> I created a data.frame which contains two columns: df$P (Power) et
> df$DateTime (time). I'd like to add a new column df$diffP (difference of
> Power between T and T-2).
>
> I made a loop :
>
> for (i in 3:length(df$DateTime)){
>    df$diffP[i] = df$P[i] - df$P[i-2]
> }
> execution time result is unaceptable: 24s !!
>
> Is there any way to reduce complexity about O(n) ? for example 2 or 3s (10s
> maxi)
>
> Does anybody find better than ~24s ?
>
> thanks for your help
>
> --
> View this message in context: 
> http://r.789695.n4.nabble.com/data-frame-temporal-complexity-tp4269585p4269585.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



-- 
Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to