简体   繁体   中英

R Roxygen2 Warning: Variables with usage in documentation object but not in code

I am trying to make an R package that contains data files.

One data file, mydata.Rd, is annotated with the following Roxygen2 code:

#' My Title
#' @docType data
#' @keywords datasets
#' @references my name
#' (\\href{https://doi.org/etc.})
#' @source \\href{https://source}
"mydata"

I get the error:

Variables with usage in documentation object 'mydata' but not in code: 'mydata'

I've tried multiple things to fix this error. For example:

  • I have checked to make sure that the DESCRIPTION has LazyData: true
  • I removed the @usage tag that was originally in my Roxygen2 code
  • I have made sure that the.Rd file and the corresponding.R file both exist.

Advice is appreciated.

The problem is your .Rbuildignore file.

You had the line

^data/.+$

and the syntax for these entries is a perl-like regular expressions. I'm guessing you wanted to hide all files that started with a dot? But in regular expressions, a dot matches any character. So you were ignoring all your data files. You should have see this in your build log

─  checking for empty or unneeded directories
   Removed empty directory ‘hansardr/data’
   Omitted ‘LazyData’ and ‘LazyDataCompression’ from DESCRIPTION

The /data/ folder was empty because everything was ignored. You need to escape a dot with a slash in a regular expression

^data/\.+$

Then you won't get that particular error any more because your data files will actually exist when the code goes to check the variable names.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM