[R] does pdf() work inside of a function?
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Mon Jul 29 01:58:07 CEST 2019
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 using 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.
>
More information about the R-help
mailing list