ggplot: object 'DiscreteRange' not found - r

This is embarrassing. I've been using the ggplot2 package on a regular basis over the past few months, and now suddenly things seem to go seriously wrong.
Apparently, whenever I try to plot a bar graph I obtain the error:
Error in structure(list(call = match.call(), aesthetics = aesthetics, :
object 'DiscreteRange' not found
This is the error that results, e.g., when I try to run a code as simple as the following:
library(ggplot2)
ggplot(diamonds, aes(x=cut)) + geom_bar()
There is no graphics output, the code stops with the above error message.
If I recall correctly this used to work up to a few days ago, so I suspect that there is some error in an (update of) another package that interferes. Of course, I may also be doing a very stupid mistake that I don't see.
I'm using RStudio version 0.99.467; more information concerning the system and the relevant packages is provided below:
> sessionInfo()
R version 3.2.1 (2015-06-18)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.3 LTS
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] ggplot2_1.0.1
loaded via a namespace (and not attached):
[1] Rcpp_0.12.0 lattice_0.20-33 zoo_1.7-11 digest_0.6.8 MASS_7.3-43 grid_3.2.1 plyr_1.8.3 gtable_0.1.2
[9] magrittr_1.5 scales_0.2.5.9003 stringi_0.5-5 reshape2_1.4.1 proto_0.3-10 blotter_0.9.1666 tools_3.2.1 stringr_1.0.0
[17] munsell_0.4.2 colorspace_1.2-6 quantstrat_0.9.1669
I tried to restart a fresh R session and even rebooted the computer, to no avail.
Thank you very much for your help!

I'm going to take a guess that the problem is with the scales package, which is at version: 0.2.5.9003. The packages with "four-part" version numbers x.y.z.wwww look like development versions to me. The current CRAN version is 0.2.5:
a1 <- available.packages()
a1[a1[,"Package"]=="scales","Version"] ## 0.2.5
I don't know how you ended up with a development version (devtools::install_github("hadley/scales") would probably do it) but I would install.packages("scales") (or the equivalent through the RStudio GUI) to re-install the CRAN version and see if that resolves the problem.
Alternatively, you could try keeping the development version of scales and moving to the development version of ggplot2 (devtools::install_github("hadley/ggplot2")).
I'm using the development version of ggplot2 (1.0.1.9003) with the development version of scales (0.2.5.9003) and your example works fine.

Related

R lme4 Error in '/usr/lib/rstudio/bin/rsession' : malloc(): memory corruption:

Whenever I run lmer or glmer from lme4 package, I get the following error:
Error in '/usr/lib/rstudio/bin/rsession' : malloc(): memory
corruption:
I update all R packages but still getting the same error.
sessionInfo()
R version 3.3.2 (2016-10-31)
Platform: i686-pc-linux-gnu (32-bit)
Running under: Ubuntu 16.04.2 LTS
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8
[4] LC_COLLATE=en_US.UTF-8 LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] lme4_1.1-13 Matrix_1.2-8
loaded via a namespace (and not attached):
[1] minqa_1.2.4 MASS_7.3-45 tools_3.3.2 Rcpp_0.12.9 splines_3.3.2
[6] nlme_3.1-131 grid_3.3.2 nloptr_1.0.4 lattice_0.20-34
Edited
library(lme4)
fm1 <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
Throws the following error:
Error in '/usr/lib/rstudio/bin/rsession' : malloc(): memory
corruption:
There have been reports of problems with the latest Matrix package, 1.2-8, on 32-bit OS's (personal communication from Terry Therneau and Brian Ripley). A fix is probably on its way may take a while (personal communication, M. Maechler), so I would try downgrading Matrix to version 1.2-7, e.g. devtools::install_version("Matrix","1.2-7") (you'll need to have compilation tools installed).
Looking at the NEWS file for Matrix, I suspect this has something to do with:
C-API: SuiteSparse_long is now defined as int64_t on all platforms, and we now include (C99) ‘inttypes.h’
In the time the problem has been diagnosed and solved by me (the maintainer of Matrix):
Matrix 1.2-8 had updated its API, but RcppEigen had copied part of Matrix's C API (headers etc)... and now was no longer compatible... on 32-bit only.
In the mean time, RcppEigen has been updated (and Matrix too).
Please install the latest versions of these two and all such lme4 problems should be gone.
May have been an issue with Ubuntu update. I had the same issue, but after the latest update to Ubuntu base the problem was fixed.

Error while using rSymPy

I recently installed rSymPy to perform some symbolic calculations in R. This step also installed some dependencies (“rJava”, “rjson” and “rJython”). After the installation was complete, I loaded the library and ran a very simple command which gave me an error:
> library("rSymPy")
Loading required package: rJython
Loading required package: rJava
Loading required package: rjson
> x <- Var("x")
Error in .jcheck() : No running JVM detected. Maybe .jinit() would help.
Here is my sessionInfo(), just in case you need it:
> sessionInfo()
R version 3.2.2 (2015-08-14)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS release 6.7 (Final)
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] rSymPy_0.2-1.1 rJython_0.0-4 rjson_0.2.15 rJava_0.9-8
loaded via a namespace (and not attached):
[1] tools_3.2.2 tcltk_3.2.2
I have tried to install different versions of required packages, but I always get this error. I would really appreciate any help.
Thanks,
Aashish
Thanks to Gabor Grothendieck (developer of rSymPy) for pointing out that sometimes one needs to manually initialize JVM. One can simply use "sympyStart()" at the beginning of the code, and that fixes the error.

BigRquery will not connect and the error message is blank

I'm trying to make use of the 'bigrquery' library in R to connect R to our big query databases. When I run this on a locally installed copy of R studio I don't have any problems, but when I'm running it on a server running R Studio Server I get a strange error message from the query_exec command. I will paste the code below:
library(bigrquery)
project = 'projectIdentifier'
sql <- "SELECT * FROM [bradWorking.bradTempTable] WHERE f0_ >= '2015-10-22' AND f0_ <= '2015-11-01'"
data <- query_exec(query = sql, project=project, max_pages = Inf, destination_table = 'bradWorking.bradTempTable2')
Error:
I have never seen an error before that simply states 'Error'. Does anyone have any suggestions for ways to figure out what's going on? Could this be related to the libssl that I'm using?
Here's the system information from R
> sessionInfo()
R version 3.2.3 (2015-12-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 14.04.3 LTS
locale:
[1] LC_CTYPE=en_CA.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_CA.UTF-8 LC_COLLATE=en_CA.UTF-8
[5] LC_MONETARY=en_CA.UTF-8 LC_MESSAGES=en_CA.UTF-8
[7] LC_PAPER=en_CA.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods
[7] base
other attached packages:
[1] bigrquery_0.1.0
loaded via a namespace (and not attached):
[1] httr_1.1.0 magrittr_1.5 R6_2.1.2
[4] assertthat_0.1 parallel_3.2.3 DBI_0.3.1
[7] tools_3.2.3 dplyr_0.4.3 curl_0.9.5
[10] Rcpp_0.12.3 jsonlite_0.9.19 openssl_0.9.1
Thanks
I am not very familiar with bigrquery, but it looks like this could be an incompatibility between bigrquery and httr 1.1.0: https://github.com/rstats-db/bigrquery/issues/86
rolling back httr as per https://github.com/rstats-db/bigrquery/issues/86 worked for me when i experienced this error.
Not sure if this is useful but I'm getting the same error on a query of mine that's been running perfectly for the past couple months. Not sure if the issue is on the Google or R side

Cannot load package in R

Since yesterday, I cannot load some common used packages, e.g. reshape2 and stringr through library command.
Step to reproduce my problem:
1) Start a new session in Rstudio server (Version 0.99.467). I also kill the active-sessions in Rstudio server.
2) Run these codes
library(ggplot2)
library(stringr)
3) Get an error message:
Error in unloadNamespace(package) :
namespace ‘stringr’ is imported by ‘reshape2’ so cannot be unloaded
Show Traceback
Rerun with Debug
Error in library(stringr) : “stringr” version 0.6.2 cannot be unloaded.
But I don't get error if stringr is loaded before ggplot2. How should I fix this problem. Thanks for any suggestions.
I may have to update R to 3.2
My R session info:
R version 3.1.3 (2015-03-09)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu precise (12.04.5 LTS)
locale:
[1] LC_CTYPE=en_AU.UTF-8 LC_NUMERIC=C LC_TIME=en_AU.UTF-8 LC_COLLATE=en_AU.UTF-8
[5] LC_MONETARY=en_AU.UTF-8 LC_MESSAGES=en_AU.UTF-8 LC_PAPER=en_AU.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_AU.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] ggplot2_1.0.0
loaded via a namespace (and not attached):
[1] colorspace_1.2-4 digest_0.6.4 grid_3.1.3 gtable_0.1.2 MASS_7.3-39 munsell_0.4.2 plyr_1.8.1
[8] proto_0.3-10 Rcpp_0.11.2 reshape2_1.4 scales_0.2.4 stringr_0.6.2 tools_3.1.3
I resolved my problem through updating R and all R packages.
I guess the problem is caused by old version of stringr or reshape2 as I install the same packages in different places (system folder or personal library). R tried to load a old version of package.
Even though it is a good practice to update R for me it was not necessary to solve the same issue. The problem can result from few .libPaths(). With .libPaths("C:/Program Files/R/R-3.4.3patched/library") you can point out one folder. After that just reinstall of packages, and it should work.
My code:
> .libPaths()
[1] "L:/My Documents/R/win-library/3.4" "C:/Program Files/R/R-3.4.3patched/library"
> .libPaths("C:/Program Files/R/R-3.4.3patched/library")
> packages<-c('ggplot2','data.table','knitr','xtable')
> install.packages(packages)
> lapply(packages,library,character.only=T)
Even though the issue is solved I hope it will help someone.

