Message-ID: <AANLkTikjpK1iATddj7q1QvHBUwRZ+AP==ma17jjdwDFU@mail.gmail.com>
Date: 2011-01-18T15:22:06Z
From: Joshua Ulrich
Subject: to append a column to a data frame, has I use loop/if in my case?
In-Reply-To: <73c208b3.e917.12d947d04dc.Coremail.daniel_wu_r@163.com>
Please do not cross post: http://stackoverflow.com/q/4720076/271616
At the minimum, it would be polite to respond here with the answer you
accepted on Stack Overflow.
--
Joshua Ulrich ?| ?FOSS Trading: www.fosstrading.com
On Mon, Jan 17, 2011 at 8:59 AM, Daniel Wu <daniel_wu_r at 163.com> wrote:
> days=Sys.Date()-1:70
> price=abs(rnorm(70))
> regular=rep(c(0,0,0,0,1,0,1,0,0,1),c(7,7,7,7,7,7,7,7,7,7))
> y=data.frame(cbind(days,price,regular))
>
>
> y is like
> ? ?days ? ? ?price regular
> 1 ?14990 0.16149463 ? ? ? 0
> 2 ?14989 1.69519358 ? ? ? 0
> 3 ?14988 1.57821998 ? ? ? 0
> 4 ?14987 0.47614311 ? ? ? 0
> 5 ?14986 0.87016180 ? ? ? 0
> 6 ?14985 2.55679229 ? ? ? 0
> 7 ?14984 0.89753533 ? ? ? 0
>
>
> the output I want:
> have another column appended to y, whose value is the max price in the recent 2 **regular** weeks.
> So if the current row is today, then get the max price of the past 14 days (including today) if the last 2 week are regular weeks, ?if one of the last 2 weeks is not regular week, then I need to go back further to find the max price, as I need the max price for the last 2 **regular** weeks. How can I do that? Or I have to use loop/if to do it?
>
>
>
>
> BTW, why the days is like 14990,14989, after cbind(days,price,regular)? before the cbind, days is like the format "2010-12-23".
> ? ? ? ?[[alternative HTML version deleted]]
>
> ______________________________________________
> 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.
>