Let’s look at my gff track headers again. Why not do it with plyr instead?
d_ply splits the data frame by the feature column and applies a nameless function that writes subsets to the file (and returns nothing, hence the ”_” in the name). This isn’t shorter or necessarily better, but it appeals to me.
library(plyr) connection <- file("separate_tracks_2.gff", "w") d_ply(gff, "feature", function(x) { writeLines(paste("track name=", x$feature[1], sep=""), connection) write.table(x, sep="\t", row.names=F, col.names=F, quote=F, file=connection) }) close(connection)