[R] Expand dataframe according to limits defined per row

William Dunlap wdunlap at tibco.com
Fri Oct 7 20:33:52 CEST 2011


> 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.



More information about the R-help mailing list