On 28/07/2019 7:40 p.m., Anuj Goyal wrote:
Why does pdf() work outside a function, but not inside it?

Try a simpler example, and you'll see that it does, e.g.

 f <- function() { pdf("temp.pdf"); plot(1, main="inside f"); dev.off() }

You're doing very complicated things in your function; quantmod does very complicated things in getSymbols(). One of those complicated things is breaking, it's not pdf() that's breaking.

Duncan Murdoch


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))
   dev.off()
}
gs("t")

csvText <- "s,n\nAFL,AFLAC\nAIG,AIG"
csv <- read.csv(text=csvText, stringsAsFactors = FALSE)
symVec <- getSymbols(as.vector(csv$s))

# create PDF
pdf(file = "t2.pdf")
par(mfrow = c( 4,2 ) )
mapply (chart_Series, mget(symVec))
dev.off()


output

-rw-r--r--@ 1 b  staff     4053 Jul 28 16:15 t.pdf
-rw-r--r--@ 1 b  staff   154506 Jul 28 16:15 t2.pdf

______________________________________________
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.

Reply via email to