[R] data.frame: temporal complexity

jim holtman jholtman at gmail.com
Fri Jan 6 16:42:27 CET 2012


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 <razuki at 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 at 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.



More information about the R-help mailing list