Mohammad Ehsanul Karim
2005-Mar-11 11:07 UTC
[R] Calculating lengths of runs of 0 or 1 sequences in meteorological data
Dear List Members, I need some help about programming in S language. My problem is as follows: I have meteorological data (about rainfall measurement each day from 1989-2002), say like http://www.angelfire.com/ab5/get5/data.rainfall.txt or http://www.angelfire.com/ab5/get5/R.rainfall.txt in a sequence of 0(denoting dry day)'s and 1(denoting wet day)'s. I want to construct a frequency distribution table of various lengths (1,2,3,4,5,6,7,8,9,or more) of observed wet spells (number of successive 1's) and dry spells (number of successive 0's) occurring in data. How should i proceed? Is there any existing program/function/package to solve such problem (seems like the algorithm should be similar to statistical run test)? Any suggestion, direction, references, help, replies will be highly appreciated. Thank you for your time. _____________________________ Mohammad Ehsanul Karim E-mail: wildscop at yahoo.com Web: http://snipurl.com/ehsan ISRT, University of Dhaka, BD
Detlef Steuer
2005-Mar-11 11:22 UTC
[R] Calculating lengths of runs of 0 or 1 sequences in meteorological data
Mohammad, ?rle is your friend, I guess. Detlef On Fri, 11 Mar 2005 03:07:56 -0800 (PST) Mohammad Ehsanul Karim <wildscop at yahoo.com> wrote:> Dear List Members, > > I need some help about programming in S language. My > problem is as follows: > > I have meteorological data (about rainfall measurement > each day from 1989-2002), say like > http://www.angelfire.com/ab5/get5/data.rainfall.txt > or http://www.angelfire.com/ab5/get5/R.rainfall.txt > in a sequence of 0(denoting dry day)'s and 1(denoting > wet day)'s. I want to construct a frequency > distribution table of various lengths > (1,2,3,4,5,6,7,8,9,or more) of observed wet spells > (number of successive 1's) and dry spells (number of > successive 0's) occurring in data. > > How should i proceed? Is there any existing > program/function/package to solve such problem (seems > like the algorithm should be similar to statistical > run test)? > > Any suggestion, direction, references, help, replies > will be highly appreciated. > > Thank you for your time. > > _____________________________ > > Mohammad Ehsanul Karim > E-mail: wildscop at yahoo.com > Web: http://snipurl.com/ehsan > ISRT, University of Dhaka, BD > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
(Ted Harding)
2005-Mar-11 11:37 UTC
[R] Calculating lengths of runs of 0 or 1 sequences in meteo
On 11-Mar-05 Mohammad Ehsanul Karim wrote:> Dear List Members, > > I need some help about programming in S language. My > problem is as follows: > > I have meteorological data (about rainfall measurement > each day from 1989-2002), say like > http://www.angelfire.com/ab5/get5/data.rainfall.txt > or http://www.angelfire.com/ab5/get5/R.rainfall.txt > in a sequence of 0(denoting dry day)'s and 1(denoting > wet day)'s. I want to construct a frequency > distribution table of various lengths > (1,2,3,4,5,6,7,8,9,or more) of observed wet spells > (number of successive 1's) and dry spells (number of > successive 0's) occurring in data. > > How should i proceed? Is there any existing > program/function/package to solve such problem (seems > like the algorithm should be similar to statistical > run test)? > > Any suggestion, direction, references, help, replies > will be highly appreciated.The function 'rle' will do what you ask: see ?rle For example, if X is your sequence of 0s and 1s, table(rle(X)$lengths) will produce a frequency table of lengths of runs. E.g. X<-sample(c(0,1),5000,replace=TRUE) table(rle(X)$lengths) 1 2 3 4 5 6 7 8 9 10 11 1181 644 333 168 83 35 15 5 3 3 3 (But -- see recent postings -- be careful about using hist(rle(X)$lengths) !!!) Hoping this helps, Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk> Fax-to-email: +44 (0)870 094 0861 Date: 11-Mar-05 Time: 11:37:50 ------------------------------ XFMail ------------------------------