I would rephrase this way more drastically and mention LVM raciness right at the start, e.g.,

> lvm2 has known issues of incomplete or incorrect locking behavior when multiple processes mutate lvm2 state, see e.g., .... If the `-lockfile parameter  is specified an exclusive file lock is held on the file given by the argument wheneverr any lvm2 command-line utility is invoked. This prevents potential deadlocks inside lvm2, but will also keep simultaneous lvm2 operations from making progress in parallel.
>
> By default ...

Writing "You are _strongly_ encouraged" might also help to bring our point across.


Я знаю, что можно было написать это с циклом while. Первая идея, которая мне пришла в голову, как раз-таки while, но потом я решил использовать goto, потому что программа достаточно "легкая" в плане файлов и объема кода. Разумеется, что в каких-нибудь крупно-масштабных проектах не рекомендуется использовать goto.


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

* https://arkm.xyz
* https://www.arkm.xyz
* https://arkmxyz.arkmuntasser.now.sh
* https://arkmxyz-git-master.arkmuntasser.now.sh


> y_lower / y_upper real numbers? (potentially negative) they should be

I thought they are always non-negative, since they represent time to event.


Но спасибо за замечание :)


Let's add a comment here why we do not use `TryLock` as advised by the package (we do not want to make any progress until we can acquire the lock).


xsdxsa


Wow I don't remember writing that lol


Created multidev environment [eari-contenta#ci-100](https://dashboard.pantheon.io/sites/6207a978-eea6-466e-b84a-7fd8be31b6c6#ci-100).

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


Actually until now I have always left off the "contracted" unless there is another table for the same language that is not contracted.


f


Нет ничего более постоянного, чем временный код)


Test comment


> More specifically: `(fontp (char-displayable-p (read "#x2013")))`

Great! So there is an automated way to set up a nicer default.


Created multidev environment [sfgov#ci-2989](https://dashboard.pantheon.io/sites/91d50373-c4cf-40e4-a646-cb73e16a140c#ci-2989).

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


New-Feature-CBVAV-Mods (rraustad) - x86_64-Linux-Ubuntu-18.04-cppcheck: OK (0 of 0 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png)


Sorry for the delay, updated on F29-F31 + EPEL7.


Woo


Successfully aliased the URL <https://artsy-kb-3s1a45iio.now.sh> to the following aliases:

* https://artsy-kb.now.sh
* https://artsy-kb.mykola.now.sh
* https://artsy-kb-git-master.mykola.now.sh


hello!


New-Feature-CBVAV-Mods (rraustad) - x86_64-Linux-Ubuntu-18.04-custom_check: OK (9 of 9 tests passed, 0 test warnings)

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png)


New-Feature-CBVAV-Mods (rraustad) - x86_64-Linux-Ubuntu-18.04-gcc-7.4: Build Failed

Messages:\n
 * 4 tests had: AUD diffs.
 * 4 tests had: BND diffs.
 * 4 tests had: EIO diffs.
 * 4 tests had: ESO big diffs.
 * 2 tests had: MTR big diffs.
 * 4 tests had: RDD diffs.
 * 4 tests had: Table big diffs.
 * 2 tests had: MTR small diffs.

Failures:\n

regression Test Summary
 * Passed: 679
 * Failed: 4

![Build Badge](http://img.shields.io/badge/build%20status-failing-red.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.84%25-yellow.png)


[3.7] Modificado algunos precios de la tienda.
[3.8] Ahora las noches serán más cortas y el día algo más largo.


Successfully aliased the URL <https://eusy-87r2m0z1r.now.sh> to the following aliases:

* https://eusy.briandombrowski.now.sh
* https://eusy-git-master.briandombrowski.now.sh


make `smart_refctd_ptr`


Масло масляное, можно и без if


return `smart_refctd_ptr`


[R/calculate_allele_frequencies.R:34:17:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_allele_frequencies.R#L34) *warning:* **no visible global function definition for ‘check_input_pop’**
```r
  source_pop <- check_input_pop(source_pop)
                ^~~~~~~~~~~~~~~
```
[R/calculate_allele_frequencies.R:36:18:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_allele_frequencies.R#L36) *warning:* **no visible global function definition for ‘population_to_vector’**
```r
  pop_for_cpp <- population_to_vector(source_pop)
                 ^~~~~~~~~~~~~~~~~~~~
```
[R/calculate_fst.R:41:11:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_fst.R#L41) *warning:* **no visible global function definition for ‘check_input_pop’**
```r
  pop1 <- check_input_pop(pop1)
          ^~~~~~~~~~~~~~~
```
[R/calculate_fst.R:43:11:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_fst.R#L43) *warning:* **no visible global function definition for ‘check_input_pop’**
```r
  pop2 <- check_input_pop(pop2)
          ^~~~~~~~~~~~~~~
```
[R/calculate_fst.R:72:16:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_fst.R#L72) *warning:* **no visible global function definition for ‘create_random_markers’**
```r
    markers <- create_random_markers(number_of_markers)
               ^~~~~~~~~~~~~~~~~~~~~
```
[R/calculate_fst.R:78:24:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_fst.R#L78) *warning:* **no visible global function definition for ‘findtype’**
```r
      allele_1 <- 10 + findtype(pop1[[i]]$chromosome1, focal_marker)
                       ^~~~~~~~
```
[R/calculate_fst.R:79:24:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_fst.R#L79) *warning:* **no visible global function definition for ‘findtype’**
```r
      allele_2 <- 10 + findtype(pop1[[i]]$chromosome2, focal_marker)
                       ^~~~~~~~
```
[R/calculate_fst.R:85:24:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_fst.R#L85) *warning:* **no visible global function definition for ‘findtype’**
```r
      allele_1 <- 10 + findtype(pop2[[i]]$chromosome1, focal_marker)
                       ^~~~~~~~
```
[R/calculate_fst.R:86:24:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_fst.R#L86) *warning:* **no visible global function definition for ‘findtype’**
```r
      allele_2 <- 10 + findtype(pop2[[i]]$chromosome2, focal_marker)
                       ^~~~~~~~
```
[R/calculate_ld.R:39:10:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_ld.R#L39) *warning:* **no visible global function definition for ‘check_input_pop’**
```r
  pop <- check_input_pop(pop)
         ^~~~~~~~~~~~~~~
```
[R/calculate_ld.R:45:16:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_ld.R#L45) *warning:* **no visible global function definition for ‘create_random_markers’**
```r
    markers <- create_random_markers(number_of_markers)
               ^~~~~~~~~~~~~~~~~~~~~
```
[R/calculate_ld.R:51:23:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_ld.R#L51) *warning:* **no visible global function definition for ‘findtype’**
```r
      allele_1 <- 1 + findtype(pop[[i]]$chromosome1, focal_marker)
                      ^~~~~~~~
```
[R/calculate_ld.R:52:23:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_ld.R#L52) *warning:* **no visible global function definition for ‘findtype’**
```r
      allele_2 <- 1 + findtype(pop[[i]]$chromosome2, focal_marker)
                      ^~~~~~~~
```
[R/calculate_ld.R:73:15:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_ld.R#L73) *warning:* **no visible global function definition for ‘calculate_average_ld’**
```r
        ld <- calculate_average_ld(g1, g2)
              ^~~~~~~~~~~~~~~~~~~~
```
[R/calculate_marker_frequency.R:31:10:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_marker_frequency.R#L31) *warning:* **no visible global function definition for ‘check_input_pop’**
```r
  pop <- check_input_pop(pop)
         ^~~~~~~~~~~~~~~
```
[R/calculate_tajima_d.R:28:10:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/calculate_tajima_d.R#L28) *warning:* **no visible global function definition for ‘check_input_pop’**
```r
  pop <- check_input_pop(pop)
         ^~~~~~~~~~~~~~~
```
[R/iso_female.R:44:17:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/iso_female.R#L44) *warning:* **no visible global function definition for ‘check_input_pop’**
```r
  source_pop <- check_input_pop(source_pop)
                ^~~~~~~~~~~~~~~
```
[R/junctions.R:25:12:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/junctions.R#L25) *warning:* **no visible global function definition for ‘calculate_dist_junctions’**
```r
  junct <- calculate_dist_junctions(pop)
           ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/simulate_admixture_migration.R:105:29:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/simulate_admixture_migration.R#L105) *warning:* **no visible global function definition for ‘population_to_vector’**
```r
      input_population_1 <- population_to_vector(input_population_1)
                            ^~~~~~~~~~~~~~~~~~~~
```
[R/simulate_admixture_migration.R:130:29:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/simulate_admixture_migration.R#L130) *warning:* **no visible global function definition for ‘population_to_vector’**
```r
      input_population_2 <- population_to_vector(input_population_2)
                            ^~~~~~~~~~~~~~~~~~~~
```
[R/simulate_admixture_migration.R:202:27:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/simulate_admixture_migration.R#L202) *warning:* **no visible global function definition for ‘create_pop_class’**
```r
  selected_popstruct_1 <- create_pop_class(selected_pop$population_1)
                          ^~~~~~~~~~~~~~~~
```
[R/simulate_admixture_migration.R:203:27:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/simulate_admixture_migration.R#L203) *warning:* **no visible global function definition for ‘create_pop_class’**
```r
  selected_popstruct_2 <- create_pop_class(selected_pop$population_2)
                          ^~~~~~~~~~~~~~~~
```
[R/simulate_admixture.R:81:27:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/simulate_admixture.R#L81) *warning:* **no visible global function definition for ‘population_to_vector’**
```r
      input_population <- population_to_vector(input_population)
                          ^~~~~~~~~~~~~~~~~~~~
```
[R/simulate_admixture.R:142:25:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/simulate_admixture.R#L142) *warning:* **no visible global function definition for ‘create_pop_class’**
```r
  selected_popstruct <- create_pop_class(selected_pop$population)
                        ^~~~~~~~~~~~~~~~
```
[R/utilities.R:275:27:](https://github.com/thijsjanzen/GenomeAdmixR/blob/31672b4c6b78209a31cbf25096906caeb3bd8dcb/R/utilities.R#L275) *warning:* **no visible binding for global variable ‘verify_individual’**
```r
  v <- unlist(lapply(pop, verify_individual))
                          ^~~~~~~~~~~~~~~~~
```


Comentario 1, de prueba


but don't return `smart_refctd_ptr` (we dont want atomic refcounting for no reason).


Åbenbart ikke standard compliant. Msvc vil ikke compile det, måske heller ikke clang.


Thanks @dilawar and @eclipseo!


Do we need this check? Looks like the locking library already short-circuits if we already hold the lock, https://godoc.org/github.com/gofrs/flock#Flock.Lock.


maybe begin() and end() ?


TeamCity HearThis / HearThis pull requests [Build *.*.112.d3eee9f16b45daae7dea33d23967ca636319454c](https://build.palaso.org/viewLog.html?buildId=159366&buildTypeId=HearThis_HearThisPullRequests) outcome was **SUCCESS**
Summary: Running Build time: 00:01:06


You spelled Texas wrong


Added functionality to check whether slice intervals in found dicom sets are consistent (or if any slices appear to be missing)


This L2 init does not belong to driver. You need to create a directory `subsys/net/l2/offload` and place the init there. So similar way as `subsys/net/l2/dummy` does it.


Oh apparently I did change it xD https://github.com/djpohly/Simply-Love-SM5/commit/4d4ecf7d8692b0a5464c0b930118438ba1427dd8#diff-4e4867b267812d99c258f710f4e51fc2


Why?


I don't think you did.  I essentially wrote this comment as part of 4d4ecf7d8692b0a5464c0b930118438ba1427dd8 about two years ago.  Someone else presumably changed my pronoun usage to a personal name at some point.

I was suggesting that your changes here don't really accommodate any game types other than dance.


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

Created multidev environment [pr-1](https://dashboard.pantheon.io/sites/f45be653-37e9-4ac2-8200-22e90a6e5418#pr-1) for pantheon-circleci.


Python Gmail Program


GET /accounts is not always allowed by API Tokens.

How about we test API Key and API Tokens differently. API Tokens have a verify endpoint to test. e.g.
- API Key: GET /user
- API Token: GET /user/tokens/verify


Wow. Thanks for very detail explanation.


O código do IdPerfil está hard-coding pois o http://vipp.visualset.com.br não retorna quais são os Ids cadastrados para o usuário logado.


did we import ADBTimeoutError?


Are the prints sufficient for treeherder to properly turn the job orange and flag the errors?


Noted.  Will make it into next patch commit.

Note: Commenting on the changeset diffs is problematic with a commit of this size in github's UI.  Although Issues may seem heavyweight, you can create an issue that references a specific line of a file, and it will be easier for us to find.


[R/buildMetadata.R:5:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/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/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/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:12:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L12) *style:* **Lines should not be more than 80 characters.**
```r
#'  If \code{TRUE} or a character vector, then this layer will be added to a leaflet map.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:13:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L13) *style:* **Lines should not be more than 80 characters.**
```r
#'  For \code{RasterLayer} object, this will trigger a call to \code{gdal2tiles}, making tiles.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:20:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L20) *style:* **Lines should not be more than 80 characters.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:20:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L20) *style:* **Variable or function name should be snake_case.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
^~~~~~~~~~~~~
```
[R/buildMetadata.R:20:37:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L20) *style:* **Variable or function name should be snake_case.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
                                    ^~~~~~~~~~~
```
[R/buildMetadata.R:20:50:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L20) *style:* **Variable or function name should be snake_case.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
                                                 ^~~~~~~~~~~~~~~
```
[R/buildMetadata.R:20:67:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L20) *style:* **Variable or function name should be snake_case.**
```r
buildMetadata <- function(metadata, isStudyArea, isRasterToMatch, layerName, obj,
                                                                  ^~~~~~~~~
```
[R/buildMetadata.R:21:27:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L21) *style:* **Variable or function name should be snake_case.**
```r
                          columnNameForLabels, objHash, leaflet, envir, ...) {
                          ^~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:21:48:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L21) *style:* **Variable or function name should be snake_case.**
```r
                          columnNameForLabels, objHash, leaflet, envir, ...) {
                                               ^~~~~~~
```
[R/buildMetadata.R:22:8:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L22) *warning:* **no visible global function definition for ‘copy’, Did you mean 'coef'?**
```r
  b <- copy(.singleMetadataNAEntry)
       ^~~~
```
[R/buildMetadata.R:22:13:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L22) *warning:* **no visible binding for global variable ‘.singleMetadataNAEntry’**
```r
  b <- copy(.singleMetadataNAEntry)
            ^~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:28:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L28) *style:* **Variable or function name should be snake_case.**
```r
    studyAreaNumber <- 1 + NROW(metadata[compareNA(studyArea, TRUE) |
    ^~~~~~~~~~~~~~~
```
[R/buildMetadata.R:29:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L29) *style:* **Lines should not be more than 80 characters.**
```r
                                               (is.numeric(studyArea) & studyArea > 0)])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:30:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L30) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
    set(b, NULL, "studyArea", studyAreaNumber)
    ^~~
```
[R/buildMetadata.R:31:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L31) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
    set(b, NULL, "area", area)
    ^~~
```
[R/buildMetadata.R:35:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L35) *style:* **Variable or function name should be snake_case.**
```r
    rasterToMatchNumber <- 1 + NROW(metadata[compareNA(rasterToMatch, TRUE) |
    ^~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:36:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L36) *style:* **Lines should not be more than 80 characters.**
```r
                                           (is.numeric(rasterToMatch) & rasterToMatch > 0)])
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:37:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L37) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
    set(b, NULL, "rasterToMatch", rasterToMatchNumber)
    ^~~
```
[R/buildMetadata.R:43:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L43) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "layerName", layerName)
  ^~~
```
[R/buildMetadata.R:44:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L44) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "layerType", class(obj))
  ^~~
```
[R/buildMetadata.R:47:7:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L47) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
      set(b, NULL, "columnNameForLabels", columnNameForLabels)
      ^~~
```
[R/buildMetadata.R:50:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L50) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "objectHash", objHash)
  ^~~
```
[R/buildMetadata.R:53:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L53) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
    set(b, NULL, "leaflet", leaflet)
    ^~~
```
[R/buildMetadata.R:55:14:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L55) *warning:* **no visible global function definition for ‘.robustDigest’**
```r
      dig <- .robustDigest(obj)
             ^~~~~~~~~~~~~
```
[R/buildMetadata.R:56:7:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L56) *style:* **Variable or function name should be snake_case.**
```r
      tilePath <- ifelse(is.na(leaflet), asPath(NA_character_),
      ^~~~~~~~
```
[R/buildMetadata.R:58:7:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L58) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
      set(b, NULL, "leafletTiles", tilePath)
      ^~~
```
[R/buildMetadata.R:62:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L62) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "envir", list(list(envir)))
  ^~~
```
[R/buildMetadata.R:66:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L66) *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:79:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L79) *style:* **Variable or function name should be snake_case.**
```r
  columnsToAdd <- dots
  ^~~~~~~~~~~~
```
[R/buildMetadata.R:84:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L84) *style:* **Lines should not be more than 80 characters.**
```r
        ## a data.table can't handle all types of objects. need to wrap in a list to stick it there
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:86:9:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L86) *style:* **Variable or function name should be snake_case.**
```r
        needToSet <- TRUE
        ^~~~~~~~~
```
[R/buildMetadata.R:89:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L89) *style:* **Lines should not be more than 80 characters.**
```r
          needToSet <- tryCatch(set(b, NULL, nta, cta), silent = TRUE, error = function(x) TRUE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/buildMetadata.R:89:11:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L89) *style:* **Variable or function name should be snake_case.**
```r
          needToSet <- tryCatch(set(b, NULL, nta, cta), silent = TRUE, error = function(x) TRUE)
          ^~~~~~~~~
```
[R/buildMetadata.R:89:33:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/buildMetadata.R#L89) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
          needToSet <- tryCatch(set(b, NULL, nta, cta), silent = TRUE, error = function(x) TRUE)
                                ^~~
```
[R/GIS.R:7:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
#' @return list containing: \code{sizeInHa}, the area; and \code{polyID}, the polygon ID.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/GIS.R:11:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L11) *style:* **Variable or function name should be snake_case.**
```r
areaAndPolyValue <- function(ras) {
^~~~~~~~~~~~~~~~
```
[R/GIS.R:12:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L12) *style:* **Variable or function name should be snake_case.**
```r
  polyIndivSpecies <- gdal_polygonizeR(ras) # 99 seconds with full ras
  ^~~~~~~~~~~~~~~~
```
[R/GIS.R:12:23:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L12) *warning:* **no visible global function definition for ‘gdal_polygonizeR’**
```r
  polyIndivSpecies <- gdal_polygonizeR(ras) # 99 seconds with full ras
                      ^~~~~~~~~~~~~~~~
```
[R/GIS.R:13:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L13) *style:* **Variable or function name should be snake_case.**
```r
  pArea <- as.numeric(sf::st_area(polyIndivSpecies) / 1e4)
  ^~~~~
```
[R/GIS.R:19:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L19) *style:* **Lines should not be more than 80 characters.**
```r
#' Based on \url{https://johnbaumgartner.wordpress.com/2012/07/26/getting-rasters-into-shape-from-r/}.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/GIS.R:33:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L33) *style:* **Variable or function name should be snake_case.**
```r
gdal_polygonizeR <- function(x, outshape = NULL, gdalformat = "ESRI Shapefile",
^~~~~~~~~~~~~~~~
```
[R/GIS.R:48:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L48) *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/GIS.R:56:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L56) *style:* **Variable or function name should be snake_case.**
```r
    f.exists <- file.exists(paste(outshape, c("shp", "shx", "dbf"), sep = "."))
    ^~~~~~~~
```
[R/GIS.R:59:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L59) *style:* **Lines should not be more than 80 characters.**
```r
                   toString(paste(outshape, c("shp", "shx", "dbf"), sep = ".")[f.exists])),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/GIS.R:65:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L65) *warning:* **no visible global function definition for ‘writeRaster’**
```r
    writeRaster(x, rastpath, datatype = assessDataType(x))
    ^~~~~~~~~~~
```
[R/GIS.R:65:41:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L65) *warning:* **no visible global function definition for ‘assessDataType’**
```r
    writeRaster(x, rastpath, datatype = assessDataType(x))
                                        ^~~~~~~~~~~~~~
```
[R/GIS.R:73:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L73) *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/GIS.R:73:66:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L73) *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/GIS.R:74:22:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L74) *warning:* **no visible global function definition for ‘extent’, Did you mean 'extends'?**
```r
    sf::st_bbox(shp, extent(x))
                     ^~~~~~
```
[R/GIS.R:89:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L89) *style:* **Variable or function name should be snake_case.**
```r
.rasterToMemory <- function(x, ...) {
^~~~~~~~~~~~~~~
```
[R/GIS.R:90:8:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L90) *warning:* **no visible global function definition for ‘raster’, Did you mean 'paste'?**
```r
  r <- raster(x, ...)
       ^~~~~~
```
[R/GIS.R:108:24:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L108) *style:* **Variable or function name should be snake_case.**
```r
fasterize2 <- function(emptyRaster, polygonToFasterize, field) {
                       ^~~~~~~~~~~
```
[R/GIS.R:108:37:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L108) *style:* **Variable or function name should be snake_case.**
```r
fasterize2 <- function(emptyRaster, polygonToFasterize, field) {
                                    ^~~~~~~~~~~~~~~~~~
```
[R/GIS.R:109:10:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L109) *warning:* **no visible global function definition for ‘raster’, Did you mean 'paste'?**
```r
  ras <- raster(emptyRaster)
         ^~~~~~
```
[R/GIS.R:111:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L111) *style:* **Lines should not be more than 80 characters.**
```r
    polygonToFasterize <- Cache(cropInputs, polygonToFasterize, rasterToMatch = ras)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/GIS.R:111:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L111) *style:* **Variable or function name should be snake_case.**
```r
    polygonToFasterize <- Cache(cropInputs, polygonToFasterize, rasterToMatch = ras)
    ^~~~~~~~~~~~~~~~~~
```
[R/GIS.R:111:27:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L111) *warning:* **no visible global function definition for ‘Cache’**
```r
    polygonToFasterize <- Cache(cropInputs, polygonToFasterize, rasterToMatch = ras)
                          ^~~~~
```
[R/GIS.R:111:33:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L111) *warning:* **no visible binding for global variable ‘cropInputs’**
```r
    polygonToFasterize <- Cache(cropInputs, polygonToFasterize, rasterToMatch = ras)
                                ^~~~~~~~~~
```
[R/GIS.R:113:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L113) *style:* **Variable or function name should be snake_case.**
```r
  thePoly <- projectInputs(polygonToFasterize, targetCRS = crs(ras))
  ^~~~~~~
```
[R/GIS.R:113:14:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L113) *warning:* **no visible global function definition for ‘projectInputs’**
```r
  thePoly <- projectInputs(polygonToFasterize, targetCRS = crs(ras))
             ^~~~~~~~~~~~~
```
[R/GIS.R:113:60:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L113) *warning:* **no visible global function definition for ‘crs’, Did you mean 'cars'?**
```r
  thePoly <- projectInputs(polygonToFasterize, targetCRS = crs(ras))
                                                           ^~~
```
[R/GIS.R:114:11:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/GIS.R#L114) *style:* **Variable or function name should be snake_case.**
```r
  thePoly$polygonNum <- seq_along(thePoly)
          ^~~~~~~~~~
```
[R/makeTiles.R:1:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L1) *style:* **Variable or function name should be snake_case.**
```r
makeTiles <- function(tilePath, obj) {
^~~~~~~~~
```
[R/makeTiles.R:1:23:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L1) *style:* **Variable or function name should be snake_case.**
```r
makeTiles <- function(tilePath, obj) {
                      ^~~~~~~~
```
[R/makeTiles.R:2:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L2) *style:* **Variable or function name should be snake_case.**
```r
  dirNotExist <- !dir.exists(tilePath)
  ^~~~~~~~~~~
```
[R/makeTiles.R:4:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L4) *style:* **Lines should not be more than 80 characters.**
```r
  if (dirNotExist) { # assume that tilePath is unique for that obj, via .robustDigest
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/makeTiles.R:4:20:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L4) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  if (dirNotExist) { # assume that tilePath is unique for that obj, via .robustDigest
                   ^
```
[R/makeTiles.R:8:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L8) *style:* **Lines should not be more than 80 characters.**
```r
    objLflt <- try(projectRaster(obj, crs = CRS("+init=epsg:4326")), silent = TRUE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/makeTiles.R:8:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L8) *style:* **Variable or function name should be snake_case.**
```r
    objLflt <- try(projectRaster(obj, crs = CRS("+init=epsg:4326")), silent = TRUE)
    ^~~~~~~
```
[R/makeTiles.R:8:20:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L8) *warning:* **no visible global function definition for ‘projectRaster’**
```r
    objLflt <- try(projectRaster(obj, crs = CRS("+init=epsg:4326")), silent = TRUE)
                   ^~~~~~~~~~~~~
```
[R/makeTiles.R:8:45:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L8) *warning:* **no visible global function definition for ‘CRS’, Did you mean 'C'?**
```r
    objLflt <- try(projectRaster(obj, crs = CRS("+init=epsg:4326")), silent = TRUE)
                                            ^~~
```
[R/makeTiles.R:9:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L9) *style:* **Variable or function name should be snake_case.**
```r
    tmpFile <- tempfile(fileext = ".tif")
    ^~~~~~~
```
[R/makeTiles.R:10:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L10) *style:* **Variable or function name should be snake_case.**
```r
    objLflt <- try(writeRaster(objLflt, tmpFile), silent = TRUE)
    ^~~~~~~
```
[R/makeTiles.R:10:20:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L10) *warning:* **no visible global function definition for ‘writeRaster’**
```r
    objLflt <- try(writeRaster(objLflt, tmpFile), silent = TRUE)
                   ^~~~~~~~~~~
```
[R/makeTiles.R:12:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L12) *style:* **Variable or function name should be snake_case.**
```r
    toDo <- TRUE
    ^~~~
```
[R/makeTiles.R:13:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L13) *style:* **Variable or function name should be snake_case.**
```r
    tryNum <- 1
    ^~~~~~
```
[R/makeTiles.R:16:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L16) *style:* **Lines should not be more than 80 characters.**
```r
      out <- try(tiler::tile(tmpFile, tilePath, zoom = "1-10", crs = CRS("+init=epsg:4326"),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/makeTiles.R:18:7:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L18) *style:* **Variable or function name should be snake_case.**
```r
      toDo <- is(out, "try-error")
      ^~~~
```
[R/makeTiles.R:22:9:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L22) *style:* **Variable or function name should be snake_case.**
```r
        toDo <- TRUE
        ^~~~
```
[R/makeTiles.R:25:7:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/makeTiles.R#L25) *style:* **Variable or function name should be snake_case.**
```r
      tryNum <- tryNum + 1
      ^~~~~~
```
[R/map-analysis.R:17:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L17) *style:* **Lines should not be more than 80 characters.**
```r
#'   \code{analysisGroup2} column of the \code{map@@metadata} or a \code{functionName}.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:39:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L39) *style:* **Variable or function name should be snake_case.**
```r
mapAnalysis <- function(map, functionName = NULL, purgeAnalyses = NULL,
^~~~~~~~~~~
```
[R/map-analysis.R:39:30:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L39) *style:* **Variable or function name should be snake_case.**
```r
mapAnalysis <- function(map, functionName = NULL, purgeAnalyses = NULL,
                             ^~~~~~~~~~~~
```
[R/map-analysis.R:39:51:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L39) *style:* **Variable or function name should be snake_case.**
```r
mapAnalysis <- function(map, functionName = NULL, purgeAnalyses = NULL,
                                                  ^~~~~~~~~~~~~
```
[R/map-analysis.R:40:25:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L40) *style:* **Variable or function name should be snake_case.**
```r
                        useParallel = getOption("map.useParallel"), ...) {
                        ^~~~~~~~~~~
```
[R/map-analysis.R:42:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L42) *warning:* **local variable ‘dots’ assigned but may not be used**
```r
  dots <- list(...)
  ^~~~
```
[R/map-analysis.R:54:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L54) *style:* **Variable or function name should be snake_case.**
```r
  AGs <- sort(unique(colnames(m)[startsWith(colnames(m), "analysisGroup")]))
  ^~~
```
[R/map-analysis.R:56:31:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L56) *style:* **Variable or function name should be snake_case.**
```r
  ags <- lapply(AGs, function(AG) sort(na.omit(unique(m[[AG]]))))
                              ^~
```
[R/map-analysis.R:58:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L58) *style:* **Variable or function name should be snake_case.**
```r
  combosCompleted <- lapply(functionName, function(fn)
  ^~~~~~~~~~~~~~~
```
[R/map-analysis.R:60:4:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L60) *style:* **Commented code should be removed.**
```r
  #combosCompleted <- map@analysesData[[functionName]]$.Completed
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:71:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L71) *style:* **Variable or function name should be snake_case.**
```r
  combosAll <- expandAnalysisGroups(ags)
  ^~~~~~~~~
```
[R/map-analysis.R:71:16:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L71) *warning:* **no visible global function definition for ‘expandAnalysisGroups’**
```r
  combosAll <- expandAnalysisGroups(ags)
               ^~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:74:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L74) *style:* **Lines should not be more than 80 characters.**
```r
  # This is only for the first one to do, as it is just finding the columns required
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:76:42:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L76) *style:* **Variable or function name should be snake_case.**
```r
  args1 <- lapply(functionName, function(funName) {
                                         ^~~~~~~
```
[R/map-analysis.R:79:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L79) *style:* **Variable or function name should be snake_case.**
```r
    keepArgs <- unlist(lapply(args, function(arg) length(arg) > 0))
    ^~~~~~~~
```
[R/map-analysis.R:83:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L83) *style:* **Variable or function name should be snake_case.**
```r
  AGsByFunName <- lapply(functionName, function(funName) {
  ^~~~~~~~~~~~
```
[R/map-analysis.R:83:49:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L83) *style:* **Variable or function name should be snake_case.**
```r
  AGsByFunName <- lapply(functionName, function(funName) {
                                                ^~~~~~~
```
[R/map-analysis.R:88:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L88) *style:* **Variable or function name should be snake_case.**
```r
  combosAll <- Map(agsByFunName = AGsByFunName,
  ^~~~~~~~~
```
[R/map-analysis.R:90:29:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L90) *style:* **Variable or function name should be snake_case.**
```r
                   function(agsByFunName, ags) {
                            ^~~~~~~~~~~~
```
[R/map-analysis.R:91:22:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L91) *warning:* **no visible global function definition for ‘expandAnalysisGroups’**
```r
                     expandAnalysisGroups(ags[agsByFunName])
                     ^~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:94:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L94) *style:* **Variable or function name should be snake_case.**
```r
  combosToDo <- Map(cc = combosCompleted, ca = combosAll, function(cc, ca) {
  ^~~~~~~~~~
```
[R/map-analysis.R:96:32:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L96) *style:* **Commas should always have a space after.**
```r
      setDT(ca[!ca$all %in% cc,])
                               ^
```
[R/map-analysis.R:101:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L101) *style:* **Variable or function name should be snake_case.**
```r
  combosToDo <- Map(ctd = combosToDo, fn = functionName,
  ^~~~~~~~~~
```
[R/map-analysis.R:102:45:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L102) *style:* **Variable or function name should be snake_case.**
```r
                    function(ctd, fn) ctd[, functionName := fn])
                                            ^~~~~~~~~~~~
```
[R/map-analysis.R:103:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L103) *style:* **Variable or function name should be snake_case.**
```r
  combosToDoDT <- rbindlist(combosToDo)
  ^~~~~~~~~~~~
```
[R/map-analysis.R:103:19:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L103) *warning:* **no visible global function definition for ‘rbindlist’**
```r
  combosToDoDT <- rbindlist(combosToDo)
                  ^~~~~~~~~
```
[R/map-analysis.R:105:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L105) *style:* **Lines should not be more than 80 characters.**
```r
  combosToDo <- combosToDo[!unlist(lapply(combosToDo, function(ctd) NROW(ctd) == 0))]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:105:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L105) *style:* **Variable or function name should be snake_case.**
```r
  combosToDo <- combosToDo[!unlist(lapply(combosToDo, function(ctd) NROW(ctd) == 0))]
  ^~~~~~~~~~
```
[R/map-analysis.R:108:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L108) *style:* **Variable or function name should be snake_case.**
```r
    funNames <- unique(combosToDoDT$functionName)
    ^~~~~~~~
```
[R/map-analysis.R:111:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L111) *style:* **Variable or function name should be snake_case.**
```r
    otherFormalsInFunction <- lapply(funNames, function(funName) {
    ^~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:111:57:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L111) *style:* **Variable or function name should be snake_case.**
```r
    otherFormalsInFunction <- lapply(funNames, function(funName) {
                                                        ^~~~~~~
```
[R/map-analysis.R:112:7:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L112) *style:* **Variable or function name should be snake_case.**
```r
      otherFormalsInFunction <- formalArgs(funName)[formalArgs(funName) %in%
      ^~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:125:7:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L125) *style:* **Commented code should be removed.**
```r
    # browser()
      ^~~~~~~~~
```
[R/map-analysis.R:126:11:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L126) *warning:* **no visible global function definition for ‘makeOptimalCluster’**
```r
    cl <- makeOptimalCluster(useParallel, maxNumClusters = NROW(combosToDoDT))
          ^~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:127:17:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L127) *warning:* **no visible global function definition for ‘stopCluster’**
```r
    on.exit(try(stopCluster(cl), silent = TRUE))
                ^~~~~~~~~~~
```
[R/map-analysis.R:129:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L129) *style:* **Variable or function name should be snake_case.**
```r
    combosToDoList <- split(combosToDoDT, combosToDoDT$all)
    ^~~~~~~~~~~~~~
```
[R/map-analysis.R:132:20:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L132) *style:* **Variable or function name should be snake_case.**
```r
                   funName <- combo$functionName
                   ^~~~~~~
```
[R/map-analysis.R:134:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L134) *style:* **Lines should not be more than 80 characters.**
```r
                                                   combo = combo, AGs = AGs, funName = funName)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:137:20:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L137) *style:* **Variable or function name should be snake_case.**
```r
                   fnOut <- do.call(Cache,
                   ^~~~~
```
[R/map-analysis.R:140:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L140) *style:* **Lines should not be more than 80 characters.**
```r
                                                         otherFormalsInFunction[[funName]])))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:145:7:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L145) *style:* **Variable or function name should be snake_case.**
```r
      fromFunName <- combosToDoDT$functionName == funName
      ^~~~~~~~~~~
```
[R/map-analysis.R:147:35:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L147) *style:* **Variable or function name should be snake_case.**
```r
      map@analysesData[[funName]]$.Completed <- names(out3[fromFunName])
                                  ^~~~~~~~~~
```
[R/map-analysis.R:150:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L150) *style:* **Lines should not be more than 80 characters.**
```r
    message("  ", paste(functionName, collapse = ", "), " already run on all layers")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:168:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L168) *style:* **Variable or function name should be snake_case.**
```r
mapAddAnalysis <- function(map, functionName,
^~~~~~~~~~~~~~
```
[R/map-analysis.R:168:33:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L168) *style:* **Variable or function name should be snake_case.**
```r
mapAddAnalysis <- function(map, functionName,
                                ^~~~~~~~~~~~
```
[R/map-analysis.R:169:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L169) *style:* **Lines should not be more than 80 characters.**
```r
                           useParallel = getOption("map.useParallel", FALSE), ...) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:169:28:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L169) *style:* **Variable or function name should be snake_case.**
```r
                           useParallel = getOption("map.useParallel", FALSE), ...) {
                           ^~~~~~~~~~~
```
[R/map-analysis.R:171:8:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L171) *warning:* **no visible global function definition for ‘data.table’**
```r
  b <- data.table(functionName = functionName, t(dots))
       ^~~~~~~~~~
```
[R/map-analysis.R:172:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L172) *style:* **Variable or function name should be snake_case.**
```r
  prevEntry <- map@analyses$functionName == functionName
  ^~~~~~~~~
```
[R/map-analysis.R:173:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L173) *style:* **Variable or function name should be snake_case.**
```r
  purgeAnalyses <- NULL # Set default as NULL
  ^~~~~~~~~~~~~
```
[R/map-analysis.R:174:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L174) *style:* **Variable or function name should be snake_case.**
```r
  newDigest <- fastdigest::fastdigest(
  ^~~~~~~~~
```
[R/map-analysis.R:178:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L178) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "argHash", newDigest)
  ^~~
```
[R/map-analysis.R:179:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L179) *style:* **Variable or function name should be snake_case.**
```r
  doRbindlist <- TRUE
  ^~~~~~~~~~~
```
[R/map-analysis.R:182:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L182) *style:* **Lines should not be more than 80 characters.**
```r
      message("An analysis called ", functionName, " already added to map obj; ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:184:7:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L184) *style:* **Variable or function name should be snake_case.**
```r
      purgeAnalyses <- functionName
      ^~~~~~~~~~~~~
```
[R/map-analysis.R:187:7:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L187) *style:* **Variable or function name should be snake_case.**
```r
      doRbindlist <- FALSE
      ^~~~~~~~~~~
```
[R/map-analysis.R:188:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L188) *style:* **Lines should not be more than 80 characters.**
```r
      message("An analysis called ", functionName, " with identical function and ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:194:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L194) *style:* **Lines should not be more than 80 characters.**
```r
    map@analyses <- rbindlist(list(map@analyses, b), fill = TRUE, use.names = TRUE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:196:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L196) *style:* **Lines should not be more than 80 characters.**
```r
  map <- runMapAnalyses(map = map, purgeAnalyses = purgeAnalyses, useParallel = useParallel)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:196:10:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L196) *warning:* **no visible global function definition for ‘runMapAnalyses’**
```r
  map <- runMapAnalyses(map = map, purgeAnalyses = purgeAnalyses, useParallel = useParallel)
         ^~~~~~~~~~~~~~
```
[R/map-analysis.R:210:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L210) *style:* **Lines should not be more than 80 characters.**
```r
#'   \code{analysisGroups} i.e., \code{"analysisGroup1"} or \code{"analysisGroup2"}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:223:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L223) *style:* **Lines should not be more than 80 characters.**
```r
mapAddPostHocAnalysis <- function(map, functionName, postHocAnalysisGroups = NULL,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:223:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L223) *style:* **Variable or function name should be snake_case.**
```r
mapAddPostHocAnalysis <- function(map, functionName, postHocAnalysisGroups = NULL,
^~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:223:40:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L223) *style:* **Variable or function name should be snake_case.**
```r
mapAddPostHocAnalysis <- function(map, functionName, postHocAnalysisGroups = NULL,
                                       ^~~~~~~~~~~~
```
[R/map-analysis.R:223:54:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L223) *style:* **Variable or function name should be snake_case.**
```r
mapAddPostHocAnalysis <- function(map, functionName, postHocAnalysisGroups = NULL,
                                                     ^~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:224:35:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L224) *style:* **Variable or function name should be snake_case.**
```r
                                  postHocAnalyses = "all",
                                  ^~~~~~~~~~~~~~~
```
[R/map-analysis.R:225:35:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L225) *style:* **Variable or function name should be snake_case.**
```r
                                  useParallel = getOption("map.useParallel"),
                                  ^~~~~~~~~~~
```
[R/map-analysis.R:230:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L230) *style:* **Lines should not be more than 80 characters.**
```r
    stop("postHocAnalysisGroups cannot be NULL. It should be one of the column names ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:232:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L232) *style:* **Lines should not be more than 80 characters.**
```r
  b <- data.table(functionName = functionName, postHocAnalysisGroups = postHocAnalysisGroups,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:235:10:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L235) *warning:* **no visible global function definition for ‘data.table’**
```r
    b <- data.table(b, t(dots))
         ^~~~~~~~~~
```
[R/map-analysis.R:237:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L237) *style:* **Variable or function name should be snake_case.**
```r
  prevEntry <- map@analyses$functionName == functionName
  ^~~~~~~~~
```
[R/map-analysis.R:238:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L238) *style:* **Variable or function name should be snake_case.**
```r
  purgeAnalyses <- NULL # Set default as NULL
  ^~~~~~~~~~~~~
```
[R/map-analysis.R:239:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L239) *style:* **Variable or function name should be snake_case.**
```r
  newDigest <- fastdigest::fastdigest(
  ^~~~~~~~~
```
[R/map-analysis.R:243:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L243) *warning:* **no visible global function definition for ‘set’, Did you mean 'det'?**
```r
  set(b, NULL, "argHash", newDigest)
  ^~~
```
[R/map-analysis.R:244:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L244) *style:* **Variable or function name should be snake_case.**
```r
  doRbindlist <- TRUE
  ^~~~~~~~~~~
```
[R/map-analysis.R:247:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L247) *style:* **Lines should not be more than 80 characters.**
```r
      message("An analysis called ", functionName, " already added to map obj; ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:249:7:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L249) *style:* **Variable or function name should be snake_case.**
```r
      purgeAnalyses <- functionName
      ^~~~~~~~~~~~~
```
[R/map-analysis.R:252:7:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L252) *style:* **Variable or function name should be snake_case.**
```r
      doRbindlist <- FALSE
      ^~~~~~~~~~~
```
[R/map-analysis.R:253:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L253) *style:* **Lines should not be more than 80 characters.**
```r
      message("An analysis called, ", functionName, " with identical function and ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:259:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L259) *style:* **Lines should not be more than 80 characters.**
```r
    map@analyses <- rbindlist(list(map@analyses, b), fill = TRUE, use.names = TRUE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:261:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L261) *style:* **Lines should not be more than 80 characters.**
```r
  map <- runMapAnalyses(map = map, purgeAnalyses = purgeAnalyses, useParallel = useParallel)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:261:10:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L261) *warning:* **no visible global function definition for ‘runMapAnalyses’**
```r
  map <- runMapAnalyses(map = map, purgeAnalyses = purgeAnalyses, useParallel = useParallel)
         ^~~~~~~~~~~~~~
```
[R/map-analysis.R:266:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L266) *style:* **Variable or function name should be snake_case.**
```r
runMapAnalyses <- function(map, purgeAnalyses = NULL,
^~~~~~~~~~~~~~
```
[R/map-analysis.R:266:33:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L266) *style:* **Variable or function name should be snake_case.**
```r
runMapAnalyses <- function(map, purgeAnalyses = NULL,
                                ^~~~~~~~~~~~~
```
[R/map-analysis.R:267:28:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L267) *style:* **Variable or function name should be snake_case.**
```r
                           useParallel = getOption("map.useParallel")) {
                           ^~~~~~~~~~~
```
[R/map-analysis.R:268:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L268) *style:* **Variable or function name should be snake_case.**
```r
  isPostHoc <- if (is.null(map@analyses$postHoc)) {
  ^~~~~~~~~
```
[R/map-analysis.R:271:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L271) *warning:* **no visible global function definition for ‘compareNA’**
```r
    compareNA(map@analyses$postHoc, TRUE)
    ^~~~~~~~~
```
[R/map-analysis.R:276:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L276) *style:* **Variable or function name should be snake_case.**
```r
    funName <- map@analyses$functionName[!isPostHoc]
    ^~~~~~~
```
[R/map-analysis.R:277:12:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L277) *warning:* **no visible global function definition for ‘mapAnalysis’**
```r
    map <- mapAnalysis(map, funName, purgeAnalyses = purgeAnalyses)
           ^~~~~~~~~~~
```
[R/map-analysis.R:287:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L287) *style:* **Lines should not be more than 80 characters.**
```r
           forms <- forms[!forms %in% c("map", "functionName", "analysisGroups")]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:298:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L298) *style:* **Lines should not be more than 80 characters.**
```r
                                                            analysisGroups = x$postHocAnalysisGroups),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:299:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L299) *style:* **Lines should not be more than 80 characters.**
```r
                                                       unlist(as.list(x[ , forms, with = FALSE]))))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:299:73:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L299) *style:* **Do not place spaces around code in parentheses or square brackets.**
```r
                                                       unlist(as.list(x[ , forms, with = FALSE]))))
                                                                        ^
```
[R/map-analysis.R:299:74:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L299) *style:* **Commas should never have a space before.**
```r
                                                       unlist(as.list(x[ , forms, with = FALSE]))))
                                                                        ~^
```
[R/map-analysis.R:313:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L313) *style:* **Variable or function name should be snake_case.**
```r
getFormalsFromMetadata <- function(metadata, combo, AGs, funName) {
^~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:313:53:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L313) *style:* **Variable or function name should be snake_case.**
```r
getFormalsFromMetadata <- function(metadata, combo, AGs, funName) {
                                                    ^~~
```
[R/map-analysis.R:313:58:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L313) *style:* **Variable or function name should be snake_case.**
```r
getFormalsFromMetadata <- function(metadata, combo, AGs, funName) {
                                                         ^~~~~~~
```
[R/map-analysis.R:314:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L314) *style:* **Lines should not be more than 80 characters.**
```r
  formalsInFunction <- formalArgs(funName)[formalArgs(funName) %in% colnames(metadata)]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:314:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L314) *style:* **Variable or function name should be snake_case.**
```r
  formalsInFunction <- formalArgs(funName)[formalArgs(funName) %in% colnames(metadata)]
  ^~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:316:32:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L316) *style:* **Variable or function name should be snake_case.**
```r
  args <- lapply(AGs, function(AG) {
                               ^~
```
[R/map-analysis.R:330:4:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L330) *style:* **Commented code should be removed.**
```r
  #args <- unlist(unname(args), recursive = FALSE)
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:335:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L335) *style:* **Variable or function name should be snake_case.**
```r
expandAnalysisGroups <- function(ags) {
^~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:336:3:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L336) *style:* **Variable or function name should be snake_case.**
```r
  combosAll <- NULL
  ^~~~~~~~~
```
[R/map-analysis.R:338:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L338) *style:* **Lines should not be more than 80 characters.**
```r
    combosAll <- do.call(expand.grid, args = append(list(stringsAsFactors = FALSE),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-analysis.R:338:5:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-analysis.R#L338) *style:* **Variable or function name should be snake_case.**
```r
    combosAll <- do.call(expand.grid, args = append(list(stringsAsFactors = FALSE),
    ^~~~~~~~~
```
[R/map-class.R:6:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-class.R#L6) *style:* **Lines should not be more than 80 characters.**
```r
#' @slot metadata  \code{data.table} with columns describing metadata of map objects in
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:9:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-class.R#L9) *style:* **Lines should not be more than 80 characters.**
```r
#' @slot .xData Named environment of map-type objects (e.g., \code{sf}, \code{Raster*},
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:10:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-class.R#L10) *style:* **Lines should not be more than 80 characters.**
```r
#'            \code{Spatial*}. Each entry may also be simply an environment, which
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:11:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-class.R#L11) *style:* **Lines should not be more than 80 characters.**
```r
#'            indicates where to find the object, i.e., via \code{get(layerName, envir = environment)}
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:15:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-class.R#L15) *style:* **Lines should not be more than 80 characters.**
```r
#' @slot paths File paths. A named list of paths. The default is a list of length 2,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:18:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-class.R#L18) *style:* **Lines should not be more than 80 characters.**
```r
#' @slot analyses    A \code{data.table} or \code{data.frame} of the types of analyses to perform.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:20:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-class.R#L20) *style:* **Lines should not be more than 80 characters.**
```r
#' @slot analysesData A \code{data.table} or \code{data.frame} of the results of the analyses.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:41:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-class.R#L41) *style:* **Lines should not be more than 80 characters.**
```r
  #             c(layerName = "character", layerType = "character", columnNameForLabels = "character",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:42:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-class.R#L42) *style:* **Lines should not be more than 80 characters.**
```r
  #               leaflet = "character", studyArea = "numeric", rasterToMatch = "logical"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:47:20:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-class.R#L47) *style:* **Variable or function name should be snake_case.**
```r
          function(.Object, ...) {
                   ^~~~~~~
```
[R/map-class.R:48:13:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-class.R#L48) *style:* **Variable or function name should be snake_case.**
```r
            .Object <- callNextMethod()
            ^~~~~~~
```
[R/map-class.R:49:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-class.R#L49) *style:* **Lines should not be more than 80 characters.**
```r
            .Object@metadata <- data.table(layerName = character(), layerType = character(),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:52:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-class.R#L52) *style:* **Lines should not be more than 80 characters.**
```r
                                           studyArea = numeric(), rasterToMatch = logical())
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map-class.R:54:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map-class.R#L54) *style:* **Lines should not be more than 80 characters.**
```r
            .Object@analyses <- data.table::data.table(functionName = character())#, quotedFn = character())
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map.R:2:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
  utils::globalVariables(c(".", ":=", ".I", ".N", ".SD", "envir", "layerName", "objectHash"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map.R:17:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map.R#L17) *style:* **Lines should not be more than 80 characters.**
```r
#' @param layerName Required. A label for this map layer. This can be the same as
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map.R:26:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map.R#L26) *style:* **Lines should not be more than 80 characters.**
```r
#'  If \code{TRUE} or a character vector, then this layer will be added to a leaflet map.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map.R:27:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map.R#L27) *style:* **Lines should not be more than 80 characters.**
```r
#'  For \code{RasterLayer} object, this will trigger a call to \code{gdal2tiles}, making tiles.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/map.R:69:1:](https://github.com/PredictiveEcology/map/blob/64eeeb51fc83cb9f5b482fb93bf5ea3fd6cfb91c/R/map.R#L69) *style:* **Lines should not be more than 80 characters.**
```r
#'                layerName = "Smaller Study Area") # adds a second studyArea within 1st
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


`NATIVE_CRONJOB_CLEANUP_ARRAY` will include ALL cronjobs, not only the Native ones, see:
https://github.com/amazeeio/lagoon/blob/1ca08b1ba4aa9c912313a3bc3b3b20ccb60e696c/images/oc-build-deploy-dind/build-deploy-docker-compose.sh#L783
`NATIVE_CRONJOB_CLEANUP_ARRAY` is actually a leftover from an earlier cleanup system, which did not get completely removed.
so if you want to use it, we need to move the filling of this array into here: https://github.com/amazeeio/lagoon/blob/1ca08b1ba4aa9c912313a3bc3b3b20ccb60e696c/images/oc-build-deploy-dind/build-deploy-docker-compose.sh#L809


wrong date; must be 8/5/2019


please call `CRONJOB` something that makes more sense. Like `SINGLE_NATIVE_CRONJOB`


why do we need to remove `SCHEDULE` from here?


Nr. 1 - Never use `std::string` use `core::string`

hmmm I think I have a solution.

we could change the `std::string` and `core::vector` to simply refcounted arrays!
A refcounted wrapper around `const char*` and `IAsset*` dynamically allocated arrays would be a beast!

```cpp
// dynamic_array.h
namespace core
{
template<typename T, class allocator=core::allocator<T> >
class dynamic_array
{
   protected:
      size_t item_count;
      T* data;
      Allocator allocator;
   public:
      dynamic_array(size_t length, Allocator _allocator=Allocator()) : item_count(length), data(nullptr), allocator(_allocator)
      {
          data = allocator.alloc(item_count);
      }
      // and other constructors
      virtual ~dynamic_array()
      {
         if (data)
            allocator.deallocate(data,item_count);
      }

     /** Methods to implement
    begin, end, operator[], size/length, etc.
     **/
};
}
```


Successfully aliased the URL <https://artbetv2-6yoiqxve7.now.sh> to the following aliases:

* https://artbetv2.jakesb1996.now.sh
* https://artbetv2-git-master.jakesb1996.now.sh


Something funky happened here, we may want to just take the master version of this file


I understood the reason and this is only for IBD.
Is there any data on the difference this setting makes?
I have read the bigger problem is USB spinning HDD's and SSD's help the most.
Core dev's say you shouldn't use external drives at all but we have no choice with Pi's.
There are things we can do to optimize for HDD's but it's a more complicated setup - eg put the DB on SD card and blockchain on the external drive.


This is designed to strip the header row returned by the `oc get cronjobs` command so we can pipe only the lines containing actual cronjob definitions on to the `cut` command, which will further strip those lines down to _just_ the name of said cronjob.


See new commit. Thanks for bringing this up, my testing suggests significant performance advantages.


TeamCity Architecture Team / Java Platform / otj-logging / otj-logging [Build 244](https://teamcity.otenv.com/viewLog.html?buildId=11019555&buildTypeId=ArchitectureTeam_JavaPlatform_OtjLogging_OtjLogging) is now running


if they are always non-negative that is fine, but in that case
1. it does not make sense to store left censored data as (-INFINITY, positive number). instead use (0, positive number)
2. the entire output data matrix should be logged once and for all at the very beginning, to avoid repeated calls to std::log for the same output (which can be slow)


Then whenever `SAssetBundle` gets copied we can pass refcounted pointers around  instead of copying arrays!


Igual no hace falta este objeto, más adelante lo sabremos!


TeamCity Architecture Team / Java Platform / otj-logging / otj-logging [Build 244](https://teamcity.otenv.com/viewLog.html?buildId=11019555&buildTypeId=ArchitectureTeam_JavaPlatform_OtjLogging_OtjLogging) outcome was **SUCCESS**
Summary: Tests passed: 14 Build time: 00:01:22


I think that even if the user supplies outputs in positive values (un-logged survival times), we should internally transform them to log survival times, and by the time this method sees the outputs, they should already be logged


This array will list _ALL_ the cronjobs, and that's okay. For us to remove cronjobs which are no longer defined, we simply iterate through the list of cronjobs _returned from the oc command_. If a cronjob appears in the `oc get cronjobs` output, but does _NOT_ appear in our list of all cron jobs, we know that it has been removed from the `.lagoon.yaml`


Seems not a best idea to calculate date here.


Bitte eine eigene class drauflegen, damit man es wieder rückgängig machen kann. Die Redakteure sind es nun gewohnt die Symbole zu nutzen. Alternativ ein Setting für solche Dinge anbieten.


New-Feature-CBVAV-Mods (rraustad) - x86_64-Linux-Ubuntu-18.04-gcc-7.4-IntegrationCoverage-Debug: OK (666 of 667 tests passed, 0 test warnings)

Failures:\n

integration Test Summary
 * Passed: 666
 * Timeout: 1

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.85%25-yellow.png) ![Coverage Badge](http://img.shields.io/badge/coverage%20status-68.43%25-green.png)


I'm probably the one that made that change.
I just copypasted most of this to draw the arrows near the scatterplot to make it clear to which arrow belongs each red segment. Also the red segments are the scatterplot's height/4 so it breaks for any other game type too.
This is something that I don't think most people would care about so I just focused on making it work for our cab (and we just play dance)


@Crisspl ?


Прекрасный код, коллега! Просто отличный!


Спасибо, коллега, Вы очень добры!


do we need this or is this dead code?
(if we need, own file also)


Общий вывод по коду могу сделать следующий - это всего лишь пример code review :)


resolved.


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

Created multidev environment [pr-9](https://dashboard.pantheon.io/sites/28c215db-4d5f-40b3-a601-ee0ce6be3267#pr-9) for wordsesh-2019-demo.


discussion continued in following commits


kinda resolved.


next commit assert resolves.


New-Feature-CBVAV-Mods (rraustad) - Win64-Windows-10-VisualStudio-16: OK (2450 of 2456 tests passed, 6 test warnings)

Messages:\n
 * 7 tests had: EIO diffs.
 * 1 test had: ESO small diffs.
 * 5 tests had: BND diffs.
 * 7 tests had: AUD diffs.
 * 7 tests had: RDD diffs.
 * 6 tests had: ESO big diffs.
 * 4 tests had: MTR big diffs.
 * 6 tests had: Table big diffs.
 * 2 tests had: MTR small diffs.

Failures:\n

regression Test Summary
 * Passed: 656
 * Failed: 6

![Build Badge](http://img.shields.io/badge/build%20status-passing-green.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-99.76%25-yellow.png)


Created multidev environment [eari-contenta#pr-4](https://dashboard.pantheon.io/sites/6207a978-eea6-466e-b84a-7fd8be31b6c6#pr-4).

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


Mmm.. why is this defined as this, and maybe not as `otrng_plugin_handle`?


TeamCity Architecture Team / Java Platform / otj-logging / otj-logging [Build 245](https://teamcity.otenv.com/viewLog.html?buildId=11019569&buildTypeId=ArchitectureTeam_JavaPlatform_OtjLogging_OtjLogging) is now running


@Crisspl is this removed?


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

Created multidev environment [pr-2](https://dashboard.pantheon.io/sites/f45be653-37e9-4ac2-8200-22e90a6e5418#pr-2) for pantheon-circleci.


Yup


TeamCity Architecture Team / Java Platform / otj-logging / otj-logging [Build 245](https://teamcity.otenv.com/viewLog.html?buildId=11019569&buildTypeId=ArchitectureTeam_JavaPlatform_OtjLogging_OtjLogging) outcome was **FAILURE**
Summary: Tests failed: 1 (1 new), passed: 13 Build time: 00:00:57
### Failed tests
```
com.opentable.logging.PartitionSpreadTest.testPartitionSpread[0]: <no details avaliable>

```


Хм... А вот тут что-то пошло не так...


Hey @Enteris I saw the work you had done, and thought it would be good to get in upstream.

I'm basically ready to merge this in, but I'm having trouble getting it to pass on travis ci 😒 . As soon as I can reliably get it to pass on CI, it's good to go from my perspective.


I would suggest to remove this item altogether.
The whole block after `END OF TERMS AND CONDITIONS` is not required.

Please, refrain from changing license text often, as it might trigger false positives as if "the license has changed"


I made it fixed size because I am lazy. I just wanted to put everything where it belongs and then prevent anything from changing.
Well... This is certainly a much better way to do it.


No. It is freed on the inside funcs ;)


Change place the links in index.html


ok, then please use `oc --no-headers` because if somebody defines a cronjob that contains the words `SCHEDULE` (which is quite likely) your code will ignore it.


_From Slack:_

> I think polling should work, but has the overhead of calling the parameter server from time to time. I saw `dynamic_recofigure` but it seems a bit more involved to implement and I am not sure if we want to put a third-party package in every node we have...

Do you know how dynamic_reconfigure works?

I looked at both alternatives and in my mind the comparison is the following:
*Polling every second*
+ Easy and straightforward to implement and to understand by people new to ROS
+ Uses only core ROS functionality
- Indeed polls every second
- We can't use the nice GUI that dynamic_reconfigure has

*dynamic_reconfigure*
+ More efficient
+ Nice GUI
+ Some of the logic already implemented (not sure about that)
- External package, so we depend on the people who developed it, and this is something that will get in almost every node, so might not be that future-proof
- More difficult to build, maintain, and to understand by new users

I am not sure what would be the better alternative. In my opinion, as this is an education platform, clarity and simplicity are more important than performance. Also if this polling (now happening once per second) takes that much time (which I doubt, especially if the node and the rosmaster are on the same machine), we can spin it in a different thread. What do you think?


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

* https://danedenme.daneden.now.sh
* https://danedenme-git-master.daneden.now.sh


but what in the case if somebody moves the cronjob from the native cronjob type to the in-pod type? then the native cronjob is not removed as it will still exist in the list of all cronjobs.


removeAirTermSDUncontrolled (mjwitte) - x86_64-MacOS-10.13-clang: Build Failed

Messages:\n
 * 158 tests had: AUD diffs.
 * 158 tests had: BND diffs.
 * 158 tests had: EIO diffs.
 * 146 tests had: RDD diffs.
 * 13 tests had: ESO small diffs.
 * 29 tests had: MTD diffs.
 * 16 tests had: MTR small diffs.
 * 12 tests had: Table small diffs.
 * 30 tests had: ESO big diffs.
 * 76 tests had: Table big diffs.
 * 20 tests had: MTR big diffs.
 * 5 tests had: ERR diffs.
 * 1 test had: MDD diffs.

Failures:\n

integration Test Summary
 * Passed: 652
 * Failed: 13

regression Test Summary
 * Passed: 583
 * Failed: 80

![Build Badge](http://img.shields.io/badge/build%20status-failing-red.png) ![Test Badge](http://img.shields.io/badge/tests%20passed-51.18%25-red.png)


Just when I thought this process couldn't be any faster... can't wait to see the time reduction on this :)


![Screenshot from 2019-08-08 22-44-08](https://user-images.githubusercontent.com/44258906/62736998-192b2d00-ba2f-11e9-868d-5463bcc22ae5.png)


Did `use_dmg yes` not work?


use smart refctd ptr


dont return smart refctd ptr


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

* https://eusy.briandombrowski.now.sh
* https://eusy-git-master.briandombrowski.now.sh


Have you tried:

`paste0(readLines(system.file("extdata", "reportTemplate.Rmd",package = "pcaExplorer")), collapse = "/n")`

Should work. See illustration with adapted example in shinyAce/inst/examples/01-basic

![image](https://user-images.githubusercontent.com/2998956/62737051-ca0bda80-b9e3-11e9-9d58-c7716187cc85.png)


Successfully aliased the URL <https://artsy-kb-f1gslgzoe.now.sh> to the following aliases:

* https://artsy-kb.now.sh
* https://artsy-kb.mykola.now.sh
* https://artsy-kb-git-master.mykola.now.sh


return `const char*`


Hi! This is the friendly automated conda-forge-webservice.

I updated the Github team because of this commit.

- @lrq3000 was added to conda-forge. Welcome to conda-forge!
  Go to https://github.com/orgs/conda-forge/invitation see your invitation.

You should get push access to this feedstock and CI services.

Feel free to join the community [chat room](https://gitter.im/conda-forge/conda-forge.github.io).

NOTE: Please make sure to not push to the repository directly.
      Use branches in your fork for any changes and send a PR.
      More details [here](https://conda-forge.org/docs/maintainer/updating_pkgs.html#forking-and-pull-requests)


@sahrens You’re calling forceUpdate() which is an empty setState() but I though react don’t update when the state is the same?  Anyway, if you committed it’s probably working


Fold lists of integers or IPv4 addresses into intervals. And converse.


webhooks


The current solution should have fixed this already - I have the call to update the editor later on anyway.

Good to know it could be solved also like that.

Again, also here: thank you @vnijs!