Thanks dennis, It worked but I had to do some simple modifications to get to the ultimate format. Now I have a list in the following format $A 2004 2005 2006 2007 2008 2009 2010 .. ... ... .. ...
$AY 1967 1968 .... 2000........... some columns had 365 rows and some 366. those with 365 rows had their 366 row as NA. Now I want to apply approx. command to interpolate 366 values to 365, but when I apply approx command I gives out something which is with $x and $y, and frankly speaking it messed up everything. Is their a way that i do it neatly without getting the format deteriorated? In any way, thank-you very much indeed. Eliza > Date: Fri, 13 Jun 2014 11:11:37 -0700 > Subject: Re: [R] data format setting > From: djmu...@gmail.com > To: eliza_bo...@hotmail.com > > Hi: > > Maybe something like this: > > library(reshape2) > L <- split(DF, DF$year) > L2 <- llply(L, function(d) dcast(d, month + day ~ year, value.var = > "discharge")) > > Obviously untested, so caveat emptor. The idea is to use the dcast > function to reshape the data from long to wide format within year. > > Dennis > > On Fri, Jun 13, 2014 at 8:55 AM, eliza botto <eliza_bo...@hotmail.com> wrote: > > > > Dear R family, > > I hope you all be doing great. I have a dataset of following format. The > > data file is of the following format. > > > > st year month day discharge > > 1 A 2004 1 1 6.752828 > > 2 A 2004 1 2 7.602053 > > 3 A 2004 1 3 5.583619 > > 4 A 2004 1 4 5.019562 > > 5 A 2004 1 5 4.804489 > > 6 A 2004 1 6 4.363541 > > 7 A 2004 1 7 3.801333 > > 8 A 2004 1 8 3.455991 > > 9 A 2004 1 9 3.402634 > > 10 A 2004 1 10 3.250693 > > ...... > > ...... > > continue > > ...... > > ...... > > st year month day discharge > > 20000 AY 1967 10 3 0.56 > > 20001 AY 1967 10 4 0.56 > > 20002 AY 1967 10 5 0.48 > > 20003 AY 1967 10 6 0.56 > > 20004 AY 1967 10 7 0.48 > > 20005 AY 1967 10 8 0.40 > > 20006 AY 1967 10 9 0.40 > > 20007 AY 1967 10 10 0.56 > > 20008 AY 1967 10 11 0.56 > > 20009 AY 1967 10 12 0.65 > > 20010 AY 1967 10 13 0.85 > > > > you can see that there are five columns. > > The first column has the name of the station. I want to split the data > > w.r.t the names of the stations. Each station has data for certain years. > > for example "A" has data for years from 2004 to 2010 and for "AY" its from > > 1967 to 2000.similarly for other years there is data for different number > > of years. > > I want to make a list of matrices each containing the data for that station > > in the following format > > $A > > 2004 2005 2006 2007 2008 2009 2010 > > .. > > ... > > ... > > .. > > ... > > > > $AY > > > > 1967 1968 .... 2000 > > > > each column should have 365 to 366 values depending on whether there is a > > leap year or not. obviously for non-leap years 366th row should be an NA. > > kindly help me on it. > > Thankyou very much in advance. > > Eliza > > > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > 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. [[alternative HTML version deleted]] ______________________________________________ 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.