[R/boxplots.R:2:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L2) *style:* **Lines should not be more than 80 characters.**
```r
  utils::globalVariables(c(".", ":=", ".SD", "ageClass", "group", "proportionCC",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:11:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L11) *style:* **Variable and function name style should be snake_case.**
```r
.doPlotBoxplot <- function(data, authStatus, fname = NULL, ageClasses,
^~~~~~~~~~~~~~
```
[R/boxplots.R:11:34:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L11) *style:* **Variable and function name style should be snake_case.**
```r
.doPlotBoxplot <- function(data, authStatus, fname = NULL, ageClasses,
                                 ^~~~~~~~~~
```
[R/boxplots.R:11:60:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L11) *style:* **Variable and function name style should be snake_case.**
```r
.doPlotBoxplot <- function(data, authStatus, fname = NULL, ageClasses,
                                                           ^~~~~~~~~~
```
[R/boxplots.R:12:41:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L12) *style:* **Variable and function name style should be snake_case.**
```r
                           fout = NULL, vegCover, zone, ...) {
                                        ^~~~~~~~
```
[R/boxplots.R:16:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L16) *style:* **Variable and function name style should be snake_case.**
```r
  boxplotData <- data.table(zone = rep(zone, 4),
  ^~~~~~~~~~~
```
[R/boxplots.R:32:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L32) *style:* **Lines should not be more than 80 characters.**
```r
    points(data$proportionCC[ids], factor(data$ageClass[1:4]), col = "red", pch = 20, cex = 3)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:55:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L55) *style:* **Variable and function name style should be snake_case.**
```r
runBoxPlotsVegCover <- function(map, functionName, analysisGroups, dPath) {
^~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:55:38:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L55) *style:* **Variable and function name style should be snake_case.**
```r
runBoxPlotsVegCover <- function(map, functionName, analysisGroups, dPath) {
                                     ^~~~~~~~~~~~
```
[R/boxplots.R:55:52:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L55) *style:* **Variable and function name style should be snake_case.**
```r
runBoxPlotsVegCover <- function(map, functionName, analysisGroups, dPath) {
                                                   ^~~~~~~~~~~~~~
```
[R/boxplots.R:55:68:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L55) *style:* **Variable and function name style should be snake_case.**
```r
runBoxPlotsVegCover <- function(map, functionName, analysisGroups, dPath) {
                                                                   ^~~~~
```
[R/boxplots.R:56:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L56) *style:* **Variable and function name style should be snake_case.**
```r
  allRepPolys <- na.omit(map@metadata[[analysisGroups]])
  ^~~~~~~~~~~
```
[R/boxplots.R:60:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L60) *style:* **Lines should not be more than 80 characters.**
```r
    allData <- map@analysesData[[functionName]][["LeadingVegTypeByAgeClass"]][[poly]]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:60:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L60) *style:* **Variable and function name style should be snake_case.**
```r
    allData <- map@analysesData[[functionName]][["LeadingVegTypeByAgeClass"]][[poly]]
    ^~~~~~~
```
[R/boxplots.R:62:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L62) *style:* **Variable and function name style should be snake_case.**
```r
      allData <- map@analysesData[[functionName]][[poly]] ## TODO: fix upstream
      ^~~~~~~
```
[R/boxplots.R:63:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L63) *style:* **Variable and function name style should be snake_case.**
```r
    allData <- unique(allData) ## remove duplicates; with LandWeb#89
    ^~~~~~~
```
[R/boxplots.R:65:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L65) *style:* **Lines should not be more than 80 characters.**
```r
    # allData[vegCover == "Fir", vegCover := "Abie_sp"] ## so far, rep01 is the only one needing fixing
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:65:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L65) *style:* **Commented code should be removed.**
```r
    # allData[vegCover == "Fir", vegCover := "Abie_sp"] ## so far, rep01 is the only one needing fixing
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:66:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L66) *style:* **Commented code should be removed.**
```r
    # allData[vegCover == "Wh Spruce", vegCover := "Pice_gla"]
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:67:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L67) *style:* **Commented code should be removed.**
```r
    # allData[vegCover == "Bl Spruce", vegCover := "Pice_mar"]
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:68:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L68) *style:* **Commented code should be removed.**
```r
    # allData[vegCover == "Pine", vegCover := "Pinu_sp"]
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:69:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L69) *style:* **Commented code should be removed.**
```r
    # allData[vegCover == "Decid", vegCover := "Popu_sp"]
      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:71:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L71) *style:* **Variable and function name style should be snake_case.**
```r
    allData$ageClass <- factor(allData$ageClass, .ageClasses)
            ^~~~~~~~
```
[R/boxplots.R:71:50:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L71) *warning:* **no visible binding for global variable ‘.ageClasses’**
```r
    allData$ageClass <- factor(allData$ageClass, .ageClasses)
                                                 ^~~~~~~~~~~
```
[R/boxplots.R:73:34:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L73) *warning:* **no visible binding for global variable ‘group’, Did you mean 'drop'?**
```r
    data <- allData[!grepl("CC", group)]
                                 ^~~~~
```
[R/boxplots.R:74:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L74) *style:* **Variable and function name style should be snake_case.**
```r
    dataCC <- allData[grepl("CC", group)]
    ^~~~~~
```
[R/boxplots.R:74:35:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L74) *warning:* **no visible binding for global variable ‘group’, Did you mean 'drop'?**
```r
    dataCC <- allData[grepl("CC", group)]
                                  ^~~~~
```
[R/boxplots.R:75:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L75) *style:* **Lines should not be more than 80 characters.**
```r
    setnames(dataCC, "proportion", "proportionCC") ## rename the column to proportionCC
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:75:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L75) *warning:* **no visible global function definition for ‘setnames’, Did you mean 'setNames'?**
```r
    setnames(dataCC, "proportion", "proportionCC") ## rename the column to proportionCC
    ^~~~~~~~
```
[R/boxplots.R:76:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L76) *style:* **Variable and function name style should be snake_case.**
```r
    dataCC <- dataCC[, c("group", "label", "NPixels") := list(NULL, NULL, NULL)]
    ^~~~~~
```
[R/boxplots.R:76:55:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L76) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
    dataCC <- dataCC[, c("group", "label", "NPixels") := list(NULL, NULL, NULL)]
                                                      ^~
```
[R/boxplots.R:78:32:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L78) *warning:* **no visible global function definition for ‘.’, Did you mean 'C'?**
```r
    data2 <- dataCC[data, on = .(zone, vegCover, ageClass)]
                               ^
```
[R/boxplots.R:78:34:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L78) *warning:* **no visible binding for global variable ‘zone’, Did you mean 'line'?**
```r
    data2 <- dataCC[data, on = .(zone, vegCover, ageClass)]
                                 ^~~~
```
[R/boxplots.R:78:40:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L78) *warning:* **no visible binding for global variable ‘vegCover’**
```r
    data2 <- dataCC[data, on = .(zone, vegCover, ageClass)]
                                       ^~~~~~~~
```
[R/boxplots.R:78:50:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L78) *warning:* **no visible binding for global variable ‘ageClass’, Did you mean 'getClass'?**
```r
    data2 <- dataCC[data, on = .(zone, vegCover, ageClass)]
                                                 ^~~~~~~~
```
[R/boxplots.R:79:17:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L79) *warning:* **no visible binding for global variable ‘NPixels’**
```r
    data2[is.na(NPixels), NPixels := 0]
                ^~~~~~~
```
[R/boxplots.R:79:17:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L79) *warning:* **no visible binding for global variable ‘NPixels’**
```r
    data2[is.na(NPixels), NPixels := 0]
                ^~~~~~~
```
[R/boxplots.R:79:27:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L79) *style:* **Variable and function name style should be snake_case.**
```r
    data2[is.na(NPixels), NPixels := 0]
                          ^~~~~~~
```
[R/boxplots.R:79:35:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L79) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
    data2[is.na(NPixels), NPixels := 0]
                                  ^~
```
[R/boxplots.R:82:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L82) *style:* **Lines should not be more than 80 characters.**
```r
    ## NOTE: this is number of TREED pixels, which is likely smaller than the polygon area
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:83:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L83) *style:* **Variable and function name style should be snake_case.**
```r
    data2[, totalPixels := as.double(base::sum(NPixels, na.rm = TRUE)),
            ^~~~~~~~~~~
```
[R/boxplots.R:85:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L85) *style:* **Variable and function name style should be snake_case.**
```r
    data2[, totalPixels2 := as.double(base::mean(totalPixels, na.rm = TRUE)),
            ^~~~~~~~~~~~
```
[R/boxplots.R:87:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L87) *style:* **Lines should not be more than 80 characters.**
```r
    try(write.csv(data2, file.path(dPath, paste0("leading_", gsub(" ", "_", poly), ".csv"))))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:94:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L94) *style:* **Lines should not be more than 80 characters.**
```r
    fout <- file.path(dPath, paste0("leading_boxplots_", gsub(" ", "_", poly), ".csv"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:97:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L97) *warning:* **local variable ‘saveDir’ assigned but may not be used**
```r
    saveDir <- checkPath(file.path(dPath, poly), create = TRUE)
    ^~~~~~~
```
[R/boxplots.R:97:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L97) *style:* **Variable and function name style should be snake_case.**
```r
    saveDir <- checkPath(file.path(dPath, poly), create = TRUE)
    ^~~~~~~
```
[R/boxplots.R:97:16:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L97) *warning:* **no visible global function definition for ‘checkPath’**
```r
    saveDir <- checkPath(file.path(dPath, poly), create = TRUE)
               ^~~~~~~~~
```
[R/boxplots.R:98:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L98) *style:* **Lines should not be more than 80 characters.**
```r
    savePng <- quote(file.path(saveDir, paste0(unique(paste(zone, vegCover, collapse = " ")), ".png")))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:98:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L98) *style:* **Variable and function name style should be snake_case.**
```r
    savePng <- quote(file.path(saveDir, paste0(unique(paste(zone, vegCover, collapse = " ")), ".png")))
    ^~~~~~~
```
[R/boxplots.R:109:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L109) *style:* **Lines should not be more than 80 characters.**
```r
                                    main = unique(paste(zone, vegCover, collapse = "_")),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:110:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L110) *style:* **Lines should not be more than 80 characters.**
```r
                                    xlab = paste0("Proportion of forest area (total ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:112:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L112) *style:* **Lines should not be more than 80 characters.**
```r
                                                           prod(res(rasterToMatch(map))) / 1e4,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/boxplots.R:118:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/boxplots.R#L118) *style:* **Lines should not be more than 80 characters.**
```r
          .SDcols = c("ageClass", "proportion", "proportionCC", "NPixels"), by = slices]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:9:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L9) *style:* **Lines should not be more than 80 characters.**
```r
.doPlotHistogram <- function(data, colName, colNameCC, xlim, force.min.n = FALSE, fname = NULL, ...) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:9:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L9) *style:* **Variable and function name style should be snake_case.**
```r
.doPlotHistogram <- function(data, colName, colNameCC, xlim, force.min.n = FALSE, fname = NULL, ...) {
^~~~~~~~~~~~~~~~
```
[R/histograms.R:9:36:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L9) *style:* **Variable and function name style should be snake_case.**
```r
.doPlotHistogram <- function(data, colName, colNameCC, xlim, force.min.n = FALSE, fname = NULL, ...) {
                                   ^~~~~~~
```
[R/histograms.R:9:45:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L9) *style:* **Variable and function name style should be snake_case.**
```r
.doPlotHistogram <- function(data, colName, colNameCC, xlim, force.min.n = FALSE, fname = NULL, ...) {
                                            ^~~~~~~~~
```
[R/histograms.R:9:62:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L9) *style:* **Variable and function name style should be snake_case.**
```r
.doPlotHistogram <- function(data, colName, colNameCC, xlim, force.min.n = FALSE, fname = NULL, ...) {
                                                             ^~~~~~~~~~~
```
[R/histograms.R:10:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L10) *style:* **Variable and function name style should be snake_case.**
```r
  minNumBars <- 6
  ^~~~~~~~~~
```
[R/histograms.R:11:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L11) *style:* **Variable and function name style should be snake_case.**
```r
  maxNumBars <- 30
  ^~~~~~~~~~
```
[R/histograms.R:12:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L12) *style:* **Variable and function name style should be snake_case.**
```r
  rangeNClusters <- if (isTRUE(force.min.n)) {
  ^~~~~~~~~~~~~~
```
[R/histograms.R:17:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L17) *style:* **Variable and function name style should be snake_case.**
```r
  attemptedNumBars <- max(minNumBars, min(maxNumBars, diff(rangeNClusters)))
  ^~~~~~~~~~~~~~~~
```
[R/histograms.R:18:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L18) *style:* **Lines should not be more than 80 characters.**
```r
  breaksRaw <- seq(rangeNClusters[1], rangeNClusters[2], length.out = attemptedNumBars)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:18:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L18) *style:* **Variable and function name style should be snake_case.**
```r
  breaksRaw <- seq(rangeNClusters[1], rangeNClusters[2], length.out = attemptedNumBars)
  ^~~~~~~~~
