Gabor's elegant method works as well indeed where gl(number of factor level,number of replications): > data.frame(id = dat[gl(3,4),1], t(matrix(t(dat[-1]), 2))) Rock DRF-MRNF, Quebec -- View this message in context: http://n4.nabble.com/Read-data-in-sequences-tp1819487p1836285.html Sent from the R help mailing list archive at Nabble.com.