Full_Name: Jari Oksanen Version: 2.6.2 RC (2008-02-07 r44369) OS: Linux Submission from: (NULL) (130.231.102.145)
Even if function xspline() is called with argument draw=FALSE, it requires a graphics device (that it won't use since it was draw=FALSE). I run into this because I intended to use xspline within a function (that does not yet draw: there is plot method for that), and the function failed when called in a virgin environment. Here is an example in a virgin environemt just after starting R: > out <- xspline(c(0,1,0), c(1,0,1), draw=FALSE) Error in xspline(c(0, 1, 0), c(1, 0, 1), draw = FALSE) : plot.new has not been called yet > str(out) Error in str(out) : object "out" not found This works: > plot(0) > out <- xspline(c(0,1,0), c(1,0,1), draw=FALSE) > str(out) List of 2 $ x: num [1:3] 0 1 0 $ y: num [1:3] 1 0 1 This won't: > dev.off() null device 1 > xspline(c(0,1,0), c(1,0,1), draw=FALSE) Error in xspline(c(0, 1, 0), c(1, 0, 1), draw = FALSE) : plot.new has not been called yet R graphics internal are black magic to me. However, it seems that the error messge comes from function GCheckState(DevDesc *dd) in graphics.c, which is called by do_xspline(SEXP call, SEXP op, SEXP args, SEXP env) in plot.c even when xspline was called with draw = FALSE (and even before getting the argument draw into do_xspline). It seems that graphics device is needed somewhere even with draw = FALSE, since moving the GCheckState() test after findig the value draw, and executing the test only if draw=TRUE gave NaN as the numeric output. If this is documented behaviour, the documentation escaped my attention and beg for pardon. It may be useful to add a comment on the help page saying that an open graphics device is needed even when unused with draw=FALSE. Cheers, Jari Oksanen platform = i686-pc-linux-gnu arch = i686 os = linux-gnu system = i686, linux-gnu status = RC major = 2 minor = 6.2 year = 2008 month = 02 day = 07 svn rev = 44369 language = R version.string = R version 2.6.2 RC (2008-02-07 r44369) Locale: LC_CTYPE=en_GB.UTF-8;LC_NUMERIC=C;LC_TIME=en_GB.UTF-8;LC_COLLATE=en_GB.UTF-8;LC_MONETARY=en_GB.UTF-8;LC_MESSAGES=en_GB.UTF-8;LC_PAPER=en_GB.UTF-8;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;LC_MEASUREMENT=en_GB.UTF-8;LC_IDENTIFICATION=C Search Path: .GlobalEnv, package:stats, package:graphics, package:grDevices, package:utils, package:datasets, package:methods, Autoloads, package:base ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel