[R] Why would something work in R but not Rscript?
dscheffy at gmail.com
Mon Dec 15 18:44:24 CET 2014
Thanks Henrik! Adding the line
to the list of required libraries did indeed solve the problem. My next
comment will show my naivety when it comes to R dependency management, but
I noticed that including `library("rJava")` in place of methods also solves
the problem. This confuses me because I would think that RWeka depends on
rJava so I don't understand why transitive dependencies wouldn't
automatically be loaded -- something for me to research more when I have
Thanks for the help -- sadly it took me a month to see it as these
responses were automatically diverted to a folder using filter logic I set
up a few years ago and forgot about...
On Wed, Nov 19, 2014 at 2:57 PM, Henrik Bengtsson <hb at biostat.ucsf.edu>
> When using Rscript, the 'methods' package is not loaded/attached by
> default, which it is when you use R. See ?Rscript for details. For
> any scripts intended for batch usage, the safest is to only assume
> that 'base' is attached, but nothing else.
> On Wed, Nov 19, 2014 at 10:03 AM, Ben Tupper <ben.bighair at gmail.com>
> > Hi,
> > On Nov 19, 2014, at 11:48 AM, Jeff Hansen <dscheffy at gmail.com> wrote:
> >> I have a script that uses RWeka (and consequently rJava). When I run
> >> it in Rstudio everything works fine. When I run it with `R CMD BATCH`,
> >> everything also works fine. However, when I run it with Rscript, I get
> >> the following error:
> >> Error in FUN(X[[1L]], ...) :
> >> object is not a Java object reference (jobjRef/jarrayRef).
> >> Calls: evaluate_Weka_classifier -> t -> sapply -> lapply -> FUN
> >> Execution halted
> >> The following is a very simple toy script that you can run to produce
> >> the results:
> >> library("RWeka")
> >> result <- c(TRUE,FALSE,TRUE,FALSE,TRUE)
> >> observation <- c(TRUE,FALSE,TRUE,FALSE,TRUE)
> >> df <- data.frame(result,observation)
> >> j48 <- J48(result ~ .,data=df)
> >> evaluate_Weka_classifier(j48)
> >> Save that to a file called help.R and run
> >> R CMD BATCH help.R
> >> Check the output file help.Rout and you should see no errors. Now try
> >> running it from:
> >> Rscript help.R
> > You might try using the the --vanilla option for each. At least then
> you can rule out that something is being restored in the session of one but
> not the other.
> > R --vanilla CMD BATCH help.R
> > Rscript --vanilla help.R
> > Cheers,
> > Ben
> >> And you should see the error I've pasted above.
> >> I have consulted (and will continue to consult) the literature, but
> >> the manuals tend to answer how usage differs between the two commands
> >> rather than going into implementation details. I imagine there's a
> >> difference in how environments get loaded and I just need to adjust
> >> something on the Rscript side.
> >> I'm working on a Mac (OSX) running R 3.1.0, but I get the same results
> >> when I run everything from a Centos 6.4 virtual machine (headless)
> >> with R 3.1.1 installed.
> >> Thanks for any help!
> >> ______________________________________________
> >> R-help at r-project.org mailing list
> >> https://stat.ethz.ch/mailman/listinfo/r-help
> >> PLEASE do read the posting guide
> >> and provide commented, minimal, self-contained, reproducible code.
> > ______________________________________________
> > R-help at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> > and provide commented, minimal, self-contained, reproducible code.
[[alternative HTML version deleted]]
More information about the R-help