[R/boxPlots.R:2:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
  utils::globalVariables(c("ageClass", "group", "proportionCC", "totalPixels", "vegCover", "zone"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxPlots.R:8:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L8) *style:* **Lines should not be more than 80 characters.**
```r
.doPlotBoxplot <- function(data, CCpnts = NULL, authStatus, fname = NULL, ageClasses, ...) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxPlots.R:8:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L8) *style:* **Variable or function name should be snake_case.**
```r
.doPlotBoxplot <- function(data, CCpnts = NULL, authStatus, fname = NULL, ageClasses, ...) {
^~~~~~~~~~~~~~
```
[R/boxPlots.R:8:34:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L8) *style:* **Variable or function name should be snake_case.**
```r
.doPlotBoxplot <- function(data, CCpnts = NULL, authStatus, fname = NULL, ageClasses, ...) {
                                 ^~~~~~
```
[R/boxPlots.R:8:49:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L8) *style:* **Variable or function name should be snake_case.**
```r
.doPlotBoxplot <- function(data, CCpnts = NULL, authStatus, fname = NULL, ageClasses, ...) {
                                                ^~~~~~~~~~
```
[R/boxPlots.R:8:75:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L8) *style:* **Variable or function name should be snake_case.**
```r
.doPlotBoxplot <- function(data, CCpnts = NULL, authStatus, fname = NULL, ageClasses, ...) {
                                                                          ^~~~~~~~~~
```
[R/boxPlots.R:13:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L13) *style:* **Lines should not be more than 80 characters.**
```r
    if (length(CCpnts) == 4) warning("length(CCpnts) != 4; only the first 4 will be used")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxPlots.R:35:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L35) *style:* **Variable or function name should be snake_case.**
```r
runBoxPlotsVegCover <- function(map, functionName, analysisGroups, dPath) {
^~~~~~~~~~~~~~~~~~~
```
[R/boxPlots.R:35:38:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L35) *style:* **Variable or function name should be snake_case.**
```r
runBoxPlotsVegCover <- function(map, functionName, analysisGroups, dPath) {
                                     ^~~~~~~~~~~~
```
[R/boxPlots.R:35:52:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L35) *style:* **Variable or function name should be snake_case.**
```r
runBoxPlotsVegCover <- function(map, functionName, analysisGroups, dPath) {
                                                   ^~~~~~~~~~~~~~
```
[R/boxPlots.R:35:68:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L35) *style:* **Variable or function name should be snake_case.**
```r
runBoxPlotsVegCover <- function(map, functionName, analysisGroups, dPath) {
                                                                   ^~~~~
```
[R/boxPlots.R:36:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L36) *style:* **Variable or function name should be snake_case.**
```r
  ageClasses <- c("Young", "Immature", "Mature", "Old")
  ^~~~~~~~~~
```
[R/boxPlots.R:37:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L37) *style:* **Variable or function name should be snake_case.**
```r
  allRepPolys <- na.omit(map@metadata[[analysisGroups]])
  ^~~~~~~~~~~
```
[R/boxPlots.R:41:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L41) *style:* **Lines should not be more than 80 characters.**
```r
    allData <- map@analysesData[[functionName]][["LeadingVegTypeByAgeClass"]][[poly]]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxPlots.R:41:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L41) *style:* **Variable or function name should be snake_case.**
```r
    allData <- map@analysesData[[functionName]][["LeadingVegTypeByAgeClass"]][[poly]]
    ^~~~~~~
```
[R/boxPlots.R:43:7:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L43) *style:* **Variable or function name should be snake_case.**
```r
      allData <- map@analysesData[[functionName]][[poly]] ## TODO: fix upstream
      ^~~~~~~
```
[R/boxPlots.R:44:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L44) *style:* **Variable or function name should be snake_case.**
```r
    allData <- unique(allData) ## remove duplicates; with LandWeb#89
    ^~~~~~~
```
[R/boxPlots.R:45:13:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L45) *style:* **Variable or function name should be snake_case.**
```r
    allData$vegCover <- gsub(" leading", "", allData$vegCover) %>%
            ^~~~~~~~
```
[R/boxPlots.R:48:13:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L48) *style:* **Variable or function name should be snake_case.**
```r
    allData$ageClass <- factor(allData$ageClass, ageClasses)
            ^~~~~~~~
```
[R/boxPlots.R:50:34:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L50) *warning:* **no visible binding for global variable ‘group’, Did you mean 'drop'?**
```r
    data <- allData[!grepl("CC", group)]
                                 ^~~~~
```
[R/boxPlots.R:52:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L52) *style:* **Variable or function name should be snake_case.**
```r
    dataCC <- allData[grepl("CC", group)]
    ^~~~~~
```
[R/boxPlots.R:52:35:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L52) *warning:* **no visible binding for global variable ‘group’, Did you mean 'drop'?**
```r
    dataCC <- allData[grepl("CC", group)]
                                  ^~~~~
```
[R/boxPlots.R:53:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L53) *style:* **Lines should not be more than 80 characters.**
```r
    setnames(dataCC, "proportion", "proportionCC") ## rename the column to proportionCC
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxPlots.R:53:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L53) *warning:* **no visible global function definition for ‘setnames’, Did you mean 'setNames'?**
```r
    setnames(dataCC, "proportion", "proportionCC") ## rename the column to proportionCC
    ^~~~~~~~
```
[R/boxPlots.R:54:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L54) *style:* **Variable or function name should be snake_case.**
```r
    dataCC <- dataCC[, c("group", "label", "NPixels") := list(NULL, NULL, NULL)]
    ^~~~~~
```
[R/boxPlots.R:54:55:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L54) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
    dataCC <- dataCC[, c("group", "label", "NPixels") := list(NULL, NULL, NULL)]
                                                      ^~
```
[R/boxPlots.R:56:32:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L56) *warning:* **no visible global function definition for ‘.’, Did you mean 'C'?**
```r
    data2 <- dataCC[data, on = .(zone, vegCover, ageClass)]
                               ^
```
[R/boxPlots.R:56:34:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L56) *warning:* **no visible binding for global variable ‘zone’, Did you mean 'line'?**
```r
    data2 <- dataCC[data, on = .(zone, vegCover, ageClass)]
                                 ^~~~
```
[R/boxPlots.R:56:40:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L56) *warning:* **no visible binding for global variable ‘vegCover’**
```r
    data2 <- dataCC[data, on = .(zone, vegCover, ageClass)]
                                       ^~~~~~~~
```
[R/boxPlots.R:56:50:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L56) *warning:* **no visible binding for global variable ‘ageClass’, Did you mean 'ageClasses'?**
```r
    data2 <- dataCC[data, on = .(zone, vegCover, ageClass)]
                                                 ^~~~~~~~
```
[R/boxPlots.R:59:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L59) *style:* **Lines should not be more than 80 characters.**
```r
    ## NOTE: this is number of TREED pixels, which is likely smaller than the polygon area
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxPlots.R:60:13:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L60) *style:* **Variable or function name should be snake_case.**
```r
    data2[, totalPixels := base::sum(.SD, na.rm = TRUE) / 2,
            ^~~~~~~~~~~
```
[R/boxPlots.R:63:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L63) *style:* **Lines should not be more than 80 characters.**
```r
    try(write.csv(data2, file.path(dPath, paste0("leading_", gsub(" ", "_", poly), ".csv"))))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxPlots.R:64:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L64) *style:* **Variable or function name should be snake_case.**
```r
    saveDir <- checkPath(file.path(dPath, poly), create = TRUE)
    ^~~~~~~
```
[R/boxPlots.R:64:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L64) *warning:* **local variable ‘saveDir’ assigned but may not be used**
```r
    saveDir <- checkPath(file.path(dPath, poly), create = TRUE)
    ^~~~~~~
```
[R/boxPlots.R:64:16:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L64) *warning:* **no visible global function definition for ‘checkPath’**
```r
    saveDir <- checkPath(file.path(dPath, poly), create = TRUE)
               ^~~~~~~~~
```
[R/boxPlots.R:65:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L65) *style:* **Lines should not be more than 80 characters.**
```r
    savePng <- quote(file.path(saveDir, paste0(unique(paste(zone, vegCover, collapse = " ")), ".png")))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxPlots.R:65:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L65) *style:* **Variable or function name should be snake_case.**
```r
    savePng <- quote(file.path(saveDir, paste0(unique(paste(zone, vegCover, collapse = " ")), ".png")))
    ^~~~~~~
```
[R/boxPlots.R:74:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L74) *style:* **Lines should not be more than 80 characters.**
```r
                                    main = unique(paste(zone, vegCover, collapse = "_")),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxPlots.R:75:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L75) *style:* **Lines should not be more than 80 characters.**
```r
                                    xlab = paste0("Proportion of of forest area (total ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxPlots.R:78:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L78) *style:* **Lines should not be more than 80 characters.**
```r
                                                    res(rasterToMatch(map))[2] / 1e4,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxPlots.R:84:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/boxPlots.R#L84) *style:* **Lines should not be more than 80 characters.**
```r
      .SDcols = c("ageClass", "proportion", "proportionCC", "NPixels"), by = slices]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:5:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L5) *style:* **Lines should not be more than 80 characters.**
```r
#' @param isRasterToMatch Logical. Is this(these) layer(s) the \code{rasterToMatch} layers.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:6:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#'        If \code{TRUE}, then this layer can be accessed by \code{rasterToMatch(map)}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:16:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L16) *style:* **Lines should not be more than 80 characters.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:16:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L16) *style:* **Variable or function name should be snake_case.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
^~~~~~~~~~~~~
```
[R/buildMetadata.R:16:37:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L16) *style:* **Variable or function name should be snake_case.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
                                    ^~~~~~~~~~~
```
[R/buildMetadata.R:16:50:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L16) *style:* **Variable or function name should be snake_case.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
                                                 ^~~~~~~~~~~~~~~
```
[R/buildMetadata.R:16:67:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L16) *style:* **Variable or function name should be snake_case.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
                                                                  ^~~~~~~~~
```
[R/buildMetadata.R:17:27:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L17) *style:* **Variable or function name should be snake_case.**
```r
                          columnNameForLabels, objHash, leaflet, envir, ...) {
                          ^~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:17:48:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L17) *style:* **Variable or function name should be snake_case.**
```r
                          columnNameForLabels, objHash, leaflet, envir, ...) {
                                               ^~~~~~~
```
[R/buildMetadata.R:19:8:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L19) *warning:* **no visible global function definition for ‘copy’, Did you mean 'coef'?**
```r
  b <- copy(.singleMetadataNAEntry)
       ^~~~
```
[R/buildMetadata.R:19:13:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L19) *warning:* **no visible binding for global variable ‘.singleMetadataNAEntry’**
```r
  b <- copy(.singleMetadataNAEntry)
            ^~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:25:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L25) *style:* **Variable or function name should be snake_case.**
```r
    studyAreaNumber <- 1 + NROW(metadata[compareNA(studyArea, TRUE) |
    ^~~~~~~~~~~~~~~
```
[R/buildMetadata.R:26:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L26) *style:* **Lines should not be more than 80 characters.**
```r
                                               (is.numeric(studyArea) & studyArea > 0)])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:27:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L27) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
    set(b, NULL, "studyArea", studyAreaNumber)
    ^~~
```
[R/buildMetadata.R:28:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L28) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
    set(b, NULL, "area", area)
    ^~~
```
[R/buildMetadata.R:31:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L31) *style:* **Variable or function name should be snake_case.**
```r
    rasterToMatchNumber <- 1 + NROW(metadata[compareNA(rasterToMatch, TRUE) |
    ^~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:32:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L32) *style:* **Lines should not be more than 80 characters.**
```r
                                           (is.numeric(rasterToMatch) & rasterToMatch > 0)])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:33:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L33) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
    set(b, NULL, "rasterToMatch", rasterToMatchNumber)
    ^~~
```
[R/buildMetadata.R:38:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L38) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "layerName", layerName)
  ^~~
```
[R/buildMetadata.R:39:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L39) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "layerType", class(obj))
  ^~~
```
[R/buildMetadata.R:42:7:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L42) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
      set(b, NULL, "columnNameForLabels", columnNameForLabels)
      ^~~
```
[R/buildMetadata.R:45:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L45) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "objectHash", objHash)
  ^~~
```
[R/buildMetadata.R:48:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L48) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
    set(b, NULL, "leaflet", leaflet)
    ^~~
```
[R/buildMetadata.R:50:14:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L50) *warning:* **no visible global function definition for ‘.robustDigest’**
```r
      dig <- .robustDigest(obj)
             ^~~~~~~~~~~~~
```
[R/buildMetadata.R:51:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L51) *style:* **Lines should not be more than 80 characters.**
```r
      tilePath <- asPath(file.path(leaflet, paste0("tiles_", layerName, "_", substr(dig, 1,6))))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:51:7:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L51) *style:* **Variable or function name should be snake_case.**
```r
      tilePath <- asPath(file.path(leaflet, paste0("tiles_", layerName, "_", substr(dig, 1,6))))
      ^~~~~~~~
```
[R/buildMetadata.R:51:19:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L51) *warning:* **no visible global function definition for ‘asPath’**
```r
      tilePath <- asPath(file.path(leaflet, paste0("tiles_", layerName, "_", substr(dig, 1,6))))
                  ^~~~~~
```
[R/buildMetadata.R:51:92:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L51) *style:* **Commas should always have a space after.**
```r
      tilePath <- asPath(file.path(leaflet, paste0("tiles_", layerName, "_", substr(dig, 1,6))))
                                                                                ^
```
[R/buildMetadata.R:52:7:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L52) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
      set(b, NULL, "leafletTiles", tilePath)
      ^~~
```
[R/buildMetadata.R:56:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L56) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "envir", list(list(envir)))
  ^~~
```
[R/buildMetadata.R:60:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L60) *style:* **Lines should not be more than 80 characters.**
```r
    dots <- dots[!unlist(lapply(dots, is.null))] # remove NULL because that isn't added to data.table anyway
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:73:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L73) *style:* **Variable or function name should be snake_case.**
```r
  columnsToAdd <- dots
  ^~~~~~~~~~~~
```
[R/buildMetadata.R:81:9:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L81) *style:* **Variable or function name should be snake_case.**
```r
        needToSet <- TRUE
        ^~~~~~~~~
```
[R/buildMetadata.R:84:11:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/buildMetadata.R#L84) *style:* **Variable or function name should be snake_case.**
```r
          needToSet <- tryCatch(set(b, NULL, nta, cta), silent = TRUE,
          ^~~~~~~~~
```
[R/largePatches.R:21:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L21) *style:* **Lines should not be more than 80 characters.**
```r
LargePatches <- function(tsf, vtm, poly, labelColumn, id, ageClassCutOffs, ageClasses) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:21:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L21) *style:* **Variable or function name should be snake_case.**
```r
LargePatches <- function(tsf, vtm, poly, labelColumn, id, ageClassCutOffs, ageClasses) {
^~~~~~~~~~~~
```
[R/largePatches.R:21:42:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L21) *style:* **Variable or function name should be snake_case.**
```r
LargePatches <- function(tsf, vtm, poly, labelColumn, id, ageClassCutOffs, ageClasses) {
                                         ^~~~~~~~~~~
```
[R/largePatches.R:21:59:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L21) *style:* **Variable or function name should be snake_case.**
```r
LargePatches <- function(tsf, vtm, poly, labelColumn, id, ageClassCutOffs, ageClasses) {
                                                          ^~~~~~~~~~~~~~~
```
[R/largePatches.R:21:76:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L21) *style:* **Variable or function name should be snake_case.**
```r
LargePatches <- function(tsf, vtm, poly, labelColumn, id, ageClassCutOffs, ageClasses) {
                                                                           ^~~~~~~~~~
```
[R/largePatches.R:27:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L27) *style:* **Variable or function name should be snake_case.**
```r
  timeSinceFireFilesRast <- Cache(.rasterToMemory, tsf[1])
  ^~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:27:29:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L27) *warning:* **no visible global function definition for ‘Cache’**
```r
  timeSinceFireFilesRast <- Cache(.rasterToMemory, tsf[1])
                            ^~~~~
```
[R/largePatches.R:27:35:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L27) *warning:* **no visible binding for global variable ‘.rasterToMemory’**
```r
  timeSinceFireFilesRast <- Cache(.rasterToMemory, tsf[1])
                                  ^~~~~~~~~~~~~~~
```
[R/largePatches.R:36:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L36) *style:* **Variable or function name should be snake_case.**
```r
  rasRepPoly <- Cache(
  ^~~~~~~~~~
```
[R/largePatches.R:39:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L39) *style:* **Lines should not be more than 80 characters.**
```r
    emptyRaster = raster(timeSinceFireFilesRast), # doesn't need to the data -- makes Caching more effective
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:44:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L44) *style:* **Variable or function name should be snake_case.**
```r
  rasVeg <- Cache(.rasterToMemory, vtm)
  ^~~~~~
```
[R/largePatches.R:44:13:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L44) *warning:* **no visible global function definition for ‘Cache’**
```r
  rasVeg <- Cache(.rasterToMemory, vtm)
            ^~~~~
```
[R/largePatches.R:44:19:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L44) *warning:* **no visible binding for global variable ‘.rasterToMemory’**
```r
  rasVeg <- Cache(.rasterToMemory, vtm)
                  ^~~~~~~~~~~~~~~
```
[R/largePatches.R:46:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L46) *style:* **Lines should not be more than 80 characters.**
```r
  splitVal <- paste0("_", 75757575, "_") # unlikely to occur for any other reason
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:46:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L46) *style:* **Variable or function name should be snake_case.**
```r
  splitVal <- paste0("_", 75757575, "_") # unlikely to occur for any other reason
  ^~~~~~~~
```
[R/largePatches.R:57:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L57) *style:* **Lines should not be more than 80 characters.**
```r
    colID <- which(colnames(raster::levels(rasVeg)[[1]]) %in% c("category", "Factor", "VALUE"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:57:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L57) *style:* **Variable or function name should be snake_case.**
```r
    colID <- which(colnames(raster::levels(rasVeg)[[1]]) %in% c("category", "Factor", "VALUE"))
    ^~~~~
```
[R/largePatches.R:64:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L64) *style:* **Lines should not be more than 80 characters.**
```r
    if (!identical(length(name1), length(name2)) || !identical(length(name1), length(name3)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:65:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L65) *style:* **Lines should not be more than 80 characters.**
```r
      stop("There is something wrong with tsf or rasVeg or rasRepPoly inside LargePatches")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:68:12:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L68) *warning:* **no visible global function definition for ‘raster’, Did you mean 'rasVeg'?**
```r
    ras <- raster(rasVeg)
           ^~~~~~
```
[R/largePatches.R:69:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L69) *style:* **Variable or function name should be snake_case.**
```r
    ffFactor <- factor(ff)
    ^~~~~~~~
```
[R/largePatches.R:72:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L72) *style:* **Lines should not be more than 80 characters.**
```r
    areaAndPolyOut <- Cache(areaAndPolyValue, ras, length = Inf) # maybe lots of NAs on edge
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:72:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L72) *style:* **Variable or function name should be snake_case.**
```r
    areaAndPolyOut <- Cache(areaAndPolyValue, ras, length = Inf) # maybe lots of NAs on edge
    ^~~~~~~~~~~~~~
```
[R/largePatches.R:72:23:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L72) *warning:* **no visible global function definition for ‘Cache’**
```r
    areaAndPolyOut <- Cache(areaAndPolyValue, ras, length = Inf) # maybe lots of NAs on edge
                      ^~~~~
```
[R/largePatches.R:72:29:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L72) *warning:* **no visible binding for global variable ‘areaAndPolyValue’**
```r
    areaAndPolyOut <- Cache(areaAndPolyValue, ras, length = Inf) # maybe lots of NAs on edge
                            ^~~~~~~~~~~~~~~~
```
[R/largePatches.R:73:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L73) *style:* **Lines should not be more than 80 characters.**
```r
    eTable <- data.frame(ID = seq_along(levels(ffFactor)), VALUE = levels(ffFactor))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:73:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L73) *style:* **Variable or function name should be snake_case.**
```r
    eTable <- data.frame(ID = seq_along(levels(ffFactor)), VALUE = levels(ffFactor))
    ^~~~~~
```
[R/largePatches.R:77:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L77) *style:* **Variable or function name should be snake_case.**
```r
    facPolygonID <- factor(types[areaAndPolyOut$polyID,3])
    ^~~~~~~~~~~~
```
[R/largePatches.R:77:56:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L77) *style:* **Commas should always have a space after.**
```r
    facPolygonID <- factor(types[areaAndPolyOut$polyID,3])
                                                       ^
```
[R/largePatches.R:79:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L79) *style:* **Variable or function name should be snake_case.**
```r
    outBySpecies <- data.table(polygonID = as.numeric(facPolygonID),
    ^~~~~~~~~~~~
```
[R/largePatches.R:89:12:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L89) *warning:* **no visible global function definition for ‘raster’, Did you mean 'rasVeg'?**
```r
    ras <- raster(rasVeg)
           ^~~~~~
```
[R/largePatches.R:90:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L90) *style:* **Variable or function name should be snake_case.**
```r
    ffFactor <- factor(ff)
    ^~~~~~~~
```
[R/largePatches.R:94:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L94) *style:* **Lines should not be more than 80 characters.**
```r
    areaAndPolyOut2 <- Cache(areaAndPolyValue, ras, length = Inf) # maybe lots of NAs on edge
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:94:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L94) *style:* **Variable or function name should be snake_case.**
```r
    areaAndPolyOut2 <- Cache(areaAndPolyValue, ras, length = Inf) # maybe lots of NAs on edge
    ^~~~~~~~~~~~~~~
```
[R/largePatches.R:94:24:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L94) *warning:* **no visible global function definition for ‘Cache’**
```r
    areaAndPolyOut2 <- Cache(areaAndPolyValue, ras, length = Inf) # maybe lots of NAs on edge
                       ^~~~~
```
[R/largePatches.R:94:30:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L94) *warning:* **no visible binding for global variable ‘areaAndPolyValue’**
```r
    areaAndPolyOut2 <- Cache(areaAndPolyValue, ras, length = Inf) # maybe lots of NAs on edge
                             ^~~~~~~~~~~~~~~~
```
[R/largePatches.R:96:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L96) *style:* **Lines should not be more than 80 characters.**
```r
    eTable <- data.frame(ID = seq_along(levels(ffFactor)), VALUE = levels(ffFactor))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:96:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L96) *style:* **Variable or function name should be snake_case.**
```r
    eTable <- data.frame(ID = seq_along(levels(ffFactor)), VALUE = levels(ffFactor))
    ^~~~~~
```
[R/largePatches.R:100:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L100) *style:* **Variable or function name should be snake_case.**
```r
    facPolygonID <- factor(types[areaAndPolyOut2$polyID, 2])
    ^~~~~~~~~~~~
```
[R/largePatches.R:102:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L102) *style:* **Variable or function name should be snake_case.**
```r
    outAllSpecies <- data.table(polygonID = as.numeric(facPolygonID),
    ^~~~~~~~~~~~~
```
[R/largePatches.R:109:12:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L109) *warning:* **no visible global function definition for ‘rbindlist’**
```r
    out <- rbindlist(list(outBySpecies, outAllSpecies))
           ^~~~~~~~~
```
[R/largePatches.R:110:16:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L110) *warning:* **no visible binding for global variable ‘sizeInHa’**
```r
    out <- out[sizeInHa >= 100] # never will need patches smaller than 100 ha
               ^~~~~~~~
```
[R/largePatches.R:113:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L113) *style:* **Lines should not be more than 80 characters.**
```r
    #f <- file.path(Paths$outputPath, "boxplots", paste0("largePatches_", STUDYAREA, ".csv"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:113:6:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L113) *style:* **Commented code should be removed.**
```r
    #f <- file.path(Paths$outputPath, "boxplots", paste0("largePatches_", STUDYAREA, ".csv"))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:114:6:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L114) *style:* **Commented code should be removed.**
```r
    #write.csv(out, f)
     ^~~~~~~~~~~~~~~~~
```
[R/largePatches.R:116:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L116) *style:* **Lines should not be more than 80 characters.**
```r
    out <- data.table(polygonID = character(), sizeInHa = numeric(), vegCover = character(),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:117:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L117) *style:* **Lines should not be more than 80 characters.**
```r
                      rep = numeric(), ageClass = numeric(), polygonName = numeric())
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:123:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L123) *style:* **Variable or function name should be snake_case.**
```r
areaAndPolyValue <- function(ras) {
^~~~~~~~~~~~~~~~
```
[R/largePatches.R:124:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L124) *style:* **Variable or function name should be snake_case.**
```r
  polyIndivSpecies <- gdal_polygonizeR(ras) # 99 seconds with full ras
  ^~~~~~~~~~~~~~~~
```
[R/largePatches.R:124:23:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L124) *warning:* **no visible global function definition for ‘gdal_polygonizeR’**
```r
  polyIndivSpecies <- gdal_polygonizeR(ras) # 99 seconds with full ras
                      ^~~~~~~~~~~~~~~~
```
[R/largePatches.R:125:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L125) *style:* **Variable or function name should be snake_case.**
```r
  pArea <- as.numeric(sf::st_area(polyIndivSpecies) / 1e4)
  ^~~~~
```
[R/largePatches.R:131:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L131) *style:* **Lines should not be more than 80 characters.**
```r
#' Copied from https://johnbaumgartner.wordpress.com/2012/07/26/getting-rasters-into-shape-from-r/
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:144:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L144) *style:* **Variable or function name should be snake_case.**
```r
gdal_polygonizeR <- function(x, outshape = NULL, gdalformat = "ESRI Shapefile",
^~~~~~~~~~~~~~~~
```
[R/largePatches.R:159:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L159) *style:* **Lines should not be more than 80 characters.**
```r
  if (!file.exists(pypath)) stop("Can't find gdal_polygonize.py on your system.")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:167:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L167) *style:* **Variable or function name should be snake_case.**
```r
    f.exists <- file.exists(paste(outshape, c("shp", "shx", "dbf"), sep = "."))
    ^~~~~~~~
```
[R/largePatches.R:170:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L170) *style:* **Lines should not be more than 80 characters.**
```r
                   toString(paste(outshape, c("shp", "shx", "dbf"), sep = ".")[f.exists])),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:176:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L176) *warning:* **no visible global function definition for ‘writeRaster’**
```r
    writeRaster(x, rastpath, datatype = assessDataType(x))
    ^~~~~~~~~~~
```
[R/largePatches.R:176:41:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L176) *warning:* **no visible global function definition for ‘assessDataType’**
```r
    writeRaster(x, rastpath, datatype = assessDataType(x))
                                        ^~~~~~~~~~~~~~
```
[R/largePatches.R:184:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L184) *style:* **Lines should not be more than 80 characters.**
```r
    shp <- sf::read_sf(dsn = dirname(outshape), layer = basename(file_path_sans_ext(outshape)))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:184:66:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L184) *warning:* **no visible global function definition for ‘file_path_sans_ext’**
```r
    shp <- sf::read_sf(dsn = dirname(outshape), layer = basename(file_path_sans_ext(outshape)))
                                                                 ^~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:185:22:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L185) *warning:* **no visible global function definition for ‘extent’, Did you mean 'extends'?**
```r
    sf::st_bbox(shp, extent(x))
                     ^~~~~~
```
[R/largePatches.R:192:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L192) *style:* **Variable or function name should be snake_case.**
```r
.rasterToMemory <- function(x, ...) {
^~~~~~~~~~~~~~~
```
[R/largePatches.R:193:8:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/largePatches.R#L193) *warning:* **no visible global function definition for ‘raster’, Did you mean 'paste'?**
```r
  r <- raster(x, ...)
       ^~~~~~
```
[R/leading.R:11:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L11) *style:* **Lines should not be more than 80 characters.**
```r
#' It is also recursive of passed a vector of filenames for \code{tsf} and \code{vtm}.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:13:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L13) *style:* **Lines should not be more than 80 characters.**
```r
#' @param tsf A single filename, relative or absolute, pointing to a Time Since Fire raster.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:15:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L15) *style:* **Lines should not be more than 80 characters.**
```r
#' @param vtm A single filename, relative or absolute, pointing to a Vegetation Type Map raster.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:17:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L17) *style:* **Lines should not be more than 80 characters.**
```r
#' @param poly A single \code{SpatialPolygonsDataFrame} object or a factor \code{RasterLayer}.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:19:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L19) *style:* **Lines should not be more than 80 characters.**
```r
#' @param ageClasses A character vector with labels for age classes to bin the \code{tsf} times,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:21:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L21) *style:* **Lines should not be more than 80 characters.**
```r
#' @param ageClassCutOffs A numeric vector with the endpoints for the \code{ageClasses}.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:24:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L24) *style:* **Lines should not be more than 80 characters.**
```r
#' @return A \code{data.table} with proportion of the pixels in each vegetation class,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:32:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L32) *style:* **Lines should not be more than 80 characters.**
```r
LeadingVegTypeByAgeClass <- function(tsf, vtm, poly, ageClassCutOffs, ageClasses) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:32:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L32) *style:* **Variable or function name should be snake_case.**
```r
LeadingVegTypeByAgeClass <- function(tsf, vtm, poly, ageClassCutOffs, ageClasses) {
^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:32:54:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L32) *style:* **Variable or function name should be snake_case.**
```r
LeadingVegTypeByAgeClass <- function(tsf, vtm, poly, ageClassCutOffs, ageClasses) {
                                                     ^~~~~~~~~~~~~~~
```
[R/leading.R:32:71:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L32) *style:* **Variable or function name should be snake_case.**
```r
LeadingVegTypeByAgeClass <- function(tsf, vtm, poly, ageClassCutOffs, ageClasses) {
                                                                      ^~~~~~~~~~
```
[R/leading.R:34:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L34) *style:* **Variable or function name should be snake_case.**
```r
  startTime <- Sys.time()
  ^~~~~~~~~
```
[R/leading.R:36:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L36) *style:* **Variable or function name should be snake_case.**
```r
    ageClassCutOffs <- c(ageClassCutOffs, Inf)
    ^~~~~~~~~~~~~~~
```
[R/leading.R:42:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L42) *style:* **Variable or function name should be snake_case.**
```r
  timeSinceFireFilesRast <- raster(tsf[1])
  ^~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:42:29:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L42) *warning:* **no visible global function definition for ‘raster’, Did you mean 'rasVeg'?**
```r
  timeSinceFireFilesRast <- raster(tsf[1])
                            ^~~~~~
```
[R/leading.R:46:4:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L46) *style:* **Commented code should be removed.**
```r
  #timeSinceFireFilesRast <- Cache(rasterToMemory, tsf[1])
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:48:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L48) *style:* **Variable or function name should be snake_case.**
```r
  rasTsf <- reclassify(
  ^~~~~~
```
[R/leading.R:60:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L60) *style:* **Variable or function name should be snake_case.**
```r
  rasVeg <- raster(vtm[1])
  ^~~~~~
```
[R/leading.R:60:13:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L60) *warning:* **no visible global function definition for ‘raster’, Did you mean 'rasVeg'?**
```r
  rasVeg <- raster(vtm[1])
            ^~~~~~
```
[R/leading.R:63:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L63) *style:* **Lines should not be more than 80 characters.**
```r
  splitVal <- paste0("_", 75757575, "_") # unlikely to occur for any other reason
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:63:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L63) *style:* **Variable or function name should be snake_case.**
```r
  splitVal <- paste0("_", 75757575, "_") # unlikely to occur for any other reason
  ^~~~~~~~
```
[R/leading.R:69:25:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L69) *warning:* **no visible global function definition for ‘factorValues’**
```r
  name1 <- as.character(factorValues(rasTsf, rasTsf[][!nas])[, 1])
                        ^~~~~~~~~~~~
```
[R/leading.R:70:4:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L70) *style:* **Commented code should be removed.**
```r
  #as.character(raster::levels(rasTsf)[[1]]$Factor)[rasTsf[][!nas]]
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:71:25:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L71) *warning:* **no visible global function definition for ‘factorValues’**
```r
  name3 <- as.character(factorValues(rasVeg, rasVeg[][!nas])[, 1])
                        ^~~~~~~~~~~~
```
[R/leading.R:72:4:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L72) *style:* **Commented code should be removed.**
```r
  #as.character(raster::levels(rasVeg)[[1]]$Factor)[rasVeg[][!nas]]
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:75:10:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L75) *warning:* **no visible global function definition for ‘raster’, Did you mean 'rasVeg'?**
```r
  ras <- raster(rasVeg)
         ^~~~~~
```
[R/leading.R:76:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L76) *style:* **Variable or function name should be snake_case.**
```r
  ffFactor <- factor(ff)
  ^~~~~~~~
```
[R/leading.R:79:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L79) *style:* **Lines should not be more than 80 characters.**
```r
  eTable <- data.frame(ID = seq_along(levels(ffFactor)), VALUE = levels(ffFactor))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:79:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L79) *style:* **Variable or function name should be snake_case.**
```r
  eTable <- data.frame(ID = seq_along(levels(ffFactor)), VALUE = levels(ffFactor))
  ^~~~~~
```
[R/leading.R:83:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L83) *style:* **Lines should not be more than 80 characters.**
```r
  levels(ras) <- data.frame(eTable, ageClass = types[, 1], vegCover = types[, 2])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:90:13:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L90) *warning:* **no visible global function definition for ‘Cache’**
```r
    poly <- Cache(fasterize2, rasTsf, poly, field = "polygonNum")
            ^~~~~
```
[R/leading.R:90:19:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L90) *warning:* **no visible binding for global variable ‘fasterize2’**
```r
    poly <- Cache(fasterize2, rasTsf, poly, field = "polygonNum")
                  ^~~~~~~~~~
```
[R/leading.R:96:11:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L96) *warning:* **no visible global function definition for ‘factorValues’**
```r
  levs <- factorValues(poly, levs$ID)
          ^~~~~~~~~~~~
```
[R/leading.R:97:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L97) *style:* **Variable or function name should be snake_case.**
```r
  facVals <- factorValues(
  ^~~~~~~
```
[R/leading.R:110:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L110) *style:* **Lines should not be more than 80 characters.**
```r
  bb[, c("ageClass", "vegCover") := factorValues(ras, ras[][bb$cell], att = c("ageClass", "vegCover"))]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:110:34:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L110) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
  bb[, c("ageClass", "vegCover") := factorValues(ras, ras[][bb$cell], att = c("ageClass", "vegCover"))]
                                 ^~
```
[R/leading.R:110:37:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L110) *warning:* **no visible global function definition for ‘factorValues’**
```r
  bb[, c("ageClass", "vegCover") := factorValues(ras, ras[][bb$cell], att = c("ageClass", "vegCover"))]
                                    ^~~~~~~~~~~~
```
[R/leading.R:114:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L114) *style:* **Lines should not be more than 80 characters.**
```r
  #tabulated <- bb[, list(NPixels = .N), by = c("zone", "polygonID", "ageClass", "vegCover")] ## keeps polyID
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:114:4:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L114) *style:* **Commented code should be removed.**
```r
  #tabulated <- bb[, list(NPixels = .N), by = c("zone", "polygonID", "ageClass", "vegCover")] ## keeps polyID
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:115:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L115) *style:* **Lines should not be more than 80 characters.**
```r
  tabulated <- bb[, list(NPixels = .N), by = c("zone", "ageClass", "vegCover")] ## dedupes the zones
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:115:36:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L115) *warning:* **no visible binding for global variable ‘.N’, Did you mean 'bb'?**
```r
  tabulated <- bb[, list(NPixels = .N), by = c("zone", "ageClass", "vegCover")] ## dedupes the zones
                                   ^~
```
[R/leading.R:116:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L116) *style:* **Lines should not be more than 80 characters.**
```r
  tabulated[, proportion := round(NPixels / sum(NPixels), 4), by = c("zone", "vegCover")]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:116:15:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L116) *warning:* **no visible binding for global variable ‘proportion’**
```r
  tabulated[, proportion := round(NPixels / sum(NPixels), 4), by = c("zone", "vegCover")]
              ^~~~~~~~~~
```
[R/leading.R:116:26:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L116) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
  tabulated[, proportion := round(NPixels / sum(NPixels), 4), by = c("zone", "vegCover")]
                         ^~
```
[R/leading.R:116:35:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L116) *warning:* **no visible binding for global variable ‘NPixels’**
```r
  tabulated[, proportion := round(NPixels / sum(NPixels), 4), by = c("zone", "vegCover")]
                                  ^~~~~~~
```
[R/leading.R:116:35:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L116) *warning:* **no visible binding for global variable ‘NPixels’**
```r
  tabulated[, proportion := round(NPixels / sum(NPixels), 4), by = c("zone", "vegCover")]
                                  ^~~~~~~
```
[R/leading.R:119:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L119) *style:* **Lines should not be more than 80 characters.**
```r
  #tabulated2 <- bb[, list(NPixels = .N), by = c("zone", "polygonID", "ageClass")] ## keeps polyID
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:119:4:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L119) *style:* **Commented code should be removed.**
```r
  #tabulated2 <- bb[, list(NPixels = .N), by = c("zone", "polygonID", "ageClass")] ## keeps polyID
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:120:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L120) *style:* **Lines should not be more than 80 characters.**
```r
  tabulated2 <- bb[, list(NPixels = .N), by = c("zone", "ageClass")] ## dedupes the zones
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:120:37:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L120) *warning:* **no visible binding for global variable ‘.N’, Did you mean 'bb'?**
```r
  tabulated2 <- bb[, list(NPixels = .N), by = c("zone", "ageClass")] ## dedupes the zones
                                    ^~
```
[R/leading.R:121:16:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L121) *warning:* **no visible binding for global variable ‘proportion’**
```r
  tabulated2[, proportion := round(NPixels / sum(NPixels), 4), by = c("zone")]
               ^~~~~~~~~~
```
[R/leading.R:121:27:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L121) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
  tabulated2[, proportion := round(NPixels / sum(NPixels), 4), by = c("zone")]
                          ^~
