On 8/27/2014 9:29 AM, Michael Friendly wrote:
It works in the sense that Lahman::Label("yearID") will work even when Lahman is not in the search path, but R-devel CMD check will still give the same NOTE, though you can argue that that note is actally a "false positive".So, this would be version 1 of "2)":Label <- function(var, labels) { stopifnot(require(Lahman, quietly=TRUE)) if(missing(labels)) labels <- rbind(battingLabels, pitchingLabels, fieldingLabels) wanted <- which(labels[,1]==var) if (length(wanted)) labels[wanted[1],2] else var } And this would be version 2, using data(): Label <- function(var, labels) { stopifnot(require(Lahman, quietly=TRUE)) if(missing(labels)) { data(battingLabels); data(pitchingLabels); data(fieldingLabels) labels <- rbind(battingLabels, pitchingLabels, fieldingLabels) } wanted <- which(labels[,1]==var) if (length(wanted)) labels[wanted[1],2] else var }
Just to follow up: R-devel likes this less than it does my initial version. I still get no visible binding NOTES, and complaint about
using data() in a function: * checking R code for possible problems ... NOTE Label: no visible binding for global variable 'battingLabels' Label: no visible binding for global variable 'pitchingLabels' Label: no visible binding for global variable 'fieldingLabels' battingStats: no visible binding for global variable 'Batting' battingStats: no visible global function definition for 'mutate' playerInfo: no visible binding for global variable 'Master' teamInfo: no visible binding for global variable 'Teams' Found the following calls to data() loading into the global environment: File 'Lahman/R/Label.R': data(battingLabels) data(pitchingLabels) data(fieldingLabels) See section 'Good practice' in '?data'. ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
