Unless you are able to reproduce the problem without dplyr then you should submit your question to dplyr issues tracker. R-devel is for issues in R, not in a third party packages.
On Fri, Dec 29, 2023, 15:13 Mateo Obregón <obregonma...@gmail.com> wrote: > Hi all- > > Looking through stackoverflow for R string combining examples, I found the > following from 3 years ago: > > < > https://stackoverflow.com/questions/63881854/how-to-format-strings-using-values-from-other-column-in-r > > > > The top answer suggests to use eval(parse(sprintf())). I tried the > suggestion > and it did not return the expected combines strings. I thought that this > might > be an issue with some leftover values being reused, so I explicitly eval() > with a new.env(): > > > library(dplyr) > > df <- tibble(words=c("%s plus %s equals %s"), > args=c("1,1,2","2,2,4","3,3,6")) > > df |> mutate(combined = eval(parse(text=sprintf("sprintf('%s', %s)", > words, > args)), envir=new.env())) > > # A tibble: 3 × 3 > words args combined > <chr> <chr> <chr> > 1 %s plus %s equals %s 1,1,2 3 plus 3 equals 6 > 2 %s plus %s equals %s 2,2,4 3 plus 3 equals 6 > 3 %s plus %s equals %s 3,3,6 3 plus 3 equals 6 > > The `combined` is not what I was expecting, as the same last eval() is > returned for all three rows. > > Am I missing something? What has changed in the past three years? > > Mateo. > -- > Mateo Obregón > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel