Load necessary packages

library(upscaler)
library(pracma)
## Warning: package 'pracma' was built under R version 4.4.3
## 
## Attaching package: 'pracma'
## The following object is masked from 'package:purrr':
## 
##     cross
library(dplyr)
library(readr)
library(stringr)

Question 2: Set working directory and extract subfolders

directory <- ("C:/Users/cbennin1/OneDrive - University of Vermont/Documents/BIOL6100/BenningBio6100/Homework_09_files/NEON_count-landbird")
subfolders <- list.files(directory)
subfolders
##  [1] "NEON.D01.BART.DP1.10003.001.2015-06.basic.20250129T000730Z.RELEASE-2025"
##  [2] "NEON.D01.BART.DP1.10003.001.2016-06.basic.20250129T000730Z.RELEASE-2025"
##  [3] "NEON.D01.BART.DP1.10003.001.2017-06.basic.20250129T000730Z.RELEASE-2025"
##  [4] "NEON.D01.BART.DP1.10003.001.2018-06.basic.20250129T000730Z.RELEASE-2025"
##  [5] "NEON.D01.BART.DP1.10003.001.2019-06.basic.20250129T000730Z.RELEASE-2025"
##  [6] "NEON.D01.BART.DP1.10003.001.2020-06.basic.20250129T000730Z.RELEASE-2025"
##  [7] "NEON.D01.BART.DP1.10003.001.2020-07.basic.20250129T000730Z.RELEASE-2025"
##  [8] "NEON.D01.BART.DP1.10003.001.2021-06.basic.20250129T000730Z.RELEASE-2025"
##  [9] "NEON.D01.BART.DP1.10003.001.2022-06.basic.20250129T000730Z.RELEASE-2025"
## [10] "NEON.D01.BART.DP1.10003.001.2023-06.basic.20250129T000730Z.RELEASE-2025"

Create For Loops to extract all the “count data” only

count_data <- c() # Create a vector to store the data in 

for (i in 1:10) {
  setwd(paste0("C:/Users/cbennin1/OneDrive - University of Vermont/Documents/BIOL6100/BenningBio6100/Homework_09_files/NEON_count-landbird","/", subfolders[i]))
  count_data[i] <- list.files(pattern = "countdata")
}

count_data
##  [1] "NEON.D01.BART.DP1.10003.001.brd_countdata.2015-06.basic.csv"
##  [2] "NEON.D01.BART.DP1.10003.001.brd_countdata.2016-06.basic.csv"
##  [3] "NEON.D01.BART.DP1.10003.001.brd_countdata.2017-06.basic.csv"
##  [4] "NEON.D01.BART.DP1.10003.001.brd_countdata.2018-06.basic.csv"
##  [5] "NEON.D01.BART.DP1.10003.001.brd_countdata.2019-06.basic.csv"
##  [6] "NEON.D01.BART.DP1.10003.001.brd_countdata.2020-06.basic.csv"
##  [7] "NEON.D01.BART.DP1.10003.001.brd_countdata.2020-07.basic.csv"
##  [8] "NEON.D01.BART.DP1.10003.001.brd_countdata.2021-06.basic.csv"
##  [9] "NEON.D01.BART.DP1.10003.001.brd_countdata.2022-06.basic.csv"
## [10] "NEON.D01.BART.DP1.10003.001.brd_countdata.2023-06.basic.csv"

Question 3: Clean up the data

Remove empty or missing cases

years <- (2013:2025)

for (i in 1:10) {
  print(subfolders[i])
  setwd(paste0("C:/Users/cbennin1/OneDrive - University of Vermont/Documents/BIOL6100/BenningBio6100/Homework_09_files/NEON_count-landbird","/", subfolders[i]))
  raw_data <- read.csv(count_data[i], na.strings = c("","NA")) # Extract raw data
  clean_data <- raw_data[complete.cases(raw_data["scientificName"]), ] # Clean the data 
    write.csv(clean_data,paste0("clean_data", years[i], ".csv"))
}
## [1] "NEON.D01.BART.DP1.10003.001.2015-06.basic.20250129T000730Z.RELEASE-2025"
## [1] "NEON.D01.BART.DP1.10003.001.2016-06.basic.20250129T000730Z.RELEASE-2025"
## [1] "NEON.D01.BART.DP1.10003.001.2017-06.basic.20250129T000730Z.RELEASE-2025"
## [1] "NEON.D01.BART.DP1.10003.001.2018-06.basic.20250129T000730Z.RELEASE-2025"
## [1] "NEON.D01.BART.DP1.10003.001.2019-06.basic.20250129T000730Z.RELEASE-2025"
## [1] "NEON.D01.BART.DP1.10003.001.2020-06.basic.20250129T000730Z.RELEASE-2025"
## [1] "NEON.D01.BART.DP1.10003.001.2020-07.basic.20250129T000730Z.RELEASE-2025"
## [1] "NEON.D01.BART.DP1.10003.001.2021-06.basic.20250129T000730Z.RELEASE-2025"
## [1] "NEON.D01.BART.DP1.10003.001.2022-06.basic.20250129T000730Z.RELEASE-2025"
## [1] "NEON.D01.BART.DP1.10003.001.2023-06.basic.20250129T000730Z.RELEASE-2025"
clean_data <- list()

