And just for the fun of it, a tidverse way. I quite like uncount() ### get the library library(tidyverse) # or just library(tidyr)
### create data as per nice base R e.g. x <- data.frame(label = c("ABC","DDG","ABB"), count = c(3,5,2)) ### use uncount to ... well, uncount it! uncount(x, count) -> y y # or using tidyverse piping to do the same x %>% uncount(., count) -> y ### and one of many ways to write to a simple file ### make sure you do this in a safe place! cat(y, file = "safefile.txt", sep = "\n") Cheers all, Chris ----- Original Message ----- > From: "Rui Barradas" <ruipbarra...@sapo.pt> > To: "Evan Cooch" <evan.co...@gmail.com>, r-help@r-project.org > Sent: Wednesday, 7 July, 2021 09:07:00 > Subject: Re: [R] conditional output of string to file n times... > Hello, > > Sorry, I forgot the output to file part. > > > y <- rep(df1[[1]], df1[[2]]) > cat(y, file = "~/tmp/rhelp.txt", sep = "\n") > > > Hope this helps, > > Rui Barradas > > Às 09:01 de 07/07/21, Rui Barradas escreveu: >> Hello, >> >> Use ?rep. >> Since you say you have a file, in the code below I will read the data >> from a connection. Then create the string. >> >> >> txtfile <- "ABC 3 >> DDG 5 >> ABB 2" >> >> tc <- textConnection(txtfile) >> df1 <- read.table(tc) >> close(tc) >> >> rep(df1[[1]], df1[[2]]) >> #[1] "ABC" "ABC" "ABC" "DDG" "DDG" "DDG" "DDG" "DDG" "ABB" "ABB" >> >> >> Hope this helps, >> >> Rui Barradas >> >> >> Às 14:27 de 06/07/21, Evan Cooch escreveu: >>> 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. >> >> ______________________________________________ >> 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. > > ______________________________________________ > 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. -- Chris Evans (he/him) <ch...@psyctc.org> Visiting Professor, University of Sheffield <chris.ev...@sheffield.ac.uk> I do some consultation work for the University of Roehampton <chris.ev...@roehampton.ac.uk> and other places but <ch...@psyctc.org> remains my main Email address. I have a work web site at: https://www.psyctc.org/psyctc/ and a site I manage for CORE and CORE system trust at: http://www.coresystemtrust.org.uk/ I have "semigrated" to France, see: https://www.psyctc.org/pelerinage2016/semigrating-to-france/ https://www.psyctc.org/pelerinage2016/register-to-get-updates-from-pelerinage2016/ If you want an Emeeting, I am trying to keep them to Thursdays and my diary is at: https://www.psyctc.org/pelerinage2016/ceworkdiary/ Beware: French time, generally an hour ahead of UK. ______________________________________________ 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.