```
[R/histograms.R:19:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L19) *style:* **Variable and function name style should be snake_case.**
```r
  prettyBreaks <- if (isTRUE(force.min.n)) {
  ^~~~~~~~~~~~
```
[R/histograms.R:20:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L20) *style:* **Lines should not be more than 80 characters.**
```r
    pretty(breaksRaw, n = attemptedNumBars, min.n = min(attemptedNumBars, minNumBars))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:25:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L25) *style:* **Variable and function name style should be snake_case.**
```r
  dataForBreaks <- dataForHistogram <- if (NROW(data) == 0) {
  ^~~~~~~~~~~~~
```
[R/histograms.R:25:20:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L25) *style:* **Variable and function name style should be snake_case.**
```r
  dataForBreaks <- dataForHistogram <- if (NROW(data) == 0) {
                   ^~~~~~~~~~~~~~~~
```
[R/histograms.R:32:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L32) *style:* **Variable and function name style should be snake_case.**
```r
  breaksLabels <- dataForBreaks$breaks
  ^~~~~~~~~~~~
```
[R/histograms.R:33:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L33) *style:* **Variable and function name style should be snake_case.**
```r
  breaksInterval <- diff(breaksLabels)[1]
  ^~~~~~~~~~~~~~
```
[R/histograms.R:35:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L35) *style:* **Lines should not be more than 80 characters.**
```r
  histogramData <- dataForHistogram$counts / sum(dataForHistogram$counts) ## use proportion
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:35:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L35) *style:* **Variable and function name style should be snake_case.**
```r
  histogramData <- dataForHistogram$counts / sum(dataForHistogram$counts) ## use proportion
  ^~~~~~~~~~~~~
```
[R/histograms.R:36:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L36) *style:* **Lines should not be more than 80 characters.**
```r
  histogramData[is.na(histogramData)] <- 0 # NA means that there were no large patches in dt
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:38:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L38) *style:* **Variable and function name style should be snake_case.**
```r
  barplotBreaks <- seq_along(breaksLabels) - 0.5
  ^~~~~~~~~~~~~
```
[R/histograms.R:39:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L39) *style:* **Lines should not be more than 80 characters.**
```r
  addAxisParams <- list(side = 1, labels = breaksLabels, at = barplotBreaks)# - min(breaksLabels))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:39:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L39) *style:* **Variable and function name style should be snake_case.**
```r
  addAxisParams <- list(side = 1, labels = breaksLabels, at = barplotBreaks)# - min(breaksLabels))
  ^~~~~~~~~~~~~
```
[R/histograms.R:40:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L40) *style:* **Lines should not be more than 80 characters.**
```r
  verticalLineAtX <- unique(data[[colNameCC]])[1] / breaksInterval + 0.5 # The barplot xaxis is 1/2 a barwidth off
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:40:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L40) *style:* **Variable and function name style should be snake_case.**
```r
  verticalLineAtX <- unique(data[[colNameCC]])[1] / breaksInterval + 0.5 # The barplot xaxis is 1/2 a barwidth off
  ^~~~~~~~~~~~~~~
```
[R/histograms.R:45:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L45) *style:* **Lines should not be more than 80 characters.**
```r
  if (!is.null(verticalLineAtX)) abline(v = verticalLineAtX, col = "red", lwd = 3)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:65:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L65) *style:* **Variable and function name style should be snake_case.**
```r
runHistsLargePatches <- function(map, functionName, analysisGroups, dPath) {
^~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:65:39:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L65) *style:* **Variable and function name style should be snake_case.**
```r
runHistsLargePatches <- function(map, functionName, analysisGroups, dPath) {
                                      ^~~~~~~~~~~~
```
[R/histograms.R:65:53:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L65) *style:* **Variable and function name style should be snake_case.**
```r
runHistsLargePatches <- function(map, functionName, analysisGroups, dPath) {
                                                    ^~~~~~~~~~~~~~
```
[R/histograms.R:65:69:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L65) *style:* **Variable and function name style should be snake_case.**
```r
runHistsLargePatches <- function(map, functionName, analysisGroups, dPath) {
                                                                    ^~~~~
```
[R/histograms.R:66:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L66) *style:* **Variable and function name style should be snake_case.**
```r
  allRepPolys <- na.omit(map@metadata[[analysisGroups]])
  ^~~~~~~~~~~
```
[R/histograms.R:70:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L70) *style:* **Variable and function name style should be snake_case.**
```r
    allData <- map@analysesData[[functionName]][["LargePatches"]][[poly]]
    ^~~~~~~
```
[R/histograms.R:72:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L72) *style:* **Variable and function name style should be snake_case.**
```r
      allData <- map@analysesData[[functionName]][[poly]] ## TODO: fix upstream
      ^~~~~~~
```
[R/histograms.R:74:34:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L74) *warning:* **no visible binding for global variable ‘group’, Did you mean 'drop'?**
```r
    data <- allData[!grepl("CC", group)]
                                 ^~~~~
```
[R/histograms.R:75:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L75) *style:* **Variable and function name style should be snake_case.**
```r
    dataCC <- allData[grepl("CC", group)]
    ^~~~~~
```
[R/histograms.R:75:35:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L75) *warning:* **no visible binding for global variable ‘group’, Did you mean 'drop'?**
```r
    dataCC <- allData[grepl("CC", group)]
                                  ^~~~~
```
[R/histograms.R:77:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L77) *style:* **Lines should not be more than 80 characters.**
```r
    data$rep <- as.numeric(factor(data$group)) ## TODO: workaround for incorrect rep values from LargePatches
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:80:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L80) *style:* **Variable and function name style should be snake_case.**
```r
    slicesNoRep <- slices[slices != "rep"]
    ^~~~~~~~~~~
```
[R/histograms.R:82:19:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L82) *warning:* **no visible binding for global variable ‘ageClass’, Did you mean 'getClass'?**
```r
    data <- data[!ageClass == "NA" | !vegCover == "NA"]
                  ^~~~~~~~
```
[R/histograms.R:82:39:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L82) *warning:* **no visible binding for global variable ‘vegCover’**
```r
    data <- data[!ageClass == "NA" | !vegCover == "NA"]
                                      ^~~~~~~~
```
[R/histograms.R:83:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L83) *style:* **Variable and function name style should be snake_case.**
```r
    emptyDT <- data.table(expand.grid(ageClass = unique(data$ageClass),
    ^~~~~~~
```
[R/histograms.R:88:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L88) *style:* **Variable and function name style should be snake_case.**
```r
    patchSizes <- c(100, 500, 1000, 5000) ## minPatchSize <- 100
    ^~~~~~~~~~
```
[R/histograms.R:88:46:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L88) *style:* **Commented code should be removed.**
```r
    patchSizes <- c(100, 500, 1000, 5000) ## minPatchSize <- 100
                                             ^~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:90:41:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L90) *style:* **Variable and function name style should be snake_case.**
```r
    fout <- lapply(patchSizes, function(minPatchSize) {
                                        ^~~~~~~~~~~~
```
[R/histograms.R:91:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L91) *style:* **Variable and function name style should be snake_case.**
```r
      nClustersDT <- data[sizeInHa >= minPatchSize, .N, by = slices]
      ^~~~~~~~~~~
```
[R/histograms.R:91:27:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L91) *warning:* **no visible binding for global variable ‘sizeInHa’**
```r
      nClustersDT <- data[sizeInHa >= minPatchSize, .N, by = slices]
                          ^~~~~~~~
```
[R/histograms.R:91:53:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L91) *warning:* **no visible binding for global variable ‘.N’, Did you mean 'ar'?**
```r
      nClustersDT <- data[sizeInHa >= minPatchSize, .N, by = slices]
                                                    ^~
```
[R/histograms.R:92:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L92) *style:* **Variable and function name style should be snake_case.**
```r
      nClustersDT <- nClustersDT[emptyDT, on = slices, nomatch = NA]
      ^~~~~~~~~~~
```
[R/histograms.R:93:25:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L93) *warning:* **no visible binding for global variable ‘N’, Did you mean 'C'?**
```r
      nClustersDT[is.na(N), N := 0]
                        ^
```
[R/histograms.R:93:25:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L93) *warning:* **no visible binding for global variable ‘N’, Did you mean 'C'?**
```r
      nClustersDT[is.na(N), N := 0]
                        ^
```
[R/histograms.R:93:29:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L93) *style:* **Variable and function name style should be snake_case.**
```r
      nClustersDT[is.na(N), N := 0]
                            ^
```
[R/histograms.R:93:31:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L93) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
      nClustersDT[is.na(N), N := 0]
                              ^~
```
[R/histograms.R:95:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L95) *style:* **Variable and function name style should be snake_case.**
```r
      nClustersDT_CC <- dataCC[sizeInHa >= minPatchSize, .N, by = slicesNoRep]
      ^~~~~~~~~~~~~~
```
[R/histograms.R:95:32:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L95) *warning:* **no visible binding for global variable ‘sizeInHa’**
```r
      nClustersDT_CC <- dataCC[sizeInHa >= minPatchSize, .N, by = slicesNoRep]
                               ^~~~~~~~
```
[R/histograms.R:95:58:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L95) *warning:* **no visible binding for global variable ‘.N’, Did you mean 'ar'?**
```r
      nClustersDT_CC <- dataCC[sizeInHa >= minPatchSize, .N, by = slicesNoRep]
                                                         ^~
```
[R/histograms.R:96:8:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L96) *style:* **Commented code should be removed.**
```r
      #nClustersDT_CC$rep <- as.numeric(nClustersDT_CC$rep)
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:97:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L97) *warning:* **no visible global function definition for ‘setnames’, Did you mean 'setNames'?**
```r
      setnames(nClustersDT_CC, "N", "NCC")
      ^~~~~~~~
```
[R/histograms.R:98:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L98) *style:* **Variable and function name style should be snake_case.**
```r
      nClustersDT_CC <- nClustersDT_CC[emptyDT, on = slicesNoRep, nomatch = NA]
      ^~~~~~~~~~~~~~
```
[R/histograms.R:99:28:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L99) *warning:* **no visible binding for global variable ‘NCC’, Did you mean 'AIC'?**
```r
      nClustersDT_CC[is.na(NCC), NCC := 0]
                           ^~~
```
[R/histograms.R:99:28:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L99) *warning:* **no visible binding for global variable ‘NCC’, Did you mean 'AIC'?**
```r
      nClustersDT_CC[is.na(NCC), NCC := 0]
                           ^~~
```
[R/histograms.R:99:34:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L99) *style:* **Variable and function name style should be snake_case.**
```r
      nClustersDT_CC[is.na(NCC), NCC := 0]
                                 ^~~
```
[R/histograms.R:99:38:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L99) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
      nClustersDT_CC[is.na(NCC), NCC := 0]
                                     ^~
```
[R/histograms.R:101:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L101) *style:* **Variable and function name style should be snake_case.**
```r
      nClustersDT <- nClustersDT[nClustersDT_CC, on = slices]
      ^~~~~~~~~~~
```
[R/histograms.R:105:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L105) *style:* **Lines should not be more than 80 characters.**
```r
                                                         "_", minPatchSize, ".csv"))))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:107:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L107) *style:* **Lines should not be more than 80 characters.**
```r
      saveDir <- checkPath(file.path(dPath, "largePatches", poly, minPatchSize), create = TRUE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:107:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L107) *warning:* **local variable ‘saveDir’ assigned but may not be used**
```r
      saveDir <- checkPath(file.path(dPath, "largePatches", poly, minPatchSize), create = TRUE)
      ^~~~~~~
```
[R/histograms.R:107:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L107) *style:* **Variable and function name style should be snake_case.**
```r
      saveDir <- checkPath(file.path(dPath, "largePatches", poly, minPatchSize), create = TRUE)
      ^~~~~~~
```
[R/histograms.R:107:18:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L107) *warning:* **no visible global function definition for ‘checkPath’**
```r
      saveDir <- checkPath(file.path(dPath, "largePatches", poly, minPatchSize), create = TRUE)
                 ^~~~~~~~~
```
[R/histograms.R:108:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L108) *style:* **Variable and function name style should be snake_case.**
```r
      savePng <- quote(file.path(saveDir, paste0(paste(unique(polygonName),
      ^~~~~~~
```
[R/histograms.R:111:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L111) *style:* **Lines should not be more than 80 characters.**
```r
                                                       collapse = " "), ".png")))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:126:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L126) *style:* **Lines should not be more than 80 characters.**
```r
                                              xlab = paste0("Number of patches greater than ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:127:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L127) *style:* **Lines should not be more than 80 characters.**
```r
                                                            minPatchSize, " ha"),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:158:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L158) *style:* **Variable and function name style should be snake_case.**
```r
runHistsVegCover <- function(map, functionName, analysisGroups, dPath) {
^~~~~~~~~~~~~~~~
```
[R/histograms.R:158:35:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L158) *style:* **Variable and function name style should be snake_case.**
```r
runHistsVegCover <- function(map, functionName, analysisGroups, dPath) {
                                  ^~~~~~~~~~~~
```
[R/histograms.R:158:49:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L158) *style:* **Variable and function name style should be snake_case.**
```r
runHistsVegCover <- function(map, functionName, analysisGroups, dPath) {
                                                ^~~~~~~~~~~~~~
```
[R/histograms.R:158:65:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L158) *style:* **Variable and function name style should be snake_case.**
```r
runHistsVegCover <- function(map, functionName, analysisGroups, dPath) {
                                                                ^~~~~
```
[R/histograms.R:159:3:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L159) *style:* **Variable and function name style should be snake_case.**
```r
  allRepPolys <- na.omit(map@metadata[[analysisGroups]])
  ^~~~~~~~~~~
```
[R/histograms.R:163:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L163) *style:* **Lines should not be more than 80 characters.**
```r
    allData <- map@analysesData[[functionName]][["LeadingVegTypeByAgeClass"]][[poly]]
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:163:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L163) *style:* **Variable and function name style should be snake_case.**
```r
    allData <- map@analysesData[[functionName]][["LeadingVegTypeByAgeClass"]][[poly]]
    ^~~~~~~
```
[R/histograms.R:165:7:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L165) *style:* **Variable and function name style should be snake_case.**
```r
      allData <- map@analysesData[[functionName]][[poly]] ## TODO: fix upstream
      ^~~~~~~
```
[R/histograms.R:166:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L166) *style:* **Variable and function name style should be snake_case.**
```r
    allData <- unique(allData) ## remove duplicates; with LandWeb#89
    ^~~~~~~
```
[R/histograms.R:169:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L169) *style:* **Lines should not be more than 80 characters.**
```r
    allData[["vegCover"]] <- gsub(" leading", "", allData[["vegCover"]]) %>% ## no longer needed?
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:172:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L172) *style:* **Lines should not be more than 80 characters.**
```r
    allData[vegCover == "Fir", vegCover := "Abie_sp"] ## so far, rep01 is the only one needing fixing
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:172:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L172) *warning:* **no visible binding for global variable ‘vegCover’**
```r
    allData[vegCover == "Fir", vegCover := "Abie_sp"] ## so far, rep01 is the only one needing fixing
            ^~~~~~~~
```
[R/histograms.R:172:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L172) *warning:* **no visible binding for global variable ‘vegCover’**
```r
    allData[vegCover == "Fir", vegCover := "Abie_sp"] ## so far, rep01 is the only one needing fixing
            ^~~~~~~~
```
[R/histograms.R:172:32:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L172) *style:* **Variable and function name style should be snake_case.**
```r
    allData[vegCover == "Fir", vegCover := "Abie_sp"] ## so far, rep01 is the only one needing fixing
                               ^~~~~~~~
```
[R/histograms.R:172:41:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L172) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
    allData[vegCover == "Fir", vegCover := "Abie_sp"] ## so far, rep01 is the only one needing fixing
                                        ^~
```
[R/histograms.R:173:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L173) *warning:* **no visible binding for global variable ‘vegCover’**
```r
    allData[vegCover == "Wh Spruce", vegCover := "Pice_gla"]
            ^~~~~~~~
```
[R/histograms.R:173:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L173) *warning:* **no visible binding for global variable ‘vegCover’**
```r
    allData[vegCover == "Wh Spruce", vegCover := "Pice_gla"]
            ^~~~~~~~
```
[R/histograms.R:173:38:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L173) *style:* **Variable and function name style should be snake_case.**
```r
    allData[vegCover == "Wh Spruce", vegCover := "Pice_gla"]
                                     ^~~~~~~~
```
[R/histograms.R:173:47:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L173) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
    allData[vegCover == "Wh Spruce", vegCover := "Pice_gla"]
                                              ^~
```
[R/histograms.R:174:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L174) *warning:* **no visible binding for global variable ‘vegCover’**
```r
    allData[vegCover == "Bl Spruce", vegCover := "Pice_mar"]
            ^~~~~~~~
```
[R/histograms.R:174:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L174) *warning:* **no visible binding for global variable ‘vegCover’**
```r
    allData[vegCover == "Bl Spruce", vegCover := "Pice_mar"]
            ^~~~~~~~
```
[R/histograms.R:174:38:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L174) *style:* **Variable and function name style should be snake_case.**
```r
    allData[vegCover == "Bl Spruce", vegCover := "Pice_mar"]
                                     ^~~~~~~~
```
[R/histograms.R:174:47:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L174) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
    allData[vegCover == "Bl Spruce", vegCover := "Pice_mar"]
                                              ^~
```
[R/histograms.R:175:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L175) *warning:* **no visible binding for global variable ‘vegCover’**
```r
    allData[vegCover == "Pine", vegCover := "Pinu_sp"]
            ^~~~~~~~
```
[R/histograms.R:175:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L175) *warning:* **no visible binding for global variable ‘vegCover’**
```r
    allData[vegCover == "Pine", vegCover := "Pinu_sp"]
            ^~~~~~~~
```
[R/histograms.R:175:33:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L175) *style:* **Variable and function name style should be snake_case.**
```r
    allData[vegCover == "Pine", vegCover := "Pinu_sp"]
                                ^~~~~~~~
```
[R/histograms.R:175:42:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L175) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
    allData[vegCover == "Pine", vegCover := "Pinu_sp"]
                                         ^~
```
[R/histograms.R:176:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L176) *warning:* **no visible binding for global variable ‘vegCover’**
```r
    allData[vegCover == "Decid", vegCover := "Popu_sp"]
            ^~~~~~~~
```
[R/histograms.R:176:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L176) *warning:* **no visible binding for global variable ‘vegCover’**
```r
    allData[vegCover == "Decid", vegCover := "Popu_sp"]
            ^~~~~~~~
```
[R/histograms.R:176:34:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L176) *style:* **Variable and function name style should be snake_case.**
```r
    allData[vegCover == "Decid", vegCover := "Popu_sp"]
                                 ^~~~~~~~
```
[R/histograms.R:176:43:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L176) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
    allData[vegCover == "Decid", vegCover := "Popu_sp"]
                                          ^~
```
[R/histograms.R:178:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L178) *style:* **Variable and function name style should be snake_case.**
```r
    allData$ageClass <- factor(allData$ageClass, .ageClasses)
            ^~~~~~~~
```
[R/histograms.R:178:50:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L178) *warning:* **no visible binding for global variable ‘.ageClasses’**
```r
    allData$ageClass <- factor(allData$ageClass, .ageClasses)
                                                 ^~~~~~~~~~~
```
[R/histograms.R:180:34:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L180) *warning:* **no visible binding for global variable ‘group’, Did you mean 'drop'?**
```r
    data <- allData[!grepl("CC", group)]
                                 ^~~~~
```
[R/histograms.R:183:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L183) *style:* **Variable and function name style should be snake_case.**
```r
    dataCC <- allData[grepl("CC", group)]
    ^~~~~~
```
[R/histograms.R:183:35:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L183) *warning:* **no visible binding for global variable ‘group’, Did you mean 'drop'?**
```r
    dataCC <- allData[grepl("CC", group)]
                                  ^~~~~
```
[R/histograms.R:184:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L184) *style:* **Lines should not be more than 80 characters.**
```r
    setnames(dataCC, "proportion", "proportionCC") ## rename the column to proportionCC
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:184:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L184) *warning:* **no visible global function definition for ‘setnames’, Did you mean 'setNames'?**
```r
    setnames(dataCC, "proportion", "proportionCC") ## rename the column to proportionCC
    ^~~~~~~~
```
[R/histograms.R:185:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L185) *style:* **Variable and function name style should be snake_case.**
```r
    dataCC <- dataCC[, c("group", "label", "NPixels") := list(NULL, NULL, NULL)]
    ^~~~~~
