Expand dataframe according to limits defined per row
d <- data.frame(A=c("a","b"), B=2:3, C=c(1,3), D=c(4,5))
lengths <- 1 + d$D - d$C
cbind(d[rep(seq_along(lengths), lengths),c("A","B")], E=unlist(lapply(seq_along(lengths), function(i)seq(from=d$C[i], to=d$D[i]))))
A B E 1 a 2 1 1.1 a 2 2 1.2 a 2 3 1.3 a 2 4 2 b 3 3 2.1 b 3 4 2.2 b 3 5 Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com
-----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of darkgaze Sent: Friday, October 07, 2011 7:03 AM To: r-help at r-project.org Subject: [R] Expand dataframe according to limits defined per row 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 at 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.