R package does not load dependencies [duplicate] - r

This question already has answers here:
How can I load dependencies in an R package?
(2 answers)
Closed 5 years ago.
RESOLVED
In my description file, I changed
Imports: dplyr (>= 0.4.3), ggplot2 (>= 2.1.0), lazyeval (>= 0.1.10)
to
Depends: dplyr (>= 0.4.3), ggplot2 (>= 2.1.0), lazyeval (>= 0.1.10)
This worked for me. "Imports:" may be depreciated?
---
I'm writing a package in RStudio. One of my dependencies is dplyr. When I build and reload the package, I get the following error when running a function:
> library(my_package)
> my_package::get_survey(...)
Error in get_survey(import_dir) : could not find function "%>%"
However, I've documented my dependencies in my DESCRIPTION file:
Imports: dplyr (>= 0.4.3), ggplot2 (>= 2.1.0), lazyeval (>= 0.1.10)
The libraries are installed on my system, however I want my package to work out of the box without requiring users to run
library(dplyr)
library(ggplot2)
library(lazyeval)
before using it. How can I fix this?
Here's my sessionInfo():
R version 3.3.0 (2016-05-03)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices
[4] utils datasets methods
[7] base
other attached packages:
[1] my_package_0.0.0.9000
loaded via a namespace (and not attached):
[1] tools_3.3.0
Thanks in advance for any help!

Since there's no answer yet...
J_F writes
Have you tried to put the three packages under "Depends" in your DESCRIPTON?
I ran into this recently and Depends still seems to work where Imports does not.

Related

Package 'xxx’ was installed before R 4.0.0: please re-install it (already done fresh install and checked lib paths)

I am having some issue with installing a package in R 4.0.2 from binaries. Here is my attempt:
> install.packages("C:/Users/MNestor/Downloads/libSBML_5.18.0.zip", repos = NULL, type = "win.binary")
Installing package into ‘C:/Users/MNestor/Documents/R/win-library/4.0’ (as ‘lib’ is unspecified)
package ‘libSBML’ successfully unpacked and MD5 sums checked
Warning messages:
1: multiple methods tables found for ‘type’
2: multiple methods tables found for ‘type<-’
Next I load library:
> library('libSBML')
Error: package or namespace load failed for ‘libSBML’:
package ‘libSBML’ was installed before R 4.0.0: please re-install it
This error is confusing to me because I am working in R 4.0.2 and have clearly just done a fresh install.
I have tried
deleting the library folder and reinstalling
running remove.packages('libSBML') and reinstalling
For reference here are my library directories:
> .libPaths()
[1] "C:/Users/MNestor/Documents/R/win-library/4.0"
[2] "C:/Program Files/R/R-4.0.2/library"
The libSMBL folder is located in the first library path, and not the second (as expected).
Here is session info:
> sessionInfo()
R version 4.0.2 (2020-06-22)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 17134)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] parallel stats graphics grDevices utils datasets methods base
other attached packages:
[1] rsbml_2.46.0 BiocGenerics_0.34.0
loaded via a namespace (and not attached):
[1] BiocManager_1.30.10 compiler_4.0.2 tools_4.0.2 remotes_2.2.0
[5] stats4_4.0.2 SBMLR_1.84.0 graph_1.66.0
The error message is maybe a bit confusing, but it's saying the package is already compiled for an earlier version of R. (That's what the option "win.binary" means).
R 4.0 and earlier binaries are not compatible because of updated compilers and build tools.
You'll need to install the package from source, which likely means installing R tools (https://cran.r-project.org/bin/windows/Rtools/) or you'll need to use a version that is pre-built for R 4.0 or later.

Unable to install Github packages in R

