[R] Odp: to append a column to a data frame, has I use loop/if in my case?
petr.pikal at precheza.cz
Tue Jan 18 15:26:41 CET 2011
r-help-bounces at r-project.org napsal dne 17.01.2011 15:59:37:
> 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
> 2 **regular** weeks.
I have no idea what is regular week. Seems to me that you seek some
rolling maxima for which I suggest to consult package zoo and its function
> So if the current row is today, then get the max price of the past 14
> (including today) if the last 2 week are regular weeks, if one of the
> weeks is not regular week, then I need to go back further to find the
> price, as I need the max price for the last 2 **regular** weeks. How can
> that? Or I have to use loop/if to do it?
> BTW, why the days is like 14990,14989, after cbind(days,price,regular)?
> the cbind, days is like the format "2010-12-23".
> [[alternative HTML version deleted]]
cbind binds together three vectors and makes a matrix. Matrix can have
only values of only one type. Therefore it strips off days to underlying
numeric representation. If you want to know more about R objects and their
properties you could read R intro.
num [1:70, 1:3] 14991 14990 14989 14988 14987 ...
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:3] "days" "price" "regular"
> R-help at r-project.org mailing list
> PLEASE do read the posting guide
> and provide commented, minimal, self-contained, reproducible code.
More information about the R-help