```
[R/leading.R:121:36:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L121) *warning:* **no visible binding for global variable ‘NPixels’**
```r
  tabulated2[, proportion := round(NPixels / sum(NPixels), 4), by = c("zone")]
                                   ^~~~~~~
```
[R/leading.R:121:36:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L121) *warning:* **no visible binding for global variable ‘NPixels’**
```r
  tabulated2[, proportion := round(NPixels / sum(NPixels), 4), by = c("zone")]
                                   ^~~~~~~
```
[R/leading.R:122:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L122) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(tabulated2, NULL, "vegCover", "All species")
  ^~~
```
[R/leading.R:124:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L124) *style:* **Lines should not be more than 80 characters.**
```r
  tabulated <- rbindlist(list(tabulated, tabulated2), use.names = TRUE, fill = TRUE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:124:16:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L124) *warning:* **no visible global function definition for ‘rbindlist’**
```r
  tabulated <- rbindlist(list(tabulated, tabulated2), use.names = TRUE, fill = TRUE)
               ^~~~~~~~~
```
[R/leading.R:126:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L126) *style:* **Lines should not be more than 80 characters.**
```r
  ## column containing the factor names varies, so we need to search for the right one
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:127:1:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L127) *style:* **Lines should not be more than 80 characters.**
```r
  colID <- which(colnames(raster::levels(rasVeg)[[1]]) %in% c("category", "Factor", "VALUE"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/leading.R:127:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L127) *style:* **Variable or function name should be snake_case.**
```r
  colID <- which(colnames(raster::levels(rasVeg)[[1]]) %in% c("category", "Factor", "VALUE"))
  ^~~~~
```
[R/leading.R:128:3:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L128) *style:* **Variable or function name should be snake_case.**
```r
  coverClasses <- raster::levels(rasVeg)[[1]][[colID]]
  ^~~~~~~~~~~~
```
[R/leading.R:130:5:](https://github.com/PredictiveEcology/map/blob/bd62441efdd367f32895400fcf0d97d2848bb11f/R/leading.R#L130) *style:* **Variable or function name should be snake_case.**
```r
    coverClasses <- levels(coverClasses)
    ^~~~~~~~~~~~
```


![](https://github.trello.services/images/mini-trello-icon.png) [Enemy AI Movement](https://trello.com/c/Kcc74MRm/91-enemy-ai-movement)


this is great code here.


@ewlarson Is this being addressed elsewhere in the deploy? database.yml was not ignored because we only run prod mode and had to define the environment variables there. Currently it is not possible to deploy from `develop` because it's not present for migrations.


In the playground example, there is a compile error on `greet(mockGreeter)` without the `& T`:

Property 'name' is missing in type 'ObjectSubstituteTransformation<Greeter>' but required in type 'Greeter'.

Because `name` is private, it won't show up in `ObjectSubstituteTransformation` because the `keyof Greeter` won't return it.

Which is normally fine/what you want for mapped types, and for interfaces it doesn't matter because they can't have private fields. But for classes, TypeScript's type checking still considers private fields as part of the type, so we need `& T` to tell TS "sure, pretend this private field is still there".

This "class private fields are considered part of the type" also leads to weird quirks like:

https://github.com/Microsoft/typescript/issues/6496#issuecomment-351435136

Where if you have library foo-1.2 and foo-1.3 resolved as separate node modules, even if Greeter in both foo-1.2 and foo-1.3 perfectly structurally match (for public methods), the fact that there is a private field means they're considered different types.

...I think there is a better/different TS issue that describes that nuance vs. the npm link one I linked to, but I can't find it right now.


TeamCity Bvcms / Build [Build 573](https://builds.tpsdb.com/viewLog.html?buildId=3237&buildTypeId=Bvcms_Build) outcome was **SUCCESS**
Summary: Running Build time: 00:04:29


TeamCity Bvcms / Build [Build 574](https://builds.tpsdb.com/viewLog.html?buildId=3238&buildTypeId=Bvcms_Build) is now running


No, you would be correct, this most likely wouldn't work on Windows.


you don't have to put a semicolon there.


Here I wanted to say, if a room is locked, when the door is opened, return the other room as well. so the room should be a return argument for `try_open`.


the spacing here looks a bit odd.


"find" could work (since you are only looking for one item) but I'd break it down even further into smaller steps. Something like

```
let [action, target] = req.toLowerCase().split(' ') // see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
if (action === 'take') {
  if (roomItems.includes(target)) {
    inv.push(target);
    roomItems.splice(roomItems.indexOf(target), 1);
  }
}
```

etc.  By the way I think I may have just found a bug -- seems like you are not removing the item from the room when you add it to the player.


Successfully aliased the URL <https://bounty-hunter-dexfhnrefa.now.sh> to the following alias.

* https://bounty-hunter.now.sh


DId these two commits fix the problem? Any chance you can rebuild the APK?


@tanyapys У тебя `a`, `b`, `c` здесь не числа, поэтому вряд ли у тебя тут правильно работает


Yes I also did that to wrap around the quotes in quotation marks. It makes it easier for everyone who would be looking at this for the first time to know where the quotes are being said in this long document. Great way to find the quotes.


TeamCity Identity and Access Management / identity-hostedpages [Build 132](https://teamcity.nice.org.uk/viewLog.html?buildId=50384&buildTypeId=IdentityandAccessManagement_IdentityHostedpages) is now running


`checkQuit` is a global but does not need to be; it's only used inside the `start` function


Successfully aliased the URL <https://personal-site-ldjgghjrzm.now.sh> to the following alias.

* https://site.sergiodxa.com


It's only marginally faster and both are constant time operation. But saves you type writing a whole line during an interview.


![](https://github.trello.services/images/mini-trello-icon.png) [Мелкие изменение по итогу Спринта №3 (required)](https://trello.com/c/VQ3FVHu6/42-%D0%BC%D0%B5%D0%BB%D0%BA%D0%B8%D0%B5-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%BE-%D0%B8%D1%82%D0%BE%D0%B3%D1%83-%D1%81%D0%BF%D1%80%D0%B8%D0%BD%D1%82%D0%B0-%E2%84%963-required)


@tanyapys Отступы лучше везде делать одинаковыми - 4 пробела


i think you mean `checkQuit = true`


Linking Alec's PR here: https://github.com/facebook/react-native/pull/23658


That would only work for the svg example below because almost every element has a generated class of `jsx-xxxxxxxxxx` on it. They're using React which is both inlining styles and bundling them with its own class names so it's a real mess to style some things. The css has been improving so it's only a matter of time before they get standard named classes.


This benchmark is flawed. When the compiler sees this:

```crystal
"#{"foo"}#{"bar"}"
```

it says: "okay, she's interpolating a string, that's not needed at all. We can replace the entire thing with `"foobar"`". And that's why it's faster. This happens at parse time.

`String#+` is actually faster in the general case when you concatenate just two strings because there's no need to create a string builder.

Try defining `FOO = "foo"` and `BAR = "bar"` and then comparing `FOO + BAR` vs `#{FOO}#{BAR}`. You'll see that `+` is faster. Here the compiler can't do the trick above anymore.


Change your API keys, everyone can see your git history.


..........怎么建立留言或者对话窗口啊啊哈哈哈哈


@tanyapys А где эксперименты с методами словаря?)


@tanyapys 👍


Also you shouldn't commit *.pyc files to the repository.


Make a note of this change, this should not be left in there for other channels:


Thank you @eyosen!

Do you faced with newerallow selinux issue with the latest source when building?

@denyo81

The latest build got this feature. Few cleanup not builded yet for us.