for(i in 1:10) {
  setwd(paste0("C:/Users/cbennin1/OneDrive - University of Vermont/Documents/BIOL6100/BenningBio6100/Homework_09_files/NEON_count-landbird","/", subfolders[i]))
  raw_data <- read.csv(count_data[i], na.strings = c("","NA")) 
  clean_count_data <- raw_data[complete.cases(raw_data["scientificName"]), ]
  clean_data[[i]] <- clean_count_data
}

dat <- do.call("rbind", clean_data)
head(dat)
##                                    uid         namedLocation domainID siteID
## 1 08b95360-854d-4d74-a276-93fc7d2423ca BART_025.birdGrid.brd      D01   BART
## 2 f2d2d4ce-c978-46a5-befb-4d3b749b1cdb BART_025.birdGrid.brd      D01   BART
## 3 754c7b57-1892-4f1f-9f49-594c40d47bfa BART_025.birdGrid.brd      D01   BART
## 4 6212a830-6d2d-4999-b169-19273526790e BART_025.birdGrid.brd      D01   BART
## 5 192585ee-0a3d-4994-856f-3da8090a37c3 BART_025.birdGrid.brd      D01   BART
## 6 91324dd0-58b5-4873-9244-b51c932891e1 BART_025.birdGrid.brd      D01   BART
##     plotID    plotType pointID         startDate boutNumber         eventID
## 1 BART_025 distributed       3 2015-06-14T09:23Z          1 BRD.BART.2015.1
## 2 BART_025 distributed       3 2015-06-14T09:23Z          1 BRD.BART.2015.1
## 3 BART_025 distributed       3 2015-06-14T09:23Z          1 BRD.BART.2015.1
## 4 BART_025 distributed       3 2015-06-14T09:23Z          1 BRD.BART.2015.1
## 5 BART_025 distributed       3 2015-06-14T09:23Z          1 BRD.BART.2015.1
## 6 BART_025 distributed       2 2015-06-14T09:43Z          1 BRD.BART.2015.1
##   pointCountMinute targetTaxaPresent taxonID       scientificName taxonRank
## 1                1                 Y    REVI      Vireo olivaceus   species
## 2                1                 Y    BTNW     Setophaga virens   species
## 3                2                 Y    BTNW     Setophaga virens   species
## 4                2                 Y    BAWW      Mniotilta varia   species
## 5                1                 Y    BCCH Poecile atricapillus   species
## 6                3                 Y    BAWW      Mniotilta varia   species
##                 vernacularName observerDistance detectionMethod
## 1               Red-eyed Vireo                9         singing
## 2 Black-throated Green Warbler               12         singing
## 3 Black-throated Green Warbler               50         singing
## 4      Black-and-white Warbler               17         singing
## 5       Black-capped Chickadee               42         singing
## 6      Black-and-white Warbler               27         singing
##   visualConfirmation sexOrAge clusterSize clusterCode identifiedBy
## 1                 No     Male           1        <NA>        JRUEB
## 2                 No     Male           1        <NA>        JRUEB
## 3                 No     Male           1        <NA>        JRUEB
## 4                 No     Male           1        <NA>        JRUEB
## 5                 No     Male           1        <NA>        JRUEB
## 6                 No     Male           1        <NA>        JRUEB
##   identificationHistoryID
## 1                      NA
## 2                      NA
## 3                      NA
## 4                      NA
## 5                      NA
## 6                      NA
library(Rmisc)
years <- str_sub(dat$startDate, 1, 4)
dat <- cbind(dat, years)


abundance_dat <- summarySE(data = dat, measurevar = "scientificName", groupvars = "years", na.rm = FALSE)
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
abundance_dat <- abundance_dat[, 1:2]

richness_dat <- summarySE(data = dat, measurevar = "vernacularName", groupvars = c("years", "scientificName"), na.rm = FALSE)
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in mean.default(xx[, col], na.rm = na.rm): argument is not numeric or
## logical: returning NA
## Warning in var(if (is.vector(x) || is.factor(x)) x else as.double(x), na.rm =
## na.rm): NAs introduced by coercion
## Warning in qt(conf.interval/2 + 0.5, datac$N - 1): NaNs produced
richness_dat <- richness_dat[,1:3]

richness_dat %>% count(richness_dat$years)
##   richness_dat$years  n
## 1               2015 40
## 2               2016 38
## 3               2017 34
## 4               2018 36
## 5               2019 43
## 6               2020 45
## 7               2021 49
## 8               2022 38
## 9               2023 41
richness <- c(40, 38, 33, 35, 43, 45, 48, 37, 40)

sum_dat <- cbind(abundance_dat, richness)

print(sum_dat)
##   years   N richness
## 1  2015 454       40
## 2  2016 684       38
## 3  2017 411       33
## 4  2018 512       35
## 5  2019 402       43
## 6  2020 525       45
## 7  2021 906       48
## 8  2022 581       37
## 9  2023 513       40