Here is one possibility: tmp <- sample(c('R','L'), 100, replace=TRUE) tmp2 <- rle(tmp) tmp3 <- sapply( 1:length(tmp2$values), function(i) paste( rep(tmp2$values[i], tmp2$lengths[i]), collapse='') ) table(tmp3)
the rle function computes the run lengths, the sapply line converts those results into things like "LLL", then table just counts them up. Hope this helps, -- Gregory (Greg) L. Snow Ph.D. Statistical Data Center Intermountain Healthcare greg.s...@imail.org 801.408.8111 > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-boun...@r- > project.org] On Behalf Of Simon Boardman > Sent: Friday, May 07, 2010 4:30 AM > To: r-help@r-project.org > Subject: [R] Transforming sequence data into numeric values. > > Hi I am analysing from a behavioural experiment comparing left and > right > turns of snails. > > Basically I end up with a list of twenty values like this: > > R > R > R > L > R > L > L > L > L > R > R > R > R > L > L > L > R > L > R > L > > I want to analyse runs of turns but would like to automate how this is > processed and end up with a table that displays the frequency of the > sequences (L, LL, LLL, R, RR, RRR etc). > > Is it possible to construct something like this using R and how would I > go > about doing it? > > Thanks > > Simon Boardman > > [[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. ______________________________________________ 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.