Tweeted:

- https://twitter.com/commit2tweet/status/1100443091285114881


TeamCity Bvcms / Build [Build 575](https://builds.tpsdb.com/viewLog.html?buildId=3239&buildTypeId=Bvcms_Build) is now running


TeamCity Bvcms / Build [Build 574](https://builds.tpsdb.com/viewLog.html?buildId=3238&buildTypeId=Bvcms_Build) outcome was **SUCCESS**
Summary: Running Build time: 00:04:31


Fix for #5 , although that was not a bug


Логический адаптер, который возвращает ответ на основе известных ответов на самые близкие совпадения с оператором ввода.


either case, neither `try_open` nor `get_other_room()` has a room to reference too, and it's not the room that's locked, it's the door that's locked. So a door can only check if one of the room is already visited. Furthermore there is a case where rooms on *both ends are already visited*, which you didn't check.


I had trouble for finding the number of scenes for the take home test. I kept trying to put "n" in the brackets with the scene in ankle brackets but now I see how @ebeshero was able to do by putting it in quotation marks in order to find the number of scenes in this document by having it in quotation marks. This allows us to find them in the whole document.


TeamCity Identity and Access Management / identity-hostedpages [Build 132-IDAM-112-Scaffold-cu](https://teamcity.nice.org.uk/viewLog.html?buildId=50384&buildTypeId=IdentityandAccessManagement_IdentityHostedpages) outcome was **SUCCESS**
Summary: Running Build time: 00:04:14


TeamCity Identity and Access Management / Identity - ManagementPortal [Build 217-IDAM-108-Auth-pages](https://teamcity.nice.org.uk/viewLog.html?buildId=50383&buildTypeId=IdentityandAccessManagement_BuildRoleManagementPortal) outcome was **SUCCESS**
Summary: Tests passed: 1 Build time: 00:05:03


Yeah, no worries! You can totally keep it! I just found myself not really using it too much as of late (especially with more apps that I use on App Store these days). I might end up going back to it at some point, perhaps. Just didn't really have the time to dig into it properly right now, hah. :)


❌ [Build was (probably) aborted](https://jenkins.internalx.com/job/macios/job/d16-0-arm64-32/1/display/redirect)

🔥 [Jenkins job](https://jenkins.internalx.com/job/macios/job/d16-0-arm64-32/1/display/redirect) (on internal Jenkins) failed in stage(s) 'Build' 🔥 : hudson.AbortException: script returned exit code 2

🔥 [Build failed](https://jenkins.internalx.com/job/macios/job/d16-0-arm64-32/1//console) 🔥


I think this program is quite good... if we were giving letter grades I'd say it's a solid A-. You are using functions and a nested data structure (an array of room objects, where many other students have custom top-level functions for each room). My main feedback is to use more evocative names for your functions and variables, and to use object properties for fields instead of arrays, since `room.actReact.reaction` is clearer and less bug-prone than `room.actReact[1]` .


This benchmark is a bit flawed. When you invoke `chars` on a String it has to build an Array of chars, each time. This allocates a lot of memory. This is why in your benchmark you can see `416 B/op` and `338 B/op` in each case, this means the number of bytes allocated per each operation. I thought "that's a lot to just traverse a hash, using `each_key` shouldn't allocate at all!". That's when I saw that `chars` call. The times are mostly spent in the allocation so it looks like `each_key` and `keys.each` perform similarly.

If you change `chars` to, for example, `bytesize` then you get this:

```
Hash#keys.each    8.5M (117.66ns) (± 4.46%)  80 B/op  15.64× slower
 Hash#each_key 132.92M (  7.52ns) (± 2.82%)   0 B/op        fastest
```

As expected, `each_key` doesn't allocate memory at all. `keys` needs to allocate an array of keys and you can see this happening because of the `80 B/op`. So using `keys.each` is actually 15 times slower! We shouldn't encourage people to think that they perform in a similar way :-)


We could do that, I suppose. I just find it really jarring when git is ignoring a file in some random subdirectory. kubectl seems pretty safe to ignore everywhere. But what if, for example, we copy some code that has a file at `3rdparty/external_lib/config/admin.conf` and then git happily checks in the whole directory, but silently ignores the one file. Maybe that's a straw man, but that's the sort of thing I'm trying to avoid.


TeamCity Bvcms / Build [Build 575](https://builds.tpsdb.com/viewLog.html?buildId=3239&buildTypeId=Bvcms_Build) outcome was **SUCCESS**
Summary: Running Build time: 00:04:19


TeamCity Bvcms / Build [Build 576](https://builds.tpsdb.com/viewLog.html?buildId=3240&buildTypeId=Bvcms_Build) is now running


For stage directions I used to find by searching ([.+?])(\w|\s|.) and replacing it with <sd>\1</sd>\2 by having DOT matches turned off, Now I see that having it turned on would get me more results in order to replace them the right way in order to find the right results. Finding it was hard for me but now i know why it had to be done that way by looking at your explanation.


"bytes"


@treeder This breaks subscriptions


Created multidev environment [hscrb#ci-108](https://dashboard.pantheon.io/sites/06f9bf1c-27cc-4fe9-8eda-f88f153eb347#ci-108).

[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/ci-drops-8/0.1.0/data/img/visit-site-36.png)](https://ci-108-hscrb.pantheonsite.io/)


ahh beat me to it


Successfully aliased the URL <https://bountysource-hunter-dwbucobvhu.now.sh> to the following alias.

* https://bountysource-hunter.now.sh


ima napredka


Fixed bad link in README.md


Successfully aliased the URL <https://onkometrorikki-gft3n9k4a.now.sh> to the following aliases.

* https://onkolansimetrorikki.now.sh
* https://onkometrorikki.now.sh
* https://onkometrorikki.fi
* https://www.onkometrorikki.fi
* https://onkometrorikki.olpe.now.sh
* https://armetronsonder.now.sh
* https://isthemetroborked.now.sh
* https://isthemetrobroken.now.sh


`wsorgins` and `rpcaddr` are already set to these values with the `--local` flag


There are tabs here


"минимум из"


Thank you. I'll keep these in mind.


hm.. make sense :+1:


fixed


Installed, tested, works! Thanks for the quick fix!


I removed it because it was making my dev life hard. I thought this file would have been in the cap shared directory... but it's not?


TeamCity Bvcms / Build [Build 576](https://builds.tpsdb.com/viewLog.html?buildId=3240&buildTypeId=Bvcms_Build) outcome was **SUCCESS**
Summary: Running Build time: 00:04:13


Very nice description, but I am still not sure I see the problem. I see what you are describing - just not how it can be a problem.

Can you modify your playground example to demonstrate the error scenario?