The following function is supposed to search the workspace and save plots??(i.e. listing all objects in the workspace named "Figs", which are all ggplot2 plots, and saving them as png files) SaveFigs <- function() { for (i in ls(pattern="_Figs_")) { filename = paste(Plots_Path, i, ".png", sep="") png(filename) print(eval(as.name(i))) dev.off() } } It was working perfectly until some days ago, but now nothing happens when the function is called. No error, no output, no result, no files, nothing at all. Completely useless. If I run the for loop inside alone, without the function, it works perfectly and produces the expected result (png files in the defined folder). But running it as a function doesn't do anything at all. Can anyone explain why did this function simply and suddenly stopped working? (using R version 3.3.3 on an ubuntu 16.10, if that is of any help)
How about inserting print() statements on the output of "ls()" and the value of "filename". In particular, is the value of Plots_path the same as last week? -pd> On 4 Apr 2017, at 10:50 , DANIEL PRECIADO <danprec at hotmail.com> wrote: > > The following function is supposed to search the workspace and save > plots (i.e. listing all objects in the workspace named "Figs", which > are all ggplot2 plots, and saving them as png files) > > SaveFigs <- function() > { > for (i in ls(pattern="_Figs_")) > { > filename = paste(Plots_Path, i, ".png", sep="") > png(filename) > print(eval(as.name(i))) > dev.off() > } > } > > > It was working perfectly until some days ago, but now nothing happens > when the function is called. No error, no output, no result, no files, > nothing at all. Completely useless. > > If I run the for loop inside alone, without the function, it works > perfectly and produces the expected result (png files in the defined > folder). But running it as a function doesn't do anything at all. > > Can anyone explain why did this function simply and suddenly stopped > working? > > (using R version 3.3.3 on an ubuntu 16.10, if that is of any help) > ______________________________________________ > R-help at 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.-- Peter Dalgaard, Professor, Center for Statistics, Copenhagen Business School Solbjerg Plads 3, 2000 Frederiksberg, Denmark Phone: (+45)38153501 Office: A 4.23 Email: pd.mes at cbs.dk Priv: PDalgd at gmail.com
Thanks, but printing doesn't work within the function either. (i.e, no result or output, or error). Also, like I said, the loop is working fine on its own (so the path, name, filename, and all other variables called from the function exist, are available and are recognized just fine). It just doesn't do anything (anymore) if the loop is inside a function. On Tue, 2017-04-04 at 11:21 +0200, peter dalgaard wrote:> How about inserting print() statements on the output of "ls()" and > the value of "filename". In particular, is the value of Plots_path > the same as last week? > > -pd > > > > On 4 Apr 2017, at 10:50 , DANIEL PRECIADO <danprec at hotmail.com> > > wrote: > > > > The following function is supposed to search the workspace and save > > plots??(i.e. listing all objects in the workspace named "Figs", > > which > > are all ggplot2 plots, and saving them as png files) > > > > SaveFigs <- function() > > { > > for (i in ls(pattern="_Figs_")) > > { > > filename = paste(Plots_Path, i, ".png", sep="") > > png(filename) > > print(eval(as.name(i))) > > dev.off() > > } > > } > > > > > > It was working perfectly until some days ago, but now nothing > > happens > > when the function is called. No error, no output, no result, no > > files, > > nothing at all. Completely useless. > > > > If I run the for loop inside alone, without the function, it works > > perfectly and produces the expected result (png files in the > > defined > > folder). But running it as a function doesn't do anything at all. > > > > Can anyone explain why did this function simply and suddenly > > stopped > > working? > > > > (using R version 3.3.3 on an ubuntu 16.10, if that is of any help) > > ______________________________________________ > > R-help at 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-g > > uide.html > > and provide commented, minimal, self-contained, reproducible code. > >