```
[R/histograms.R:185:55:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L185) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
    dataCC <- dataCC[, c("group", "label", "NPixels") := list(NULL, NULL, NULL)]
                                                      ^~
```
[R/histograms.R:187:32:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L187) *warning:* **no visible global function definition for ‘.’, Did you mean 'C'?**
```r
    data2 <- dataCC[data, on = .(zone, vegCover, ageClass)]
                               ^
```
[R/histograms.R:187:34:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L187) *warning:* **no visible binding for global variable ‘zone’, Did you mean 'line'?**
```r
    data2 <- dataCC[data, on = .(zone, vegCover, ageClass)]
                                 ^~~~
```
[R/histograms.R:187:40:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L187) *warning:* **no visible binding for global variable ‘vegCover’**
```r
    data2 <- dataCC[data, on = .(zone, vegCover, ageClass)]
                                       ^~~~~~~~
```
[R/histograms.R:187:50:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L187) *warning:* **no visible binding for global variable ‘ageClass’, Did you mean 'getClass'?**
```r
    data2 <- dataCC[data, on = .(zone, vegCover, ageClass)]
                                                 ^~~~~~~~
```
[R/histograms.R:188:17:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L188) *warning:* **no visible binding for global variable ‘NPixels’**
```r
    data2[is.na(NPixels), NPixels := 0]
                ^~~~~~~
```
[R/histograms.R:188:17:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L188) *warning:* **no visible binding for global variable ‘NPixels’**
```r
    data2[is.na(NPixels), NPixels := 0]
                ^~~~~~~
```
[R/histograms.R:188:27:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L188) *style:* **Variable and function name style should be snake_case.**
```r
    data2[is.na(NPixels), NPixels := 0]
                          ^~~~~~~
```
[R/histograms.R:188:35:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L188) *warning:* **no visible global function definition for ‘:=’, Did you mean ':'?**
```r
    data2[is.na(NPixels), NPixels := 0]
                                  ^~
```
[R/histograms.R:191:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L191) *style:* **Lines should not be more than 80 characters.**
```r
    ## NOTE: this is number of TREED pixels, which is likely smaller than the polygon area
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:192:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L192) *style:* **Variable and function name style should be snake_case.**
```r
    data2[, totalPixels := as.double(base::sum(NPixels, na.rm = TRUE)),
            ^~~~~~~~~~~
```
[R/histograms.R:194:13:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L194) *style:* **Variable and function name style should be snake_case.**
```r
    data2[, totalPixels2 := as.double(base::mean(totalPixels, na.rm = TRUE)),
            ^~~~~~~~~~~~
```
[R/histograms.R:196:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L196) *style:* **Lines should not be more than 80 characters.**
```r
    #try(write.csv(data2, file.path(dPath, paste0("leading_", gsub(" ", "_", poly), ".csv"))))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:196:6:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L196) *style:* **Commented code should be removed.**
```r
    #try(write.csv(data2, file.path(dPath, paste0("leading_", gsub(" ", "_", poly), ".csv"))))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:198:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L198) *warning:* **local variable ‘saveDir’ assigned but may not be used**
```r
    saveDir <- checkPath(file.path(dPath, "leading", poly), create = TRUE)
    ^~~~~~~
```
[R/histograms.R:198:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L198) *style:* **Variable and function name style should be snake_case.**
```r
    saveDir <- checkPath(file.path(dPath, "leading", poly), create = TRUE)
    ^~~~~~~
```
[R/histograms.R:198:16:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L198) *warning:* **no visible global function definition for ‘checkPath’**
```r
    saveDir <- checkPath(file.path(dPath, "leading", poly), create = TRUE)
               ^~~~~~~~~
```
[R/histograms.R:199:5:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L199) *style:* **Variable and function name style should be snake_case.**
```r
    savePng <- quote(file.path(saveDir, paste0(paste(unique(zone),
    ^~~~~~~
```
[R/histograms.R:216:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L216) *style:* **Lines should not be more than 80 characters.**
```r
                                      xlab = paste0("Proportion of forest area (total ",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:217:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L217) *style:* **Lines should not be more than 80 characters.**
```r
                                                    format(unique(totalPixels2) *
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/histograms.R:218:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/histograms.R#L218) *style:* **Lines should not be more than 80 characters.**
```r
                                                             prod(res(rasterToMatch(map))) / 1e4,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:25:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/largePatches.R#L25) *style:* **Lines should not be more than 80 characters.**
```r
LargePatches <- function(tsf, vtm, poly, labelColumn, id, ageClassCutOffs, ageClasses,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/largePatches.R:25:1:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/largePatches.R#L25) *style:* **Variable and function name style should be snake_case.**
```r
LargePatches <- function(tsf, vtm, poly, labelColumn, id, ageClassCutOffs, ageClasses,
^~~~~~~~~~~~
```
[R/largePatches.R:25:42:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/largePatches.R#L25) *style:* **Variable and function name style should be snake_case.**
```r
LargePatches <- function(tsf, vtm, poly, labelColumn, id, ageClassCutOffs, ageClasses,
                                         ^~~~~~~~~~~
```
[R/largePatches.R:25:59:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/largePatches.R#L25) *style:* **Variable and function name style should be snake_case.**
```r
LargePatches <- function(tsf, vtm, poly, labelColumn, id, ageClassCutOffs, ageClasses,
                                                          ^~~~~~~~~~~~~~~
```
[R/largePatches.R:25:76:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/largePatches.R#L25) *style:* **Variable and function name style should be snake_case.**
```r
LargePatches <- function(tsf, vtm, poly, labelColumn, id, ageClassCutOffs, ageClasses,
                                                                           ^~~~~~~~~~
```
[R/largePatches.R:26:26:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/largePatches.R#L26) *style:* **Variable and function name style should be snake_case.**
```r
                         sppEquivCol, sppEquiv) {
                         ^~~~~~~~~~~
```
[R/largePatches.R:26:39:](https://github.com/PredictiveEcology/LandWebUtils/blob/85e9c731941ed9ac86ab486312dc5d90bf952b21/R/largePatches.R#L26) *style:* **Variable and function name style should be snake_case.**
```r
                         sppEquivCol, sppEquiv) {
                                      ^~~~~~~~
```


Memoized function should be pure (without manipulating `this.state`). You can move this to `componentDidUpdate`.


See pure function comment below


OK, so I was starting to write something up to report to the support center
at openweathermap.org and wanted to double-check and get my facts straight,
so I started retesting things.

If I use cURL on the command line and use a URL with
".../data/2.5/find?q=London ..." - it works (meaning I see what looks like
valid JSON data being returned from their server).
If I use a URL with "/data/2.5/forecast/daily?q=London ..." it DOESN'T work.
If I use a URL with "/data/2.5/weather?q=London ..." it DOES work.
If I use a URL with "/data/2.5/forecast?q=London ..." it DOES work
If I use a URL with "/data/2.5/forecast/hourly?q=London ..." it DOESN'T
work.

(Same results if done in Chrome.  Tried different "&mode=" values and when
one of the URLs above works, most of the time the HTML and XML modes work
too.  But not if the URL doesn't work without the &mode=.)

I'm curious if you try the other URL formats if some of the same ones work
and don't work for you now that you've created a new APPID.

It seems like there's something wrong with the "/daily" and "/hourly"
handlers in their code.

When I get a chance, I'll try to enter a support case with them and see if
we get any reply.

Regards,

Rob

On Tue, Sep 10, 2019 at 1:54 PM Rob Davenport <rob.davenport@gmail.com>
wrote:

> Hmm.   I know my account wasn't working at first, which is why I tried
> creating another APPID, and I've tried both.  Still I could try creating a
> whole new account and see if *that* works...
>
> Maybe it would be good to enter a bug in their system: <
> https://openweathermap.desk.com/customer/portal/emails/new>
>
> When I get some more time, I think I'll do that (unless someone else wants
> to first).
>
> Regards,
>
> Rob
>
> On Tue, Sep 10, 2019 at 12:17 PM Pedro Gomes <notifications@github.com>
> wrote:
>
>> Hi Rob,
>> My account worked before I created the new APPID. I think I created it 5
>> years ago or something like that.
>> I recon it can be that the APPIDs take some time to get active and thus I
>> am not able to get it working just yet.
>>
>> Kind regards,
>> Pedro
>>
>>
>> On Tue, 10 Sep 2019 at 17:13, rgd <notifications@github.com> wrote:
>>
>> > Hi Pedro,
>> >
>> > I'm using my openweathermap.org username - which is my email address:
>> > rob.davenport@gmail.com.
>> >
>> > And Aaron, yes, I purposely did not remove my appid from that earlier
>> email
>> > in case someone else wanted to test with it. I have a second appid that
>> I
>> > made when trying to see if that was the problem and I'll just use that
>> in
>> > the future. I forgot to mention I'd left it in in the email. I
>> > appreciate the caution.
>> >
>> > I'm glad someone else is seeing the issue now too though. So it might be
>> > something to do with the accounts and their update to the new version. I
>> > wonder if creating a whole new account will work...
>> >
>> > Rob
>> >
>> > On Tue, Sep 10, 2019 at 11:50 AM Pedro Gomes <notifications@github.com>
>> > wrote:
>> >
>> > > Now that I have changed for a new APPID I get the username and
>> password
>> > and
>> > > I cannot authenticate. Can you please enlighten me and tell me what is
>> > the
>> > > user name you are using. Is it the openweather username or the email
>> with
>> > > which you login in the browser?
>> > >
>> > > Kind regards,
>> > > Pedro
>> > >
>> > > On Tue, 10 Sep 2019 at 09:14, azynheira <azynheira@gmail.com> wrote:
>> > >
>> > > > Hi,
>> > > > That was a long, but full of good information email😋 I will have
>> some
>> > > > time at work today sigh😆 I will try to reproduce your use cases...
>> and
>> > > > report back!
>> > > >
>> > > > Kind regards,
>> > > > Pedro
>> > > >
>> > > >
>> > > >
>> > > > Sent from my Samsung Galaxy smartphone.
>> > > >
>> > > > -------- Original message --------
>> > > > From: rgd <notifications@github.com>
>> > > > Date: 09/09/2019 9:06 pm (GMT+00:00)
>> > > > To: "aaronbieber/sunshine.el" <sunshine.el@noreply.github.com>
>> > > > Cc: Pedro Gomes <azynheira@gmail.com>, Author <
>> > author@noreply.github.com
>> > > >
>> > > > Subject: Re: [aaronbieber/sunshine.el] Changes to fit the new API.
>> > Before
>> > > > it was every 6h. New daily API gives the same result as before.
>> Needed
>> > to
>> > > > tweak the JSON parsing (a980ed7)
>> > > >
>> > > > Got a few minutes to look at it again at work. Odd things:
>> > > > - with this latest version of sunshine.el, it's asking me for
>> > > > username/password to openweather, *twice*. I assume that will be
>> > > > eventually cached once this gets worked out on my machine. Though I
>> > also
>> > > > did add the gnupg stuff with gnutls on some of my systems. Not sure
>> if
>> > > > that has anything to do with it or not. But a while back
>> > > sunshine-forecast
>> > > > didn't prompt me for the credentials.
>> > > >
>> > > > On the work machines in Chrome these URLs work:
>> > > >
>> > > >
>> > > >
>> > >
>> >
>> http://api.openweathermap.org/data/2.5/forecast?id=524901&APPID=9e78b67db4d4e5c678aa0efb35551ac9
>> > > >
>> > > >
>> > > >
>> > >
>> >
>> https://api.openweathermap.org/data/2.5/forecast?q=Akron,US&APPID=9e78b67db4d4e5c678aa0efb35551ac9
>> > > >
>> > > >
>> > > > (one with ?id= and one with ?q=, one http and one https). But if I
>> put
>> > > > "daily/" in there :
>> > > >
>> > > >
>> > > >
>> > >
>> >
>> https://api.openweathermap.org/data/2.5/forecast/daily?q=Akron,US&APPID=9e78b67db4d4e5c678aa0efb35551ac9
>> > > >
>> > > >
>> > > > I get: "{"cod":401, "message": "Invalid API key. Please see
>> > > > http://openweathermap.org/faq#error401 for more info."}" But it's
>> the
>> > > > exact same APPID key. Unless there's difference in formatting I'm
>> > > missing.
>> > > >
>> > > > Remove "/daily" and it works again (could be cached I suppose). I
>> can't
>> > > > explain it.
>> > > >
>> > > >
>> > > > OK - started emacs -Q, then did
>> > > > (add-to-list 'load-path "<path to 0905 sunshine package in elpa
>> > cache>")
>> > > > (require 'sunshine)
>> > > > (setq sunshine-appid "<my app id ... 9878 blah... above>")
>> > > >
>> > > > M-x sunshine-forecast
>> > > >
>> > > > <have to enter username and password to openweathermap.org _twice_
>> > then>
>> > > >
>> > > > Username [for
>> http://api.openweatheramap.org/data/2.5/forecast/daily?.
>> > ..
>> > > ]:
>> > > >
>> > > >
>> > > > error in process filter: sunshine-build-simple-forecast: Wrong type
>> > > > argument: listp, t
>> > > > error in process filter: Wrong type argument: listp, t
>> > > >
>> > > > Sigh. So it doesn't seem to be anything in my .emac configuration.
>> > > > It could be my installation. Since I'm on Windows and have a bunch
>> of
>> > GNU
>> > > > utilities on here, it's possible one of them is interfering if
>> sunshine
>> > > > shells out to run some command. Have had that problem before. I
>> suppose
>> > > > I could try on my Ubuntu VM and see if it works there.
>> > > >
>> > > > OK - running 27.0.50 on my emacs VM. Updated sunshine to the 0905
>> > > > version. Tried sunshine-forecast, entered my openweathermap username
>> > and
>> > > > password - and I get "Wrong authorization used for
>> > > >
>> > > >
>> > >
>> >
>> http://api.openweathermap.org/data/2.5/forecast/daily?q=Akron,US&APPID9e78
>> > > ..
>> > > > ."
>> > > > !! ?? if I go to (https) openweathermap.org in Firefox on the
>> Ubuntu
>> > VM,
>> > > > I can log in successfully using the same username and password. (I
>> did
>> > > try
>> > > > several times to make sure I wasn't mistyping it and I don't think I
>> > > was.)
>> > > >
>> > > > I tried reverting to the previous 2018 version of sunshine but that
>> > > didn't
>> > > > work as it's now giving me the "Wrong type argument: listp, t"
>> error.
>> > > >
>> > > > I suspect I'm mucking things up more than helping.
>> > > >
>> > > > But bottom line right now - I'm running Emacs 27.0.50 (as it
>> reports)
>> > on
>> > > > several Windows and one Ubuntu VM, mostly at work behind corporate
>> > > firewall
>> > > > but also at home, running "emacs -Q" to avoid any of my .emacs.d
>> > > > configuration, do (add-to-list 'load-path <sunshine package in
>> > > .emacs\elpa
>> > > > location>), (require 'sunshine), (setq sunshine-appd "9e78..."),
>> (setq
>> > > > url-proxy-services <for corporate firewall - which works>), then M-x
>> > > sun-f
>> > > > and blam: Wrong type argument: listp, t.
>> > > >
>> > > > And now I'm getting that even when trying to go back to 2018
>> sunshine
>> > > > version. Wondering if there's a cache not getting cleared (besides
>> > > > ~/.emacs.d/url/cache). Using -Q should not be using any of my config
>> > but
>> > > > be stock emacs, but maybe I need to do a fresh installation. Maybe
>> spin
>> > > up
>> > > > another VM and put *just* emacs-27.0.50 on it - (and the
>> dependencies)
>> > > and
>> > > > try that.
>> > > >
>> > > > Sorry for the very long email, I assume you will just skim it and
>> > that's
>> > > > fine. Thanks for letting me talk out the problem 'out loud' with
>> you.
>> > > > I'll keep at it and let you know if I figure anything out.
>> > > >
>> > > > Regards,
>> > > >
>> > > > Rob
>> > > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > >
>> > > > On Mon, Sep 9, 2019 at 8:40 AM Rob Davenport <
>> rob.davenport@gmail.com>
>> > > > wrote:
>> > > >
>> > > > > OK, thanks! That's good information. So it most likely is
>> something
>> > in
>> > > > > my configuration - which is the usual problem I think.
>> > > > > I will try from an emacs -Q and then bisect my configuration
>> until I
>> > > find
>> > > > > the culprit. :)
>> > > > > I'll let you know what I find.
>> > > > >
>> > > > > Regards,
>> > > > >
>> > > > > Rob
>> > > > >
>> > > > > On Mon, Sep 9, 2019 at 5:28 AM Pedro Gomes <
>> notifications@github.com
>> > >
>> > > > > wrote:
>> > > > >
>> > > > >> Hi,
>> > > > >> I have tested with the latest version 27 from emacs repo.
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >> *GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
>> > > 3.22.30)
>> > > > of
>> > > > >> 2019-09-09*
>> > > > >>
>> > > > >> I have the following config for me::
>> > > > >> ;;; Package: sunshine
>> > > > >> (use-package sunshine
>> > > > >> :defer t
>> > > > >> :config (progn
>> > > > >> (setq sunshine-location "Glasgow, GB"
>> > > > >> sunshine-appid "your appid token"
>> > > > >> sunshine-show-icons t
>> > > > >> sunshine-units (quote metric))))
>> > > > >>
>> > > > >> *It works fine.*
>> > > > >>
>> > > > >> Tell me your configuration and I can re-test it as well. Check if
>> > for
>> > > > >> example you dont have 2 versions installed; I dont know what
>> kind of
>> > > > >> behaviour can be expected from it.
>> > > > >>
>> > > > >> Kind regards,
>> > > > >> Pedro
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >>
>> > > > >> On Fri, 6 Sep 2019 at 21:46, rgd <notifications@github.com>
>> wrote:
>> > > > >>
>> > > > >> > Hi Pedro,
>> > > > >> >
>> > > > >> > I can't explain yet why it wasn't working in the browser - yet
>> I
>> > was
>> > > > >> seeing
>> > > > >> > data in the emacs url cache that looked fresh and good.
>> > > > >> > I would assume I didn't copy the URL from sunshine-make-url
>> > > correctly
>> > > > or
>> > > > >> > something.
>> > > > >> >
>> > > > >> > I'll try from home when I'm not behind a firewall and see if
>> that
>> > > > makes
>> > > > >> any
>> > > > >> > difference.
>> > > > >> >
>> > > > >> > I'm suspecting maybe now I don't have something defined that I
>> > > should
>> > > > >> have
>> > > > >> > for the changes in these lines to work for me:
>> > > > >> >
>> > > > >> > (cons 'min (format "%s %s" (round (cdr (assoc 'temp_min (cdr
>> > (assoc
>> > > > >> 'main
>> > > > >> > day))))) temp-symbol))
>> > > > >> > (cons 'max (format "%s %s" (round (cdr (assoc 'temp_max (cdr
>> > (assoc
>> > > > >> 'main
>> > > > >> > day))))) temp-symbol))))
>> > > > >> > (cons 'min (format "%s %s" (round (cdr (assoc 'min (cdr (assoc
>> > 'temp
>> > > > >> > day))))) temp-symbol))
>> > > > >> > (cons 'max (format "%s %s" (round (cdr (assoc 'max (cdr (assoc
>> > 'temp
>> > > > >> > day))))) temp-symbol))))
>> > > > >> >
>> > > > >> > temp_min become min and main becomes temp. I'll have to debug
>> it a
>> > > bit
>> > > > >> > more.
>> > > > >> >
>> > > > >> > (And I'll try again to run emacs -Q and just load sunshine and
>> see
>> > > if
>> > > > >> it'll
>> > > > >> > work there. Then it's a matter of bisecting my config until I
>> find
>> > > the
>> > > > >> > conflicting package.)
>> > > > >> >
>> > > > >> > Thanks for replying so fast. I may not get to it this weekend
>> > > (playing
>> > > > >> > guitar with my wife at a show and have to prep for that) but
>> will
>> > at
>> > > > >> least
>> > > > >> > look at this again on Monday.
>> > > > >> >
>> > > > >> > Thanks,
>> > > > >> >
>> > > > >> > Rob
>> > > > >> >
>> > > > >> >
>> > > > >> >
>> > > > >> >
>> > > > >> > On Fri, Sep 6, 2019 at 3:58 PM Pedro Gomes <
>> > > notifications@github.com>
>> > > > >> > wrote:
>> > > > >> >
>> > > > >> > > Hi,
>> > > > >> > > If using the api call directly in a browser does not work,
>> That
>> > > > means
>> > > > >> > > something is wrong. I tested the change myself and it works!
>> I
>> > am
>> > > > only
>> > > > >> > > using existing APIs from openweather. The previous one would
>> not
>> > > > give
>> > > > >> the
>> > > > >> > > correct results because it was giving it every 6h so the days
>> > > would
>> > > > >> not
>> > > > >> > be
>> > > > >> > > correct.
>> > > > >> > >
>> > > > >> > > I added the daily part in order to give daily forecasts and
>> not
>> > > > every
>> > > > >> 6h.
>> > > > >> > >
>> > > > >> > > Contact me and we could analyze it together.
>> > > > >> > >
>> > > > >> > > Kind regards,
>> > > > >> > > Pedro
>> > > > >> > >
>> > > > >> > > Sent from my Samsung Galaxy smartphone.
>> > > > >> > > Hi,If using the api call directly in a browser does not work,
>> > That
>> > > > >> > > menosSent from my Samsung Galaxy smartphone.
>> > > > >> > > -------- Original message --------
>> > > > >> > > From: rgd <notifications@github.com>
>> > > > >> > > Date: 06/09/2019 8:47 pm (GMT+00:00)
>> > > > >> > > To: "aaronbieber/sunshine.el" <
>> sunshine.el@noreply.github.com>
>> > > > >> > > Cc: Pedro Gomes <azynheira@gmail.com>, Author <
>> > > > >> author@noreply.github.com
>> > > > >> > >
>> > > > >> > > Subject: Re: [aaronbieber/sunshine.el] Changes to fit the new
>> > API.
>> > > > >> Before
>> > > > >> > > it was every 6h. New daily API gives the same result as
>> before.
>> > > > >> Needed to
>> > > > >> > > tweak the JSON parsing (a980ed7)
>> > > > >> > >
>> > > > >> > > This commit seems to have broken sunshine for me. (I had it
>> > > working,
>> > > > >> with
>> > > > >> > > key/appid from openweathermap.org, etc.) Now I get "Wrong
>> type
>> > > > >> argument:
>> > > > >> > > numberp, nil". If I take the output of sunshine-make-url and
>> > enter
>> > > > it
>> > > > >> in
>> > > > >> > a
>> > > > >> > > browser directly, the new format results in an "invalid
>> APPID"
>> > > > error.
>> > > > >> If
>> > > > >> > I
>> > > > >> > > remove the "/daily", that URL works (I see the JSON reply
>> data
>> > in
>> > > > the
>> > > > >> > > browser). But if I tweak the URL in sunshine-make-url to
>> remove
>> > > the
>> > > > >> > > "/daily" doing a sunshine-forecast doesn't work - I get Wrong
>> > type
>> > > > >> > > argument: listp, t
>> > > > >> > > I've tried with ?q= and ?id= using the query value in
>> > > > >> sunshine-location
>> > > > >> > or
>> > > > >> > > the location ID for the latter case. Nothing is working in
>> > > sunshine.
>> > > > >> > > Now it's quite possible I've some other package or
>> configuration
>> > > > >> setting
>> > > > >> > > that's messing with this, and I will try to test it with -Q
>> and
>> > > just
>> > > > >> > > sunshine loaded (but that's a little complicated); it just
>> > seemed
>> > > > odd
>> > > > >> > that
>> > > > >> > > removing the "/daily" worked in the browser (with the
>> > > > sunshine-created
>> > > > >> > URL)
>> > > > >> > > but not when tweaking the function to also remove the
>> "/daily".
>> > I
>> > > > >> don't
>> > > > >> > > know why they URL wouldn't work for me, though I am behind a
>> > > > corporate
>> > > > >> > > firewall at the moment. May try later when home.
>> > > > >> > >
>> > > > >> > > —
>> > > > >> > > You are receiving this because you authored the thread.
>> > > > >> > > Reply to this email directly, view it on GitHub
>> > > > >> > > <
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AACUVHBF3HFSXDCWKORRTHDQIKXVZA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBLUTP#commitcomment-34984559
>> > > > >> > > >,
>> > > > >> > > or mute the thread
>> > > > >> > > <
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> https://github.com/notifications/unsubscribe-auth/AACUVHBMEHQJMMLDITWO4X3QIKXVZANCNFSM4IUMPBEA
>> > > > >> > > >
>> > > > >> > > .
>> > > > >> > > -------- Original message --------From: rgd <
>> > > > notifications@github.com
>> > > > >> >
>> > > > >> > > Date: 06/09/2019 8:47 pm (GMT+00:00) To:
>> > > "aaronbieber/sunshine.el" <
>> > > > >> > > sunshine.el@noreply.github.com> Cc: Pedro Gomes <
>> > > > azynheira@gmail.com
>> > > > >> >,
>> > > > >> > > Author <author@noreply.github.com> Subject: Re:
>> > > > >> > [aaronbieber/sunshine.el]
>> > > > >> > > Changes to fit the new API. Before it was every 6h. New daily
>> > API
>> > > > >> gives
>> > > > >> > the
>> > > > >> > > same result as before. Needed to tweak the JSON parsing
>> > (a980ed7)
>> > > > This
>> > > > >> > > commit seems to have broken sunshine for me. (I had it
>> working,
>> > > with
>> > > > >> > > key/appid from openweathermap.org, etc.) Now I get "Wrong
>> type
>> > > > >> argument:
>> > > > >> > > numberp, nil". If I take the output of sunshine-make-url and
>> > enter
>> > > > it
>> > > > >> in
>> > > > >> > > a browser directly, the new format results in an "invalid
>> APPID"
>> > > > >> error.
>> > > > >> > > If I remove the "/daily", that URL works (I see the JSON
>> reply
>> > > data
>> > > > in
>> > > > >> > the
>> > > > >> > > browser). But if I tweak the URL in sunshine-make-url to
>> remove
>> > > the
>> > > > >> > > "/daily" doing a sunshine-forecast doesn't work - I get Wrong
>> > type
>> > > > >> > > argument: listp, t
>> > > > >> > > I've tried with ?q= and ?id= using the query value in
>> > > > >> sunshine-location
>> > > > >> > or
>> > > > >> > > the location ID for the latter case. Nothing is working in
>> > > sunshine.
>> > > > >> > > Now it's quite possible I've some other package or
>> configuration
>> > > > >> setting
>> > > > >> > > that's messing with this, and I will try to test it with -Q
>> and
>> > > just
>> > > > >> > > sunshine loaded (but that's a little complicated); it just
>> > seemed
>> > > > odd
>> > > > >> > that
>> > > > >> > > removing the "/daily" worked in the browser (with the
>> > > > sunshine-created
>> > > > >> > URL)
>> > > > >> > > but not when tweaking the function to also remove the
>> "/daily".
>> > I
>> > > > >> don't
>> > > > >> > > know why they URL wouldn't work for me, though I am behind a
>> > > > corporate
>> > > > >> > > firewall at the moment. May try later when home.
>> > > > >> > >
>> > > > >> > > —You are receiving this because you authored the
>> thread.Reply to
>> > > > this
>> > > > >> > email
>> > > > >> > > directly, view it on GitHub, or mute the thread.
>> > > > >> > > [
>> > > > >> > > {
>> > > > >> > > "@context": "http://schema.org",
>> > > > >> > > "@type": "EmailMessage",
>> > > > >> > > "potentialAction": {
>> > > > >> > > "@type": "ViewAction",
>> > > > >> > > "target": "
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications\u0026email_token=AACUVHBF3HFSXDCWKORRTHDQIKXVZA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBLUTP#commitcomment-34984559
>> > > > >> > > ",
>> > > > >> > > "url": "
>> > > > >> > >
>> > > > >> > >
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications\u0026email_token=AACUVHBF3HFSXDCWKORRTHDQIKXVZA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBLUTP#commitcomment-34984559
>> > > > >> > > ",
>> > > > >> > > "name": "View Commit"
>> > > > >> > > },
>> > > > >> > > "description": "View this Commit on GitHub",
>> > > > >> > > "publisher": {
>> > > > >> > > "@type": "Organization",
>> > > > >> > > "name": "GitHub",
>> > > > >> > > "url": "https://github.com"
>> > > > >> > > }
>> > > > >> > > }
>> > > > >> > > ]
>> > > > >> > >
>> > > > >> > > —
>> > > > >> > > You are receiving this because you commented.
>> > > > >> > > Reply to this email directly, view it on GitHub
>> > > > >> > > <
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AABTODFYZZWMDZ5R6VQMMVLQIKY6XA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBLUXM#commitcomment-34984684
>> > > > >> > >,
>> > > > >> > > or mute the thread
>> > > > >> > > <
>> > > > >> >
>> > > > >>
>> > > >
>> > >
>> >
>> https://github.com/notifications/unsubscribe-auth/AABTODDQ34G6MW5VGZHLVKDQIKY6XANCNFSM4IUMPBEA
>> > > > >> > >
>> > > > >> > > .
>> > > > >> > >
>> > > > >> >
>> > > > >> > —
>> > > > >> > You are receiving this because you authored the thread.
>> > > > >> > Reply to this email directly, view it on GitHub
>> > > > >> > <
>> > > > >>
>> > > >
>> > >
>> >
>> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AACUVHA6NPEDDNPNTWBT6ITQIK6RDA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBLVGX#commitcomment-34985175
>> > > > >> >,
>> > > > >> > or mute the thread
>> > > > >> > <
>> > > > >>
>> > > >
>> > >
>> >
>> https://github.com/notifications/unsubscribe-auth/AACUVHGMJ7H2U6FTDISXCA3QIK6RDANCNFSM4IUMPBEA
>> > > > >> >
>> > > > >> > .
>> > > > >> >
>> > > > >>
>> > > > >> —
>> > > > >> You are receiving this because you commented.
>> > > > >> Reply to this email directly, view it on GitHub
>> > > > >> <
>> > > >
>> > >
>> >
>> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AABTODAXQUVS5RPCTWQAHB3QIYJKVA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBMFBE#commitcomment-35001380
>> > > > >,
>> > > > >> or mute the thread
>> > > > >> <
>> > > >
>> > >
>> >
>> https://github.com/notifications/unsubscribe-auth/AABTODBFSU3T4B3QJNJZLSLQIYJKVANCNFSM4IUMPBEA
>> > > > >
>> > > > >> .
>> > > > >>
>> > > > >
>> > > >
>> > > > —
>> > > > You are receiving this because you authored the thread.
>> > > > Reply to this email directly, view it on GitHub
>> > > > <
>> > >
>> >
>> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AACUVHFMYZWQUDZTZH4VBIDQI2UEHA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBMOE4#commitcomment-35010716
>> > > >,
>> > > > or mute the thread
>> > > > <
>> > >
>> >
>> https://github.com/notifications/unsubscribe-auth/AACUVHEOIPQOIMJON4AF6YLQI2UEHANCNFSM4IUMPBEA
>> > > >
>> > > > .
>> > > >
>> > >
>> > > —
>> > > You are receiving this because you commented.
>> > > Reply to this email directly, view it on GitHub
>> > > <
>> >
>> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AABTODEFZQCHM5IESQADPFDQI665TA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBM3LE#commitcomment-35024228
>> > >,
>> > > or mute the thread
>> > > <
>> >
>> https://github.com/notifications/unsubscribe-auth/AABTODBFLN4ZYTRGKVA3VKTQI665TANCNFSM4IUMPBEA
>> > >
>> > > .
>> > >
>> >
>> > —
>> > You are receiving this because you authored the thread.
>> > Reply to this email directly, view it on GitHub
>> > <
>> https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AACUVHBNWAUY33TWX5LQRM3QI7BUHA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBM3XM#commitcomment-35024620
>> >,
>> > or mute the thread
>> > <
>> https://github.com/notifications/unsubscribe-auth/AACUVHEQDM3DNWLGRMAD53DQI7BUHANCNFSM4IUMPBEA
>> >
>> > .
>> >
>>
>> —
>> You are receiving this because you commented.
>> Reply to this email directly, view it on GitHub
>> <https://github.com/aaronbieber/sunshine.el/commit/a980ed7df29f3d2db68676a6bd449135257e8f79?email_source=notifications&email_token=AABTODCV5SBIO3GQOOXTIA3QI7CADA5CNFSM4IUMPBEKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBM3ZJ#commitcomment-35024681>,
>> or mute the thread
>> <https://github.com/notifications/unsubscribe-auth/AABTODGKEGVRKTWPF5BD5T3QI7CADANCNFSM4IUMPBEA>
>> .
>>
>


My points received for the correctness of the code is 34/50. The first test failed because I put in rnorm(mean,sigma^2) instead of rnorm(mean,sigma).
So my score is probably 34+50


Не надо вызывать метод с () - оно и так работает.


Is there a more elegant way of doing this? Or... is this it?


img нужно перенести на новую строку (критерий Б15) и задать ширину и высоту Д1


We've got some contract work with an NYC ecommerce company that sells clothing online. What is interesting is that this company offers in-store consultations to help the customers in their buying decisions, which can be done on either their mobile app or their website.


Если нет интерполяции, то используй одинарные кавычки - `''`


В конце файла должна быть пустая строка ([объяснение](http://ruby.qkspace.com/ruby-zachem-pustaya-stroka-v-kontse-fayla)). Отсутствие строки тебе показывает гитхаб красной стрелочкой.

Поправь везде


Корзина тоже ссылка и тоже часть nav


А почему тут отступ?


It is properly updated now.

Get Outlook for iOS<https://aka.ms/o0ukef>
________________________________
From: Dowalter, Ethan
Sent: Tuesday, September 10, 2019 4:35:47 PM
To: Ethan-Dowalter/git-lab <reply@reply.github.com>; Ethan-Dowalter/git-lab <git-lab@noreply.github.com>
Cc: Mention <mention@noreply.github.com>
Subject: Re: [Ethan-Dowalter/git-lab] Done (4a82aa2)

That is really embarrassing, I apologize. I will run over to Stocker and it will be updated in about 20 minutes.

Get Outlook for iOS<https://aka.ms/o0ukef>
________________________________
From: Mark May <notifications@github.com>
Sent: Tuesday, September 10, 2019 3:44:45 PM
To: Ethan-Dowalter/git-lab <git-lab@noreply.github.com>
Cc: Dowalter, Ethan <ed464417@ohio.edu>; Mention <mention@noreply.github.com>
Subject: Re: [Ethan-Dowalter/git-lab] Done (4a82aa2)

@Ethan-Dowalter<https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FEthan-Dowalter&data=02%7C01%7Ced464417%40ohio.edu%7Cfb6078e1f63d4f0cfc3508d736275560%7Cf3308007477c4a70888934611817c55a%7C0%7C0%7C637037414915454817&sdata=koXTqvebg8mdiv4oiQ1yRJkxMXG1mXpiBeD2ynieACY%3D&reserved=0> Your answers.md file in this repository seems to be mostly empty, with no answers recorded in it. You may have forgotten to push this file in the end. If you update your answers.md file with all of your answers I'll give you partial credit. If you do update it please either tag me or email me.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FEthan-Dowalter%2Fgit-lab%2Fcommit%2F4a82aa2ddc38afb75c2cae8ee286083e78f93789%3Femail_source%3Dnotifications%26email_token%3DANAGRXFFIGMY3VFCU4OW3B3QI72K3A5CNFSM4IUNHC22YY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBBM6QM%23commitcomment-35027468&data=02%7C01%7Ced464417%40ohio.edu%7Cfb6078e1f63d4f0cfc3508d736275560%7Cf3308007477c4a70888934611817c55a%7C0%7C0%7C637037414915464812&sdata=NwqfkZDgjVtr0oXMNMpnvt3V3gE4BTPb5Fus1NSp4UA%3D&reserved=0>, or mute the thread<https://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FANAGRXGD2B3R44HLEK7BPSTQI72K3ANCNFSM4IUNHC2Q&data=02%7C01%7Ced464417%40ohio.edu%7Cfb6078e1f63d4f0cfc3508d736275560%7Cf3308007477c4a70888934611817c55a%7C0%7C0%7C637037414915464812&sdata=IVTB2AO1%2B6zxHHtfe1c5I%2F1WdDNUf4QWVJYQPaEAWrY%3D&reserved=0>.


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

Schema Validation Failed!
Rejecting Schema: https://schemas.taskcluster.net/queue/v1/create-task-request.json#
Errors:
  * data.metadata.owner should match format "email"

---

* method:     createTask
* errorCode:  InputValidationError
* statusCode: 400
* time:       2019-09-10T20:54:30.230Z

</details>


И тут отступ не нужен. Проверь и поправь везде


Проверь что у тебя везде арифметические операции оформлены по этому [стайлгайду](https://github.com/arbox/ruby-style-guide/blob/master/README-ruRU.md#spaces-operators)


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

Client ID project/taskcluster/tc-github/production-2 does not have sufficient scopes and is missing the following scopes:

```
secrets:get:repo:github.com/mozilla/balrog:coveralls
```

This request requires the client to satisfy the following scope expression:

```
{
  "AllOf": [
    "secrets:get:repo:github.com/mozilla/balrog:coveralls",
    "queue:route:statuses",
    {
      "AnyOf": [
        {
          "AllOf": [
            "queue:scheduler-id:taskcluster-github",
            {
              "AnyOf": [
                "queue:create-task:highest:aws-provisioner-v1/github-worker",
                "queue:create-task:very-high:aws-provisioner-v1/github-worker",
                "queue:create-task:high:aws-provisioner-v1/github-worker",
                "queue:create-task:medium:aws-provisioner-v1/github-worker",
                "queue:create-task:low:aws-provisioner-v1/github-worker",
                "queue:create-task:very-low:aws-provisioner-v1/github-worker",
                "queue:create-task:lowest:aws-provisioner-v1/github-worker"
              ]
            }
          ]
        },
        {
          "AnyOf": [
            "queue:create-task:aws-provisioner-v1/github-worker",
            {
              "AllOf": [
                "queue:define-task:aws-provisioner-v1/github-worker",
                "queue:task-group-id:taskcluster-github/V7OfljlyR5G2T1VovOL-dw",
                "queue:schedule-task:taskcluster-github/V7OfljlyR5G2T1VovOL-dw/IUk6EGzJTNesXG3pfgzUTw"
              ]
            }
          ]
        }
      ]
    }
  ]
}
```

---

* method:     createTask
* errorCode:  InsufficientScopes
* statusCode: 403
* time:       2019-09-10T20:54:49.101Z

</details>


<details>

<summary>Submitting the task to Taskcluster failed. Details</summary>

Schema Validation Failed!
Rejecting Schema: https://schemas.taskcluster.net/queue/v1/create-task-request.json#
Errors:
  * data.metadata.owner should match format "email"

---

* method:     createTask
* errorCode:  InputValidationError
* statusCode: 400
* time:       2019-09-10T20:55:01.515Z

</details>


Successfully aliased the URL <https://now-github-starter-9hqwnr9ho.now.sh> to the following aliases:

* https://now-github-starter.timnolet.now.sh
* https://now-github-starter-git-master.timnolet.now.sh


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

* https://keplersj.com
* https://website.keplersj.now.sh
* https://website-git-master.keplersj.now.sh


Header закончился. Дальше должен начаться main. Целесообразно придерживаться структуры header - main - footer


Successfully aliased the URL <https://do-api-slugs-9qyd7vzli.now.sh> to the following aliases:

* https://slugs.do-api.dev
* https://do-api-slugs.andrewsomething.now.sh
* https://do-api-slugs-git-master.andrewsomething.now.sh


Есть h2, а где h1? Главная страница и без главного заголовка?


Successfully aliased the URL <https://schedule-site-jomdq2cc2.now.sh> to the following aliases:

* https://schedule-site.managedwalrus.now.sh
* https://schedule-site-git-master.managedwalrus.now.sh


И вместе с puts лучше не использовать скобки (`()`) - это ради читаемости


**As always, keeping the source updated.** :blush:


yes this is probably good enough for now.   , but is there an easy tweak to at least keep the cursor to the right of the last chip, so that it can stay on the same line (and avoid having an extra empty line as shown below)? if not, no worries, but thought i'd ask!
![Untitled](https://user-images.githubusercontent.com/4512335/64649985-5d3e9280-d41e-11e9-9bd1-f4276baf27df.png)


`puts (hight * base) / 2`


first


Yay, it's finally here! Glad you decided to put MPG on GitHub! It was a tremendously useful source for learning Constraint Programming concepts!


@JuliaRegistrator register()


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

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.9.0 -m "<description of version>" c9f782b308cdef4e7da6ef346a7d3b8fc189a64e
git push origin v0.9.0
```


Приводи получаемые данные сразу к нужному типу - `gets.chomp.to_f`

Поправь везде


Successfully aliased the URL <https://cf401-finalproject-3iik6g4md.now.sh> to the following aliases:

* https://cf401-finalproject.mcolgin.now.sh
* https://cf401-finalproject-git-master.mcolgin.now.sh


Successfully aliased the URL <https://my-choreo-m20wn14sl.now.sh> to the following aliases:

* https://choreo.now.sh
* https://my-choreo.danielschmidt.now.sh
* https://my-choreo-git-master.danielschmidt.now.sh


Wydzielił bym to


develop (Myoldmopar) - x86_64-Linux-Ubuntu-18.04-gcc-7.4-IntegrationCoverage-Debug: OK (673 of 673 tests passed, 0 test warnings)

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


this is redundant because I now have it always restricted unless it meets the criteria to not be. it used to either be restricted or unrestricted if it fell into the correct if statement.


Registration pull request updated: [JuliaRegistries/General/3439](https://github.com/JuliaRegistries/General/pull/3439)

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.9.0 -m "<description of version>" f6e4af7f47d24d11698580fcf02fc1528198c25d
git push origin v0.9.0
```


Можно сделать проще
```
a, b, h = [first, second, third].sort
```

Так ты получишь гипотенузу


Sorry for the forced push.  The earlier commit was half-baked.