![](https://github.trello.services/images/mini-trello-icon.png) [Add wouter to React app dependencies](https://trello.com/c/IxTwL7fQ/178-add-wouter-to-react-app-dependencies)


why is it all in caps? were you screaming while writing the message?


test ololo


Successfully aliased the URL <https://babangsundcom-5f0h3qx18.now.sh> to the following aliases:

* https://babangsund.com
* https://babangsundcom.babangsund.now.sh
* https://babangsundcom-git-master.babangsund.now.sh


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

* https://wiki.chronica.xyz
* https://www.wiki.chronica.xyz
* https://wikichronica.ckipp01.now.sh
* https://wikichronica-git-master.ckipp01.now.sh


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

* https://bdaclassifiedsonnuxt.qdhenry.now.sh
* https://bdaclassifiedsonnuxt-git-master.qdhenry.now.sh


Successfully aliased the URL <https://personal-website-esnowrnzh.now.sh> to the following aliases:

* https://anthony.codes
* https://personal-website.acm4k1.now.sh
* https://personal-website-git-master.acm4k1.now.sh


This write too many bytes in many cases.  It should really write something like `max n (dstLen-1)` bytes of character data, plus one more for the null terminator.  Also, in the case that the string is too long to fit into `dstLen`, we need to make sure the string is nonetheless null-terminated by writing 0 into the final byte of the buffer.

Otherwise, I think this looks about right.


Aliasing was ignored due to a new commit existing for this branch, which will be aliased instead.


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

* https://bdaclassifiedsonnuxt.qdhenry.now.sh
* https://bdaclassifiedsonnuxt-git-master.qdhenry.now.sh


Лишние проверки.


Woww! Teach me teacher Kanq
```npm install```


I realize now I'm not using the options declared here


This would be nice to have IN THE RELEASED WORKSHOP COPY


@JuliaRegistrator register


Registration pull request created: [JuliaRegistries/General/2330](https://github.com/JuliaRegistries/General/pull/2330)

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if [Julia TagBot](https://github.com/apps/julia-tagbot) is installed, or can be done manually through the github interface, or via:
```
git tag -a v0.3.9 -m "<description of version>" fb70e8a56b505fc13e28fe97848d57cf3362fab2
git push origin v0.3.9
```


Then I assume this is just pointless.


Making stuff common instead of forcing people to label it in device trees is pointless? Your logic is impressive.


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

* https://accharplanner.amoeba.now.sh
* https://accharplanner-git-master.amoeba.now.sh


Hi,

Do you have Discord?


Did these if statements do anything useful? As it caused a glitch where if user input black level '0' in the interface, it would not do anything


ScheduleManagerRefactor (Myoldmopar) - 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)


Something went wrong.

PocketMine-MP Crash Dump Sun Jul 28 00:20:00 CEST 2019

Error: Tried to schedule task to disabled scheduler
File: src/pocketmine/scheduler/TaskScheduler
Line: 148
Type: InvalidStateException

A PLUGIN WAS INVOLVED IN THIS CRASH
BAD PLUGIN: PlayerVaults v3.2

Code:

Backtrace:
#0 src/pocketmine/scheduler/TaskScheduler(80): pocketmine\scheduler\TaskScheduler->addTask(object muqsit\playervaults\libs\muqsit\invmenu\tasks\DelayedFakeBlockDataNotifyTask, integer 5, integer -1)
#1 plugins/PlayerVaults_dev-21.phar/src/muqsit/playervaults/libs/muqsit/invmenu/inventories/BaseFakeInventory(122): pocketmine\scheduler\TaskScheduler->scheduleDelayedTask(object muqsit\playervaults\libs\muqsit\invmenu\tasks\DelayedFakeBlockDataNotifyTask, integer 5)
#2 plugins/PlayerVaults_dev-21.phar/src/muqsit/playervaults/libs/muqsit/invmenu/inventories/DoubleChestInventory(62): muqsit\playervaults\libs\muqsit\invmenu\inventories\BaseFakeInventory->onFakeBlockDataSend(object pocketmine\Player)
#3 plugins/PlayerVaults_dev-21.phar/src/muqsit/playervaults/libs/muqsit/invmenu/inventories/BaseFakeInventory(65): muqsit\playervaults\libs\muqsit\invmenu\inventories\DoubleChestInventory->sendFakeBlockData(object pocketmine\Player, object muqsit\playervaults\libs\muqsit\invmenu\utils\HolderData)
#4 plugins/PlayerVaults_dev-21.phar/src/muqsit/playervaults/libs/muqsit/invmenu/InvMenu(115): muqsit\playervaults\libs\muqsit\invmenu\inventories\BaseFakeInventory->send(object pocketmine\Player, string[8] Vault #1)
#5 plugins/PlayerVaults_dev-21.phar/src/muqsit/playervaults/database/Vault(84): muqsit\playervaults\libs\muqsit\invmenu\InvMenu->send(object pocketmine\Player, NULL )
#6 plugins/PlayerVaults_dev-21.phar/src/muqsit/playervaults/PlayerVaults(80): muqsit\playervaults\database\Vault->send(object pocketmine\Player)
#7 plugins/PlayerVaults_dev-21.phar/src/muqsit/playervaults/database/Database(83): muqsit\playervaults\PlayerVaults->muqsit\playervaults\{closure}(object muqsit\playervaults\database\Vault)
#8 plugins/PlayerVaults_dev-21.phar/src/muqsit/playervaults/libs/poggit/libasynql/base/DataConnectorImpl(153): muqsit\playervaults\database\Database->muqsit\playervaults\database\{closure}(array[0], array[1])
#9 plugins/PlayerVaults_dev-21.phar/src/muqsit/playervaults/libs/poggit/libasynql/base/DataConnectorImpl(183): muqsit\playervaults\libs\poggit\libasynql\base\DataConnectorImpl->muqsit\playervaults\libs\poggit\libasynql\base\{closure}(object muqsit\playervaults\libs\poggit\libasynql\result\SqlSelectResult)
#10 plugins/PlayerVaults_dev-21.phar/src/muqsit/playervaults/libs/poggit/libasynql/base/SqlThreadPool(91): muqsit\playervaults\libs\poggit\libasynql\base\DataConnectorImpl->muqsit\playervaults\libs\poggit\libasynql\base\{closure}(object muqsit\playervaults\libs\poggit\libasynql\result\SqlSelectResult)
#11 plugins/PlayerVaults_dev-21.phar/src/muqsit/playervaults/libs/poggit/libasynql/base/DataConnectorImpl(262): muqsit\playervaults\libs\poggit\libasynql\base\SqlThreadPool->readResults(array[1])
#12 plugins/PlayerVaults_dev-21.phar/src/muqsit/playervaults/libs/poggit/libasynql/CallbackTask(36): muqsit\playervaults\libs\poggit\libasynql\base\DataConnectorImpl->checkResults()
#13 src/pocketmine/scheduler/TaskHandler(159): muqsit\playervaults\libs\poggit\libasynql\CallbackTask->onRun(integer 14688)
#14 src/pocketmine/scheduler/TaskScheduler(199): pocketmine\scheduler\TaskHandler->run(integer 14688)
#15 src/pocketmine/plugin/PluginManager(689): pocketmine\scheduler\TaskScheduler->mainThreadHeartbeat(integer 14688)
#16 src/pocketmine/Server(2569): pocketmine\plugin\PluginManager->tickSchedulers(integer 14688)
#17 src/pocketmine/Server(2345): pocketmine\Server->tick()
#18 src/pocketmine/Server(2205): pocketmine\Server->tickProcessor()
#19 src/pocketmine/Server(1784): pocketmine\Server->start()
#20 src/pocketmine/PocketMine(274): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[16] /home/minecraft/, string[24] /home/minecraft/plugins/)
#21 (1): require(string[68] phar:///home/minecraft/pocketmine.phar/src/pocketmine/PocketMine.php)

PocketMine-MP version: 3.9.1 [Protocol 361]
Git commit: aaa01bb6f87082fc4cf4c251c06f1a590d886f2e
uname -a: Linux 544bd6ed4491 4.19.0-0.bpo.4-amd64 #1 SMP Debian 4.19.28-2~bpo9+1 (2019-03-27) x86_64
PHP Version: 7.3.6
Zend version: 3.3.6
OS : Linux, linux

Loaded plugins:
AutoInv 0.0.10 by JackNoordhuis for API(s) 3.0.0
EnderPearlCooldown 0.0.1 by AdminConfirmed for API(s) 3.8.2
SlapperRotation 1.2.1 by jojoe77777 for API(s) 3.0.0
PlayerVaults 3.2 by  for API(s) 3.0.0
PlayerAnnouncements 2.0 by Array for API(s) 3.8.5
RenameItems 1 by Wertzui123 for API(s) 3.0.0
FilterX 1.0.0 by ARTulloss for API(s) 3.0.0
ComplexHealth 1.0.0 by DuooIncc for API(s) 3.7.0
BetterVoting 1.5.0 by Twisted for API(s) 3.2.0
AutoXP 1.1.0 by JackMD for API(s) 3.0.0
Slapper 1.5.0 by jojoe77777 for API(s) 3.9.0
MobStacker 0.2.3 by UnknownOre for API(s) 3.8.1
MiningRewards 1.5 by David for API(s) 3.0.0
MineReset 3.2.0 by Falk for API(s) 3.0.0
TeaSpoon 1.2.0 by CortexPE for API(s) 3.9.0
FastRespawn 2.0.0 by khavmc for API(s) 3.0.0-ALPHA12, 3.0.0
PiggyCrates 1.5.0 by DaPigGuy for API(s) 3.2.0
WorldBorder 1.0.0-3.0.0 by ArceusMatt for API(s) 3.0.0
BuilderTools 1.2.0-beta2 by CzechPMDevs, VixikCZ for API(s) 3.0.0
PiggyCustomEnchants 1.4.6 by DaPigGuy for API(s) 3.2.0
AutoClearLagg 3.0.0 by Twisted for API(s) 3.0.0
RedstoneCircuit 1.0.1 by tedo0627 for API(s) 3.6.0
essentialsTP 1.2.2 by  for API(s) 3.0.0
MultiWorld 1.5.1 by CzechPMDevs, VixikCZ, fuyutsuki, kaliiks for API(s) 3.0.0
AllSigns 1.0.11 by survanetwork for API(s) 3.0.0
Worlds 2.0.3 by survanetwork for API(s) 3.0.0
MyStats 1.4.13 by CzechMPDevs, VixikCZ for API(s) 3.0.0-ALPHA7, 3.0.0-ALPHA8, 3.0.0-ALPHA9, 3.0.0-ALPHA10, 3.0.0-ALPHA11, 3.0.0-ALPHA12, 3.0.0
TradePP 1 by TungstenVn for API(s) 3.0.0
WhatCrates 1.2.1-pre by SchdowNVIDIA for API(s) 3.0.0
AdvancedJoin 1.1.0 by tim03we for API(s) 3.0.0
Festival 1.1.3 by Genboy for API(s) 3.0.0
SimpleSwim 1.0.0 by TheDeibo for API(s) 3.1.0
Repair 1.0.1 by JackMD for API(s) 3.0.0
WarpsPro 1.3.0 by nikoskon for API(s) 3.0.0
EconomyAPI 5.7.2 by onebone for API(s) 3.0.0
OreEarn 1.8.1 by SchdowNVIDIA for API(s) 3.0.0
PurePerms 1.4.2-c2a by 64FF00 & ProjectInfinity for API(s) 3.0.0
RankPoints 1.5.3 by JD for API(s) 3.0.0
FormAPI 1.3.0 by jojoe77777 for API(s) 3.2.0
Gears 1.2-beta by InfinityGamers for API(s) 3.0.0
EnchantUI 0.5 by UnknownOre for API(s) 3.0.0
AntiVoid 1.1.0 by FiberglassCivic for API(s) 3.0.0
CombatLogger 0.0.6 by Jack Noordhuis for API(s) 3.0.0
KOTH 1.0.0-Beta3 by Jackthehack21 for API(s) 3.7.0
KitUI 1.3.5 by Infernus101 for API(s) 3.4.0
1vs1 1.0.1 by VixikHD for API(s) 3.0.0
CrashFixer 1 by TutoGamerWalid (wiligangster) for API(s) 3.7.1
CustomShopUI 4.0.5 by SaltyPixelDevz for API(s) 3.0.0
SellAll 1.3.0 by AndreasHGK for API(s) 3.0.0
ChatScrambler 1.0.0 by ArceusMatt for API(s) 3.0.0
BankNotes 2.0.3 by AndreasHGK for API(s) 3.7.0
TradeUI 1.3 by xBeastMode for API(s) 3.0.0, 4.0.0
TimeRanks 2.1.1 by luca28pet for API(s) 3.0.0
Bounty 1.1.2 by Jackthehaxk21 for API(s) 3.7.0
PMEssentials 1.0.0-dev by pmessentials for API(s) 3.6.0
BlockSniper 3.2.3 by BlockHorizons, Sandertv (@Sandertv), Chris-Prime (@PrimusLV) for API(s) 3.2.0
PureChat 1.4.11 by 64FF00 for API(s) 3.0.0
FactionsPro 1.3.18 by Tethered_ for API(s) 3.0.0
TopVoter 3.2.0 by SalmonDE for API(s) 3.0.0
Texter 3.2.0 by yuko_fuyutsuki, mfmfnek0, onebone, ogiwara, Shootsta_ERU0531, Toganon, ShadowArt, Marron0421 for API(s) 3.9.0
PureChatExtras 1.0.0 by ProxyTechDevs for API(s) 3.0.0

----------------------REPORT THE DATA BELOW THIS LINE-----------------------

===BEGIN CRASH DUMP===
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
===END CRASH DUMP===


ScheduleManagerRefactor (Myoldmopar) - 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)


[R/buildMetadata.R:5:1:](https://github.com/PredictiveEcology/map/blob/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/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/e4c6d640e1ef86dc37d5dd20d96319fb3a42fbc9/R/map.R#L69) *style:* **Lines should not be more than 80 characters.**
```r
#'                layerName = "Smaller Study Area") # adds a second studyArea within 1st
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```


This was meant to say config.


Thanks, doing that now.