Here's one way to do it with the plyr package: library('plyr') f <- function(df) with(df, data.frame(B = B, E = seq(C, D))) ddply(d, 'A', f)
A corresponding solution with the data.table package would be library('data.table') dt <- data.table(d, key = 'A') dt[, list(B, E = seq(C, D)), by = 'A'] HTH, Dennis On Fri, Oct 7, 2011 at 7:02 AM, darkgaze <donaldn...@gmail.com> wrote: > Hi all, > > Would appreciate help with transforming this: > > A B C D > a 2 1 4 > b 3 3 5 > > into this: > > A B E > a 2 1 > a 2 2 > a 2 3 > a 2 4 > b 3 3 > b 3 4 > b 3 5 > > (C<=E<=D) > > Best, > Don > > -- > View this message in context: > http://r.789695.n4.nabble.com/Expand-dataframe-according-to-limits-defined-per-row-tp3882319p3882319.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > 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.