Hi Evan, I assume you know how to get the data into a data frame (e.g. via read.csv). Here I will create the example data explicitly, creating a data frame x.
x <- data.frame( label=c("ABC","DDG","ABB"), count=c(3,5,2) ) Then create a character vector with the data as you want it. y <- unlist(sapply( 1:nrow(x), function(i) rep( x$label[i], x$count[i] ) )) Finally print it to a file, say 'myfile' (to get one element per line I did a bit of a trick). write.table(x=t(t(y)),file="myfile",row.names=FALSE,col.names=FALSE,quote=FALSE) HTH, Eric On Wed, Jul 7, 2021 at 10:15 AM Evan Cooch <evan.co...@gmail.com> wrote: > Suppose I have a file with the the following structure - call the two > space-separated fields 'label' and 'count': > > ABC 3 > DDG 5 > ABB 2 > > > What I need to do is parse each line of the file, and then depending on > the value of count, write out the value of 'label' to a new file, but > 'count' times. In other words, take the preceding, and output > > ABC > ABC > ABC > DDG > DDG > DDG > DDG > DDG > ABB > ABB > > I was wondering if there was an elegant/simple way to do this? I can do > this relatively easily in perl, or awk, but am stumped by getting a bit > of R code to accomplish the same thing. > > Many thanks in advance... > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.