R-package missing functions, but has documentation - r

My problem is when i build a package using devtools, or R CMD INSTALL -build the package builds, but when I install the resulting .zip (when I've tried binary builds) or .tar.gz
the functions in the package don't show up. I can SEE the functions in the .tar.gz when I unzip and the files are sufficiently large so as not to empty. ANY help appreciated.
what I'm using: Rstudio, R v 3.1.0
>install.packages("E:/R/Rpackage_meadq/meadq_1.0.4.tar.gz", repos = NULL, type = "source")
'\\AA.AD.EPA.GOV\ORD\RTP\USERS\A-D\dhall05\Net MyDocuments'
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported. Defaulting to Windows directory.
* installing *source* package 'meadq' ...
** R
** data
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
*** arch - i386
*** arch - x64
* DONE (meadq)
>installed.packages()
...
meadq "3.1.0"
> library('meadq')
>ls('package:meadq')
character(0)
## to take an example function within package
> create_ont_csv()
Error: could not find function "create_ont_csv"
>?create_ont_csv
this pulls up the function documentation for create_ont_csv that's in the package
when I look at the "meadq_1.0.4.tar.gz" using winzip, I can see all the functions.
I've tried building in binary and the same thing happens where the functions are missing, but the documentation is there.
I've tried re-building a lot with this code and also R CMD INSTALL -build ... :
> library('devtools')
Attaching package: ‘devtools’
The following objects are masked from ‘package:utils’:
?, help
The following object is masked from ‘package:base’:
system.file
> build("E:/R/Rpackage_meadq/meadq")
"C:/PROGRA~1/R/R-31~1.0/bin/x64/R" --vanilla CMD build "E:\R\Rpackage_meadq\meadq" \
--no-manual --no-resave-data
* checking for file 'E:\R\Rpackage_meadq\meadq/DESCRIPTION' ... OK
* preparing 'meadq':
* checking DESCRIPTION meta-information ... OK
* checking for LF line-endings in source and make files
* checking for empty or unneeded directories
* looking to see if a 'data/datalist' file should be added
* building 'meadq_1.0.4.tar.gz'
[1] "E:/R/Rpackage_meadq/meadq_1.0.4.tar.gz"

Related

R package not compatible with 3.5.3

I am attempting to install a package that was made on my computer, but I am having issues. Installing seemed to work fine, but I got a warning:
Warning in install.packages :
package ‘abcmlr’ is not available (for R version 3.5.3)
This naturally throws the error when calling library
Error in library(abcmlr) : 'abcmlr' Not a valid package that has already been installed
Using .libPaths() returns "C:/Users/amlut/Documents/R/win-library/3.5" "C:/Program Files/R/R-3.5.3/library". So I presume this is why library() is giving me an error.
Why does installing my package not work for version 3.5.3 (Does this question require additional information about my package)? Is it possible to make my package work for 3.5.3? What steps would be required to achieve this?
Thank you.
Edit: this is a package I made, and I am using devtools::install
DESCRIPTION:
Package: abcmlr
Type: Package
Title: Analysis of Bone Counts by Maximum Likelihood
Version: 0.1.0
Author:
Maintainer:
Description: See Rogers ABCML for details
License:
Encoding: UTF-8
LazyData: true
NeedsCompilation: no
Packaged: 2019-06-14 21:17:42 UTC; amlut
Built: R 3.5.3; ; 2019-06-14 21:17:43 UTC; windows
Output from devtools::install:
devtools::install("C:/Users/amlut/Documents/R/win-library/3.5/abcmlr")
WARNING: Rtools is required to build R packages, but the version of Rtools previously installed in C:/Rtools has been deleted.
Please download and install Rtools 3.5 from http://cran.r-project.org/bin/windows/Rtools/.
√ checking for file 'C:\Users\amlut\Documents\R\win-library\3.5\abcmlr/DESCRIPTION' ...
- preparing 'abcmlr':
√ checking DESCRIPTION meta-information ...
- checking for LF line-endings in source and make files and shell scripts
- checking for empty or unneeded directories
Removed empty directory 'abcmlr/man'
- building 'abcmlr_0.1.0.tar.gz'
Running "C:/PROGRA~1/R/R-35~1.3/bin/x64/Rcmd.exe" INSTALL "C:\Users\amlut\AppData\Local\Temp\RtmpGySaDj/abcmlr_0.1.0.tar.gz" --install-tests
* installing to library 'C:/Users/amlut/Documents/R/win-library/3.5'
* installing *source* package 'abcmlr' ...
** R
** byte-compile and prepare package for lazy loading
No man pages found in package ** help
'abcmlr'
*** installing help indices
** building package indices
** testing if installed package can be loaded
*** arch - i386
*** arch - x64
* DONE (abcmlr)
In R CMD INSTALL
library(abcmlr)

R - devtools - Build - ZIP failure?

I have been trying to build a package in R using the package devtools and the build function but it keeps failing on the zip element despite having the zip package installed?
* installing to library
'C:/Users/OMICRON/AppData/Local/Temp/Rtmpc30Top/temp_libpath133c19a632ea'
* installing *source* package 'simTools' ...
** R
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
converting help for package 'simTools'
finding HTML links ... done
sampleFromData html
** building package indices
** testing if installed package can be loaded
*** arch - i386
*** arch - x64
* MD5 sums
Warning in system(paste(shQuote(ZIP), "-r9Xq", filepath, paste(curPkg,
collapse = " "))) :
'"zip"' not found
running 'zip' failed
* DONE (simTools)
In R CMD INSTALL
[1] "D:/R/simTools_0.0.0.9000.zip"
My guess is that zip is referring to the Linux zip command and not the zip package.
Do you have R-tools installed? That includes a number of Linux commands and is necessary for building packages on Windows. It also needs to be included to your PATH (System Properties -> Environment Variables). You can check if it is properly set up using devtools::find_rtools().

Fail to build package when trying to install vignettes with install_github [R]

By default when one is using install_github function from devtools package in R the vignettes of the installed package are not build. I've seen this questio with an answer which shows how to build vignettes if one desires to
Building R package from github: how to disable building vignettes?.
I wrote a package with such vignettes and but I recieve an error what installing directly from github like this:
> devtools::install_github("MarcinKosinski/RTCGA")
Downloading github repo MarcinKosinski/RTCGA#master
Installing RTCGA
'/usr/lib/R/bin/R' --vanilla CMD INSTALL \
'/tmp/RtmpCIboSY/devtools17de96523e5/MarcinKosinski-RTCGA-e47bdf6' \
--library='/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2' \
--install-tests
* installing *source* package ‘RTCGA’ ...
** R
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (RTCGA)
> browseVignettes("RTCGA")
No vignettes found by browseVignettes("RTCGA")
> ?devtools::install_github
> devtools::install_github("MarcinKosinski/RTCGA", build_vignettes= TRUE)
Downloading github repo MarcinKosinski/RTCGA#master
Installing RTCGA
'/usr/lib/R/bin/R' --vanilla CMD build \
'/tmp/RtmpCIboSY/devtools17de1905fc71/MarcinKosinski-RTCGA-e47bdf6' \
--no-resave-data --no-manual
* checking for file ‘/tmp/RtmpCIboSY/devtools17de1905fc71/MarcinKosinski-RTCGA-e47bdf6/DESCRIPTION’ ... OK
* preparing ‘RTCGA’:
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... OK
* checking for LF line-endings in source and make files
* checking for empty or unneeded directories
Removed empty directory ‘RTCGA/ghPage’
Removed empty directory ‘RTCGA/inst’
* building ‘RTCGA_0.99.6.tar.gz’
'/usr/lib/R/bin/R' --vanilla CMD INSTALL \
'/tmp/RtmpCIboSY/RTCGA_0.99.6.tar.gz' \
--library='/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2' \
--install-tests
* installing *source* package ‘RTCGA’ ...
** R
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
Warning in file(con, "w") :
cannot open file '/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2/RTCGA/doc/index.html': No such file or directory
Error in file(con, "w") : cannot open the connection
ERROR: installing vignettes failed
* removing ‘/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2/RTCGA’
* restoring previous ‘/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2/RTCGA’
Error: Command failed (1)
When I build package from source locally there are no errors. Can anyone know what can be a cause of this?
I needed to add
.onLoad <- function(libname, pkgname) {
vig_list = tools::vignetteEngine(package = 'knitr')
vweave <- vig_list[['knitr::knitr']][c('weave')][[1]]
vtangle <- vig_list[['knitr::knitr']][c('tangle')][[1]]
tools::vignetteEngine(pkgname, weave = vweave, tangle = vtangle,
pattern = "[.]Rmd$", package = pkgname)
#register_vignette_engines(pkgname)
}
this function to zzz.R file in R/ directory and knitr package to Dependencies in DESCRIPTION file.

No vignettes found by browseVignettes where they actually are there

I have a package on a github repository with 2 vignettes in the vignettes/ directory.
I tried to download if with devtools package like this
> if (!require(devtools)) {
+ install.packages("devtools")
+ require(devtools)
+ }
> install_github("MarcinKosinski/RTCGA", build_vignettes=TRUE)
Downloading github repo MarcinKosinski/RTCGA#master
Installing RTCGA
"D:/R-32~1.2/bin/x64/R" --no-site-file --no-environ --no-save --no-restore CMD INSTALL \
"C:/Users/Marcin/AppData/Local/Temp/Rtmpg1Kbfy/devtools3cf47f1f6731/MarcinKosinski-RTCGA-0d91d7c" \
--library="C:/Users/Marcin/Documents/R/win-library/3.2" --install-tests
* installing *source* package 'RTCGA' ...
** R
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (RTCGA)
Reloading installed RTCGA
Welcome to the RTCGA (version: 0.99.6).
but when I try to browse Vignettes it appears they were not build.
> library(RTCGA)
> browseVignettes("RTCGA")
No vignettes found by browseVignettes("RTCGA")
I've seen some old issue where people suggested to use build_vignettes=TRUE, but as you see it didn't help OR to add move Vignettes to remove inst/doc/ directory from .Rbuildignore file. But this must be and old issue, because I haven't seen such directory in a binary source after installation of the package.
I've also seen this answer on a similar question, but when I built source and then install package from a source it appears to have the same issue: No vignettes found by browseVignettes("RTCGA").
Any idea on how to make this work?
EDIT
According to Martin's answer
I've addedthis fragment of code to vignettes' YAML
vignette: >
%\VignetteIndexEntry{Integrating TCGA Data - RTCGA Tutorial}
%\VignetteEngine{knitr::rmarkdown}
I've edited YAML of 2 of my vignettes
I've added code to the beggining of YAML - this file
Just in case I once added new information to the end of YAML - this file
but still there appears there are no vignettes available after installation from github
> devtools::install_github("MarcinKosinski/RTCGA")
Downloading github repo MarcinKosinski/RTCGA#master
Installing RTCGA
'/usr/lib/R/bin/R' --vanilla CMD INSTALL \
'/tmp/Rtmpk34Zbr/devtools531845716f54/MarcinKosinski-RTCGA-5571117' \
--library='/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2' --install-tests
* installing *source* package ‘RTCGA’ ...
** R
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
** testing if installed package can be loaded
* DONE (RTCGA)
> library(RTCGA)
Welcome to the RTCGA (version: 0.99.6).
> browseVignettes("RTCGA")
No vignettes found by browseVignettes("RTCGA")
EDIT 2
Of course I've forgoten to add parameter buildVignettes = TRUE but after this it looks like vignettes are seen but there is some problem with their compilation during build:
devtools::install_github("MarcinKosinski/RTCGA", build_vignettes=TRUE)
Downloading github repo MarcinKosinski/RTCGA#master
Installing RTCGA
'/usr/lib/R/bin/R' --vanilla CMD build \
'/tmp/RtmpA7il1Q/devtools5fc871b48f57/MarcinKosinski-RTCGA-e47bdf6' \
--no-resave-data --no-manual
* checking for file ‘/tmp/RtmpA7il1Q/devtools5fc871b48f57/MarcinKosinski-RTCGA-e47bdf6/DESCRIPTION’ ... OK
* preparing ‘RTCGA’:
* checking DESCRIPTION meta-information ... OK
* installing the package to build vignettes
* creating vignettes ... OK
* checking for LF line-endings in source and make files
* checking for empty or unneeded directories
Removed empty directory ‘RTCGA/ghPage’
Removed empty directory ‘RTCGA/inst’
* building ‘RTCGA_0.99.6.tar.gz’
'/usr/lib/R/bin/R' --vanilla CMD INSTALL \
'/tmp/RtmpA7il1Q/RTCGA_0.99.6.tar.gz' \
--library='/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2' \
--install-tests
* installing *source* package ‘RTCGA’ ...
** R
** tests
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
Warning in file(con, "w") :
cannot open file '/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2/RTCGA/doc/index.html': No such file or directory
Error in file(con, "w") : cannot open the connection
ERROR: installing vignettes failed
* removing ‘/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2/RTCGA’
* restoring previous ‘/home/mkosinski/R/x86_64-pc-linux-gnu-library/3.2/RTCGA’
Error: Command failed (1)
From Writing R Extensions, section 1.4.2, your vignettes need to have a line
%\VignetteEngine{knitr::knitr}
in them; a common paradigm is to add the following to the yaml at the top of the vignette
vignette: >
%\VignetteIndexEntry{Integrating TCGA Data}
%\VignetteEngine{knitr::rmarkdown}
VignetteIndexEntry provides a convenient title for R's help system. Remember the BiocStyle package for creating vignettes with a consistent look.
I only could solve this, using:
devtools::build_vignettes()
Of course, then uploading the new files by git

ERROR: a 'NAMESPACE' file is required

I am trying to install some R packages on a Linux machine using
R CMD INSTALL -l <ourRlibrarylocation> <path where I saved the packagename.tar.gz file>
and I see an error message:
ERROR: a 'NAMESPACE' file is required
I am using R 3.0.1. Please help, I am new to R and just downloaded these packages for customers.
One example:
R CMD INSTALL -l /abcde/R/R-3.0.0/library /home/RFILES/PKG/UScensus2000tract_0.03.tar.gz
* installing *source* package âUScensus2000tractâ ...
ERROR: a 'NAMESPACE' file is required
* removing â/abcde/R/R-3.0.0/library/UScensus2000tractâ
According to the R documentation for writing extensions, all packages destined for version 3.0.0 and later must contain a NAMESPACE file. If you download an R package that gives you the above error, here's what you should try:
Untar the package:
tar -xvf the_package.tar.gz
Add a NAMESPACE file with the line exportPattern( "." ):
cd the_package
echo 'exportPattern( "." )' > NAMESPACE
cd ..
Re-tar the package:
tar -zcf the_package.tar.gz the_package
Try and install it again.
Hope that helps.
I actually just hit the same thing when compiling R-3.0.1. It looks to be that the package version that I was using was out of date. This was for proto:
# /var/local/R-3.0.1/bin/R CMD INSTALL -l /var/local/R-3.0.1/lib64/R/library proto_0.3-9.2.tar.gz
* installing *source* package ‘proto’ ...
ERROR: a 'NAMESPACE' file is required
* removing ‘/var/local/R-3.0.1/lib64/R/library/proto’
But there was a newer version for proto (0.3-10) which worked fine:
# ../var/local/R-3.0.1/bin/R CMD INSTALL -l ../var/local/R-3.0.1/lib64/R/library proto_0.3-10.tar.gz
* installing *source* package ‘proto’ ...
** package ‘proto’ successfully unpacked and MD5 sums checked
** R
** demo
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
‘proto.Rnw’
‘protoref.Rnw’
** testing if installed package can be loaded
* DONE (proto)
I had an older install of R (2.15), which the older proto package worked with:
# /var/local/R-2.15.0/bin/R CMD INSTALL -l /var/local/R-2.15.0/lib64/R/library proto_0.3-9.2.tar.gz
* installing *source* package 'proto' ...
** Creating default NAMESPACE file
** R
** demo
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** installing vignettes
'proto.Rnw'
'protoref.Rnw'
** testing if installed package can be loaded
It looks like the older version of R actually creates the missing NAMESPACE file, but the new version bails. Hope this helps you!
I found the following link more useful:
How should I deal with "package 'xxx' is not available (for R version x.y.z)" warning?
6. The package is out of date
It may have been archived (if it is no longer maintained and no longer passes R CMD check tests).
In this case, you can load an old version of the package using install_version()
library(devtools)
install_version("foobarbaz", "0.1.2")
An alternative is to install from the github CRAN mirror.
library(devtools)
install_github("cran/foobarbaz")
One can now use remotes::install_url() or remotes::install_local().
It installs dependencies and generates the NAMESPACE file automatically.

Resources