G'day Anuj, On Sun, 28 Jul 2019 16:40:28 -0700 Anuj Goyal <anuj.go...@gmail.com> wrote:
> Why does pdf() work outside a function, but not inside it? Because you use a graphics system that need printing to produce the plot. On the command line auto-printing is your friend, but in functions you have to do it explicitly yourself. > R version 3.6.0 (2019-04-26) on Mac 10.14.5 > > # R --silent --vanilla < s2.r > library(quantmod) > options("getSymbols.warning4.0"=FALSE) > options("getSymbols.yahoo.warning"=FALSE) > > gs <- function(f) { > csvText <- "s,n\nAFL,AFLAC\nAIG,AIG" > csv <- read.csv(text=csvText, stringsAsFactors = FALSE) > symVec <- getSymbols(as.vector(csv$s)) > > # create PDF > fname = paste0(f,".pdf") > pdf(file = fname) > par(mfrow = c( 4,2 ) ) > mapply (chart_Series, mget(symVec)) Change this to mapply( function(x) print(chart_Series(x)), mget(symVec)) and it should work. At least it does on my machine: -rw-r--r-- 1 berwin berwin 154281 Jul 29 12:19 t.pdf Cheers, Berwin ______________________________________________ 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.