R `dev.new()` freezes

this just started to occur: when I type the command dev.new(), the window stays frozen, and I can't Ctrl+c to stop it. I have to kill the R process in another terminal. I am running 64-bit CentOS 6.7 and R 3.2.1. Here is the output from sessionInfo():
> sessionInfo()
R version 3.2.1 (2015-06-18)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: CentOS release 6.7 (Final)
locale:
[1] LC_CTYPE=en_US.utf8 LC_NUMERIC=C LC_TIME=en_US.utf8 LC_COLLATE=en_US.utf8 LC_MONETARY=en_US.utf8
[6] LC_MESSAGES=en_US.utf8 LC_PAPER=en_US.utf8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C
attached base packages:
[1] graphics grDevices utils datasets stats methods base
other attached packages:
[1] ggplot2_1.0.1 data.table_1.9.4 plyr_1.8.3 reshape2_1.4.1 vimcom_0.9-9 setwidth_1.0-4 colorout_1.1-0
loaded via a namespace (and not attached):
[1] Rcpp_0.12.0 digest_0.6.8 MASS_7.3-44 chron_2.3-47 grid_3.2.1 gtable_0.1.2 magrittr_1.5 scales_0.3.0
[9] stringi_0.5-5 proto_0.3-10 tools_3.2.1 stringr_1.0.0 munsell_0.4.2 colorspace_1.2-6
Has anybody come across this issue? Perhaps of relevance, but I was able to use a GUI application that creates plot devices as a cairoDevice, with no issues.
EDIT: A bit more info - when running R --vanilla, the same behavior occurs. Same with calling plot directly (e.g. plot(rnorm(1e2))), and making a call to ggplot.
EDIT 2: in case this wasn't confusing enough, I am able to plot without issue on my home system (where sessionInfo gives the same output, aside from some packages loaded via a namespace). I believe the same CentOS packages are installed, as well.
EDIT 3: to add a bit more info, in addition to the (RGtk2) GUI that I mentioned still works, I can call Cairo from the command line directly and plotting works without issue that way. So it seems to be specific to base plotting.
I had the same problem on SL6.7. This is not a R problem but rather the xorg-x11-server-Xorg update crashed it.
Just downgrade the package and restart your X-session and you can plot again.
~$ yum downgrade http://ftp.scientificlinux.org/linux/scientific/6.6/x86_64/updates/security/xorg-x11-server-Xorg-1.15.0-26.sl6.x86_64.rpm
To make it permanent disable the upgrade of the package in yum.conf
~$ echo "exclude=xorg-x11-server-Xorg" >> /etc/yum.conf
Actually, the issue with R was not really a bug in xorg-x11-server.
Its update (Fix backing store's Always mode) revealed a bug in the X11
module of R. More details can be found in R's bugzilla :
https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=16497
(See comment 5 for details)
A couple of patches to fix the issue have been proposed.

Resources