I need a packages witch is located on Github. And I am aware that there are multiple solutions to install the package in R.
I am trying to install the package on a Windows server. This is what I tried:
Solution 1 (which is based on the Vignette)
install.packages("devtools")
library("devtools")
devtools::install_github("bmschmidt/wordVectors")
Error: Could not find tools necessary to compile a package
In addition: Warning messages:
1: In strptime(xx, f, tz = tz): unable to identify current timezone 'C':
Please set environment variable 'TZ'
I tried many things to solve this:
Reinstalling Devtools, use the CRAN devtools version
Reinstalling R and Rstudio (installing the latest versions as admin) (Error : Could not find build tools necessary to build)
But still the same error...
So I tried a workaround to install the packages on my computer:
Solution two
Download ZIP file from (https://github.com/bmschmidt/wordVectors)
Unzip the ZIP file
But the result is an error again:
library(devtools)
install("path/to/unzipped/file")
library("wordVectors")
Error there is no packages called wordVectors.
Anyone an idea what is going on? I struggled the whole day with this issue. Help is really appreciated! Thanks!
Edit
Also Rtools is (re)installed (the latest version...)
Edit 2
As requested in the comments (#DJV):
> sessionInfo()
R version 3.5.2 (2018-12-20)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows Server >= 2012 x64 (build 9200)
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets
[6] methods base
loaded via a namespace (and not attached):
[1] compiler_3.5.2 tools_3.5.2

Cannot Install Caret

I've been looking at StackOverflow forums like this and this but I cannot find a problem.
What I'm having an issue with is that I cannot install the caret package because the dependencies cannot be installed. I even tried to run install.packages("caret", dependencies = T) and that failed. I have also tried install.packages("caret", dependencies = c("Depends", "Suggests")) and it failed on installing rPython dependencies.
There seems to be issues saying that there is a configuration script and that I need to manually configure it.
I tried installing car, lme4, and other dependencies manually but only ggplot2 was able to be installed correctly. I have no idea what else to do, below is my session Info. Please help!
R version 3.2.2 (2015-08-14)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=English_United States.1252
[2] LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods
[7] base
other attached packages:
[1] codetools_0.2-14
loaded via a namespace (and not attached):
[1] tools_3.2.2 data.table_1.9.6 chron_2.3-47
did you try downloading the packages manually from CRAN and installing them manually from Rstudio? Some of the packages require rebooting the Rstudio after package installation or after package inclusion in the Rscript. That worked for me..
also, try installing different versions of the packages until one of them works for your case..that's what I did in the case of "ggvis package

Error in R data.table v1.9.6 - function "fread"

I recently updated to data.table 1.9.6 and get the following error when using fread:
fread("Aug14.csv")
Error in fread("Aug14.csv") :
4 arguments passed to .Internal(nchar) which requires 3
Another post discusses this error in another context, but this worked fine prior to upgrading to data.table 1.9.6. Any advice?
Here's my set up:
sessionInfo()
R version 3.2.0 (2015-04-16)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] data.table_1.9.6 Matrix_1.2-2
loaded via a namespace (and not attached):
[1] modeltools_0.2-21 tools_3.2.0 splines_3.2.0 grid_3.2.0 chron_2.3-47 stats4_3.2.0 lattice_0.20-33
This seems to be a wider problem affecting other packages too and something similar was raised on r-devel here :
http://r.789695.n4.nabble.com/Error-generated-by-Internal-nchar-disappears-when-debugging-td4713138.html
If I understand correctly, CRAN provides one Windows binary for the R 3.2.* series. I guess this binary is built using the latest version of R in that series, currently R 3.2.2. As Andriy T. pointed out in a comment here, the base R function nchar gained an extra argument in R 3.2.1. Since data.table uses the R function nchar and it sets ByteCompile:TRUE in its DESCRIPTION file, the CRAN binary package for Windows doesn't seem to be compatible with R 3.2.0. I guess binary incompatible changes to R itself are supposed to be made to the .0 version only for this reason, but I'm not sure on that. Where packages are compiled on install (e.g. Ubuntu) this isn't an issue.
If you are using R < 3.2.0 on any platform, there shouldn't be a problem.
If you are using R >= 3.2.1 on any platform, there shouldn't be a problem.
If you are using R 3.2.0 on Windows and installing the binary .zip from CRAN (i.e. the default method) then you'll need to either upgrade to R >= 3.2.1, or, build data.table (and potentially any other package using nchar that also set ByteCompile:TRUE) yourself using Rtools.

Documentation about melt.data.table in data.table

I want to read more details about the new function in data.table v 1.8.11, after reading the link
I tried ?melt.data.table as pointed in the above link.
But there's no documents..
No documentation for melt.data.table?in specified packages and libraries:
you could try ??melt.data.table?
Here's my sessionInfo()
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
[4] LC_NUMERIC=C LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] data.table_1.8.11
Did I miss something?
EDIT On Jan20 2014
** Problems Still Not Solved**
I tried unistalled the data.table and deleted the library directory.
And then installed using the precompiled for windows in this link
> install.packages("~/Downloads/data.table_1.8.11.zip", repos = NULL)
Warning in install.packages :
package 憕/Downloads/data.table_1.8.11.zip?is not available (for R version 3.0.2)
Installing package into 慍:/Users/James/R/win-library/3.0?(as 憀ib?is unspecified)
package 慸ata.table?successfully unpacked and MD5 sums checked
The sessionInfo() is the same after reinstalling, and I put all the information here.
Still the ?melt.data.table not working.
[Edit by Matt] In turns out the data.table homepage was misleading (now fixed) and the Windows .zip on that page was 5 months old.
The correct way to install from R-Forge is
install.packages("data.table", repos="http://R-Forge.R-project.org").
Then the problem is solved and the documentation for ?melt.data.table is available.
Sorry this belongs in a comment but it's too long...
You might want to try re-installing data.table 1.8.11 (I found it here). When I do that, then start a new R session and:
library(data.table)
# data.table 1.8.11 For help type: help("data.table")
sessionInfo()
# R version 3.0.2 (2013-09-25)
# Platform: x86_64-w64-mingw32/x64 (64-bit)
#
# locale:
# [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252 LC_MONETARY=English_United States.1252
# [4] LC_NUMERIC=C LC_TIME=English_United States.1252
#
# attached base packages:
# [1] stats graphics grDevices utils datasets methods base
#
# other attached packages:
# [1] data.table_1.8.11
#
# loaded via a namespace (and not attached):
# [1] plyr_1.8 reshape2_1.2.2 stringr_0.6.2 tools_3.0.2
Note the bit at the end. It looks like data.table 1.8.11 loads reshape2, which probably contains melt.data.table(...). Did you truncate your sessionInfo, or were they not loaded?

Resources