NAs Introduced by Coercion, NaNs produced

posts related to the RPresence library, which may not be of general interest to users of 'classic' PRESENCE.

NAs Introduced by Coercion, NaNs produced

Postby gleclair » Sun Apr 28, 2024 1:12 pm

Hi everyone,

I'm running a multi-season dynamic occupancy model on amphibians through a community science project. I cannot figure out why, but some of my models are spitting out "NAs introduced by coercion", and occasionally some will also give "In sqrt(diag(temp.psi.VC)[-1]) : NaNs produced". I'm running the same models on different species from the same dataset, and the errors will appear for one model on one species, but not others. One of my initial issues was not standardizing my values in my unit covariates, which I have since taken care of with log transformations (including adding +1 to help solve issues of trying to get the log of zero).

I feel like I'm at my wits end trying to figure out what the issue is. Is it somehow due to the large amount of NAs in the capture history? I've copy-and-pasted my script and data below, using spotted salamanders as an example.

> spsaocc<-mbnocc[,1:4]
> head(spsaocc)
SiteID SurvDate Yr spsa
1 AB1Dayt 3/26/2021 2021 0
2 AB1Dayt 3/31/2021 2021 0
3 AB1Dayt 4/21/2021 2021 0
4 AB1Dayt 4/28/2021 2021 0
5 AB1Dayt 4/29/2021 2021 0
6 AB1Dayt 4/30/2021 2021 0
> str(spsaocc)
'data.frame': 1835 obs. of 4 variables:
$ SiteID : chr "AB1Dayt" "AB1Dayt" "AB1Dayt" "AB1Dayt" ...
$ SurvDate: chr "3/26/2021" "3/31/2021" "4/21/2021" "4/28/2021" ...
$ Yr : int 2021 2021 2021 2021 2021 2021 2021 2022 2022 2022 ...
$ spsa : int 0 0 0 0 0 0 0 0 0 0 ...
> aggregated_data <- mbnocc %>%
+ group_by(SiteID, SurvDate) %>%
+ summarise(spsa_aggregated = ifelse(any(spsa > 0), 1, 0)) %>%
+ ungroup()
`summarise()` has grouped output by 'SiteID'. You can override using the `.groups` argument.
> head(aggregated_data)
# A tibble: 6 × 3
SiteID SurvDate spsa_aggregated
<chr> <chr> <dbl>
1 AB1Dayt 3/26/2021 0
2 AB1Dayt 3/31/2021 0
3 AB1Dayt 3/31/2022 0
4 AB1Dayt 4/1/2023 0
5 AB1Dayt 4/14/2022 0
6 AB1Dayt 4/16/2022 0
> str(aggregated_data)
tibble [1,605 × 3] (S3: tbl_df/tbl/data.frame)
$ SiteID : chr [1:1605] "AB1Dayt" "AB1Dayt" "AB1Dayt" "AB1Dayt" ...
$ SurvDate : chr [1:1605] "3/26/2021" "3/31/2021" "3/31/2022" "4/1/2023" ...
$ spsa_aggregated: num [1:1605] 0 0 0 0 0 0 0 0 0 0 ...
> #pivot data to wide format for use in the createPao()
> spsadet <- pivot_wider(aggregated_data,
+ names_from = SurvDate,
+ values_from = spsa_aggregated,
+ values_fill = NA)
> head(spsadet)
# A tibble: 6 × 119
SiteID `3/26/2021` `3/31/2021` `3/31/2022` `4/1/2023` `4/14/2022` `4/16/2022` `4/17/2023` `4/21/2021`
<chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 AB1Dayt 0 0 0 0 0 0 0 0
2 AP1OHea NA NA NA 0 0 NA 0 0
3 AS1Scar NA NA NA NA 0 NA 0 NA
4 AS2Scar NA NA 0 NA 0 0 0 NA
5 And1Bidd NA NA 1 NA NA NA NA NA
6 Ann1Herm NA NA 0 NA 0 NA 1 NA
# ℹ 110 more variables: `4/28/2021` <dbl>, `4/29/2021` <dbl>, `4/30/2021` <dbl>, `4/6/2023` <dbl>,
# `4/8/2022` <dbl>, `4/9/2022` <dbl>, `5/4/2022` <dbl>, `5/5/2021` <dbl>, `3/23/2023` <dbl>,
# `4/26/2022` <dbl>, `4/28/2023` <dbl>, `4/23/2023` <dbl>, `4/1/2022` <dbl>, `4/13/2022` <dbl>,
# `4/24/2023` <dbl>, `4/27/2022` <dbl>, `5/15/2022` <dbl>, `4/21/2022` <dbl>, `3/19/2022` <dbl>,
# `3/28/2021` <dbl>, `3/24/2022` <dbl>, `3/25/2023` <dbl>, `4/2/2023` <dbl>, `4/30/2023` <dbl>,
# `3/22/2023` <dbl>, `4/13/2020` <dbl>, `4/2/2020` <dbl>, `5/10/2022` <dbl>, `4/16/2021` <dbl>,
# `4/25/2023` <dbl>, `5/2/2023` <dbl>, `4/10/2021` <dbl>, `4/25/2021` <dbl>, `4/5/2021` <dbl>, …
# ℹ Use `colnames()` to see all variable names
> str(spsadet)
tibble [355 × 119] (S3: tbl_df/tbl/data.frame)
$ SiteID : chr [1:355] "AB1Dayt" "AP1OHea" "AS1Scar" "AS2Scar" ...
$ 3/26/2021: num [1:355] 0 NA NA NA NA NA NA NA 1 NA ...
$ 3/31/2021: num [1:355] 0 NA NA NA NA NA NA NA NA NA ...
$ 3/31/2022: num [1:355] 0 NA NA 0 1 0 0 1 NA 0 ...
$ 4/1/2023 : num [1:355] 0 0 NA NA NA NA NA NA NA NA ...
$ 4/14/2022: num [1:355] 0 0 0 0 NA 0 0 NA NA 0 ...
$ 4/16/2022: num [1:355] 0 NA NA 0 NA NA 1 NA NA 1 ...
$ 4/17/2023: num [1:355] 0 0 0 0 NA 1 NA 1 1 0 ...
$ 4/21/2021: num [1:355] 0 0 NA NA NA NA NA NA 1 NA ...
$ 4/28/2021: num [1:355] 0 NA NA NA NA NA NA NA 1 NA ...
$ 4/29/2021: num [1:355] 0 NA NA NA NA NA NA NA NA NA ...
$ 4/30/2021: num [1:355] 0 NA NA NA NA NA NA NA NA NA ...
$ 4/6/2023 : num [1:355] 1 NA NA NA NA 1 NA NA NA NA ...
$ 4/8/2022 : num [1:355] 0 NA NA NA NA 0 1 NA NA 0 ...
$ 4/9/2022 : num [1:355] 0 NA NA NA NA 1 NA NA NA 1 ...
$ 5/4/2022 : num [1:355] 0 NA NA NA NA 1 0 NA NA 0 ...
$ 5/5/2021 : num [1:355] 0 NA NA NA NA NA NA NA NA NA ...
$ 3/23/2023: num [1:355] NA 0 NA NA NA NA NA NA NA NA ...
$ 4/26/2022: num [1:355] NA NA 0 NA NA NA 0 NA NA 0 ...
$ 4/28/2023: num [1:355] NA NA 0 NA NA NA NA NA NA NA ...
$ 4/23/2023: num [1:355] NA NA NA 0 1 NA NA NA NA NA ...
$ 4/1/2022 : num [1:355] NA NA NA NA NA 1 1 NA NA 0 ...
$ 4/13/2022: num [1:355] NA NA NA NA NA 0 1 NA NA NA ...
$ 4/24/2023: num [1:355] NA NA NA NA NA 0 NA NA NA NA ...
$ 4/27/2022: num [1:355] NA NA NA NA NA 0 0 NA NA NA ...
$ 5/15/2022: num [1:355] NA NA NA NA NA 0 0 NA NA NA ...
$ 4/21/2022: num [1:355] NA NA NA NA NA NA 1 NA NA NA ...
$ 3/19/2022: num [1:355] NA NA NA NA NA NA NA 0 NA NA ...
$ 3/28/2021: num [1:355] NA NA NA NA NA NA NA NA 1 NA ...
$ 3/24/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 3/25/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/2/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/30/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 3/22/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/13/2020: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/2/2020 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 5/10/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/16/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/25/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 5/2/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/10/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/25/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/5/2021 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 3/17/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 5/2/2022 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 3/20/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/21/2020: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/26/2020: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/16/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/4/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/1/2021 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 3/18/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/28/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 3/27/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/11/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/25/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/4/2018 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/10/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 3/25/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 3/26/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 5/7/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/3/2020 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 5/12/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/14/2019: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/25/2019: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/19/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/18/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/21/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/26/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 5/1/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 5/5/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 5/6/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/18/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/23/2019: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/24/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/22/2019: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 5/14/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/19/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/29/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/5/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/14/2020: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/19/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 3/13/2020: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/7/2021 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/15/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/4/2021 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/20/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/11/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/8/2021 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/27/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/17/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 3/21/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/22/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 5/4/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 3/29/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 5/3/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 3/29/2020: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/14/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
$ 4/15/2019: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
[list output truncated]
> spsadetdf<-as.data.frame(spsadet)
> spsadata<-createPao(data=spsadetdf[,-1], unitcov=mbnunit, survcov = NULL, nsurveyseason = c(6,7,9,30,29,37),
+ unitnames=spsadetdf[,1])
> head(spsadata)
$nunits
[1] 355

$nsurveys
[1] 118

$nseasons
[1] 6

$methods
[1] 1

$det.data
3/26/2021 3/31/2021 3/31/2022 4/1/2023 4/14/2022 4/16/2022 4/17/2023 4/21/2021 4/28/2021 4/29/2021
1 0 0 0 0 0 0 0 0 0 0
2 NA NA NA 0 0 NA 0 0 NA NA
3 NA NA NA NA 0 NA 0 NA NA NA
4 NA NA 0 NA 0 0 0 NA NA NA
5 NA NA 1 NA NA NA NA NA NA NA
6 NA NA 0 NA 0 NA 1 NA NA NA
7 NA NA 0 NA 0 1 NA NA NA NA
8 NA NA 1 NA NA NA 1 NA NA NA
4/30/2021 4/6/2023 4/8/2022 4/9/2022 5/4/2022 5/5/2021 3/23/2023 4/26/2022 4/28/2023 4/23/2023 4/1/2022
1 0 1 0 0 0 0 NA NA NA NA NA
2 NA NA NA NA NA NA 0 NA NA NA NA
3 NA NA NA NA NA NA NA 0 0 NA NA
4 NA NA NA NA NA NA NA NA NA 0 NA
5 NA NA NA NA NA NA NA NA NA 1 NA
6 NA 1 0 1 1 NA NA NA NA NA 1
7 NA NA 1 NA 0 NA NA 0 NA NA 1
8 NA NA NA NA NA NA NA NA NA NA NA
4/13/2022 4/24/2023 4/27/2022 5/15/2022 4/21/2022 3/19/2022 3/28/2021 3/24/2022 3/25/2023 4/2/2023
1 NA NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA
6 0 0 0 0 NA NA NA NA NA NA
7 1 NA 0 0 1 NA NA NA NA NA
8 NA NA NA NA NA 0 NA NA NA NA
4/30/2023 3/22/2023 4/13/2020 4/2/2020 5/10/2022 4/16/2021 4/25/2023 5/2/2023 4/10/2021 4/25/2021 4/5/2021
1 NA NA NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA NA
6 NA NA NA NA NA NA NA NA NA NA NA
7 NA NA NA NA NA NA NA NA NA NA NA
8 NA NA NA NA NA NA NA NA NA NA NA
3/17/2022 5/2/2022 3/20/2022 4/21/2020 4/26/2020 4/16/2023 4/4/2023 4/1/2021 3/18/2022 4/28/2022 3/27/2022
1 NA NA NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA NA
6 NA NA NA NA NA NA NA NA NA NA NA
7 NA NA NA NA NA NA NA NA NA NA NA
8 NA NA NA NA NA NA NA NA NA NA NA
4/11/2023 4/25/2022 4/4/2018 4/10/2023 3/25/2022 3/26/2022 5/7/2023 4/3/2020 5/12/2023 4/14/2019 4/25/2019
1 NA NA NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA NA
6 NA NA NA NA NA NA NA NA NA NA NA
7 NA NA NA NA NA NA NA NA NA NA NA
8 NA NA NA NA NA NA NA NA NA NA NA
4/19/2022 4/18/2023 4/21/2023 4/26/2023 5/1/2023 5/5/2023 5/6/2023 4/18/2021 4/23/2019 4/24/2021 4/22/2019
1 NA NA NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA NA
6 NA NA NA NA NA NA NA NA NA NA NA
7 NA NA NA NA NA NA NA NA NA NA NA
8 NA NA NA NA NA NA NA NA NA NA NA
5/14/2023 4/19/2023 4/29/2022 4/5/2023 4/14/2020 4/19/2021 3/13/2020 4/7/2021 4/15/2023 4/4/2021 4/20/2021
1 NA NA NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA NA
6 NA NA NA NA NA NA NA NA NA NA NA
7 NA NA NA NA NA NA NA NA NA NA NA
8 NA NA NA NA NA NA NA NA NA NA NA
4/11/2021 4/8/2021 4/27/2021 4/17/2021 3/21/2021 4/22/2021 5/4/2023 3/29/2021 5/3/2023 3/29/2020 4/14/2023
1 NA NA NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA NA
6 NA NA NA NA NA NA NA NA NA NA NA
7 NA NA NA NA NA NA NA NA NA NA NA
8 NA NA NA NA NA NA NA NA NA NA NA
4/15/2019 4/20/2019 3/18/2023 4/6/2021 3/31/2023 4/2/2021 4/27/2020 4/22/2023 4/29/2023 4/12/2023
1 NA NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA
6 NA NA NA NA NA NA NA NA NA NA
7 NA NA NA NA NA NA NA NA NA NA
8 NA NA NA NA NA NA NA NA NA NA
4/26/2019 3/30/2021 4/13/2021 4/10/2022 4/12/2018 4/13/2018 4/14/2018 4/18/2018 4/17/2018 4/17/2022
1 NA NA NA NA NA NA NA NA NA NA
2 NA NA NA NA NA NA NA NA NA NA
3 NA NA NA NA NA NA NA NA NA NA
4 NA NA NA NA NA NA NA NA NA NA
5 NA NA NA NA NA NA NA NA NA NA
6 NA NA NA NA NA NA NA NA NA NA
7 NA NA NA NA NA NA NA NA NA NA
8 NA NA NA NA NA NA NA NA NA NA
5/12/2022
1 NA
2 NA
3 NA
4 NA
5 NA
6 NA
7 NA
8 NA
[ reached 'max' / getOption("max.print") -- omitted 347 rows ]

$nunitcov
[1] 20

> str(spsadata)
List of 18
$ nunits : int 355
$ nsurveys : int 118
$ nseasons : int 6
$ methods : num 1
$ det.data :'data.frame': 355 obs. of 118 variables:
..$ 3/26/2021: num [1:355] 0 NA NA NA NA NA NA NA 1 NA ...
..$ 3/31/2021: num [1:355] 0 NA NA NA NA NA NA NA NA NA ...
..$ 3/31/2022: num [1:355] 0 NA NA 0 1 0 0 1 NA 0 ...
..$ 4/1/2023 : num [1:355] 0 0 NA NA NA NA NA NA NA NA ...
..$ 4/14/2022: num [1:355] 0 0 0 0 NA 0 0 NA NA 0 ...
..$ 4/16/2022: num [1:355] 0 NA NA 0 NA NA 1 NA NA 1 ...
..$ 4/17/2023: num [1:355] 0 0 0 0 NA 1 NA 1 1 0 ...
..$ 4/21/2021: num [1:355] 0 0 NA NA NA NA NA NA 1 NA ...
..$ 4/28/2021: num [1:355] 0 NA NA NA NA NA NA NA 1 NA ...
..$ 4/29/2021: num [1:355] 0 NA NA NA NA NA NA NA NA NA ...
..$ 4/30/2021: num [1:355] 0 NA NA NA NA NA NA NA NA NA ...
..$ 4/6/2023 : num [1:355] 1 NA NA NA NA 1 NA NA NA NA ...
..$ 4/8/2022 : num [1:355] 0 NA NA NA NA 0 1 NA NA 0 ...
..$ 4/9/2022 : num [1:355] 0 NA NA NA NA 1 NA NA NA 1 ...
..$ 5/4/2022 : num [1:355] 0 NA NA NA NA 1 0 NA NA 0 ...
..$ 5/5/2021 : num [1:355] 0 NA NA NA NA NA NA NA NA NA ...
..$ 3/23/2023: num [1:355] NA 0 NA NA NA NA NA NA NA NA ...
..$ 4/26/2022: num [1:355] NA NA 0 NA NA NA 0 NA NA 0 ...
..$ 4/28/2023: num [1:355] NA NA 0 NA NA NA NA NA NA NA ...
..$ 4/23/2023: num [1:355] NA NA NA 0 1 NA NA NA NA NA ...
..$ 4/1/2022 : num [1:355] NA NA NA NA NA 1 1 NA NA 0 ...
..$ 4/13/2022: num [1:355] NA NA NA NA NA 0 1 NA NA NA ...
..$ 4/24/2023: num [1:355] NA NA NA NA NA 0 NA NA NA NA ...
..$ 4/27/2022: num [1:355] NA NA NA NA NA 0 0 NA NA NA ...
..$ 5/15/2022: num [1:355] NA NA NA NA NA 0 0 NA NA NA ...
..$ 4/21/2022: num [1:355] NA NA NA NA NA NA 1 NA NA NA ...
..$ 3/19/2022: num [1:355] NA NA NA NA NA NA NA 0 NA NA ...
..$ 3/28/2021: num [1:355] NA NA NA NA NA NA NA NA 1 NA ...
..$ 3/24/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 3/25/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/2/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/30/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 3/22/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/13/2020: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/2/2020 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 5/10/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/16/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/25/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 5/2/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/10/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/25/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/5/2021 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 3/17/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 5/2/2022 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 3/20/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/21/2020: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/26/2020: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/16/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/4/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/1/2021 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 3/18/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/28/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 3/27/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/11/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/25/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/4/2018 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/10/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 3/25/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 3/26/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 5/7/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/3/2020 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 5/12/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/14/2019: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/25/2019: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/19/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/18/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/21/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/26/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 5/1/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 5/5/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 5/6/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/18/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/23/2019: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/24/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/22/2019: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 5/14/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/19/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/29/2022: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/5/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/14/2020: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/19/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 3/13/2020: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/7/2021 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/15/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/4/2021 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/20/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/11/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/8/2021 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/27/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/17/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 3/21/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/22/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 5/4/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 3/29/2021: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 5/3/2023 : num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 3/29/2020: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/14/2023: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/15/2019: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
..$ 4/20/2019: num [1:355] NA NA NA NA NA NA NA NA NA NA ...
.. [list output truncated]
$ nunitcov : int 20
$ unitcov :'data.frame': 355 obs. of 20 variables:
..$ Site_ID : chr [1:355] "AB1Dayt" "And1Bidd" "Ann1Herm" "Ann2Herm" ...
..$ WetlandPts: int [1:355] 91 75 81 79 61 115 237 142 249 251 ...
..$ ForestPts : int [1:355] 291 338 80 133 90 362 182 220 110 125 ...
..$ DevelPts : int [1:355] 60 65 90 65 260 39 79 52 87 45 ...
..$ HerbPts : int [1:355] 23 21 12 6 37 0 11 0 0 0 ...
..$ AgPts : int [1:355] 42 12 97 66 1 0 0 32 0 95 ...
..$ POP10 : int [1:355] 114 93 476 476 1 21 16 56 211 153 ...
..$ RDCLASS : chr [1:355] "Private" "Local" "Local" "Local" ...
..$ SPEED : int [1:355] 25 35 30 30 35 35 45 35 35 30 ...
..$ NEAR_DIST : num [1:355] 15349 10416 12698 12712 67535 ...
..$ AvgTraffic: num [1:355] 0.471 1 35.769 35.333 11.8 ...
..$ Wet : num [1:355] 4.52 4.33 4.41 4.38 4.13 ...
..$ Forest : num [1:355] 5.68 5.83 4.39 4.9 4.51 ...
..$ Dev : num [1:355] 4.11 4.19 4.51 4.19 5.56 ...
..$ Herb : num [1:355] 3.18 3.09 2.56 1.95 3.64 ...
..$ Ag : num [1:355] 3.761 2.565 4.585 4.205 0.693 ...
..$ popdist : num [1:355] 9.64 9.25 9.45 9.45 11.12 ...
..$ pop : num [1:355] 4.745 4.543 6.168 6.168 0.693 ...
..$ speed : num [1:355] 0.25 0.35 0.3 0.3 0.35 0.35 0.45 0.35 0.35 0.3 ...
..$ traffic : num [1:355] 0.386 0.693 3.605 3.593 2.549 ...
$ nsurvcov : int 1
$ survcov :'data.frame': 41890 obs. of 1 variable:
..$ SURVEY: Factor w/ 118 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
$ nseasncov : int 1
$ seasncov :'data.frame': 2130 obs. of 1 variable:
..$ SEASON: Factor w/ 6 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
$ nsurveyseason: num [1:6] 6 7 9 30 29 37
$ intervals : num [1:118] 1 1 1 1 1 1 1 1 1 1 ...
$ title : chr "PRESENCE Analysis"
$ unitnames : chr [1:355] "AB1Dayt" "AP1OHea" "AS1Scar" "AS2Scar" ...
$ surveynames : chr [1:118] "1-1" "1-2" "1-3" "1-4" ...
$ paoname : chr "pres.pao"
$ frq : num [1:355] 1 1 1 1 1 1 1 1 1 1 ...
- attr(*, "class")= chr "pao"
> #Spotted Salamander Occupancy Models
> spsamod1<-occMod(model=list(psi~1, p~1, gamma~1, epsilon~1), data=spsadata, type="do.1", modname="Constant")
> spsamod2<-occMod(model=list(psi~Forest+Wet+Dev+Herb+Ag+popdist+pop+speed+traffic, p~1, gamma~1, epsilon~1),
+ data=spsadata, modname="Global", type="do.1")
Warning messages:
1: In getbetas(v[i], psi.dm) : NAs introduced by coercion
2: In getbetas(v[j], gamma.dm) : NAs introduced by coercion
3: In sqrt(diag(temp.psi.VC)[-1]) : NaNs produced
4: In sqrt(diag(temp.psi.VC)[-1]) : NaNs produced
5: In sqrt(diag(temp.psi.VC)[-1]) : NaNs produced
6: In sqrt(diag(temp.psi.VC)[-1]) : NaNs produced
7: In sqrt(diag(temp.psi.VC)[-1]) : NaNs produced
gleclair
 
Posts: 4
Joined: Sun Apr 28, 2024 12:01 pm

Re: NAs Introduced by Coercion, NaNs produced

Postby jhines » Mon Apr 29, 2024 7:22 am

The warning messages indicate that some parameters were not estimable due to sparse data. The RPresence package calls program Presence to do computations, which generates a text file with results. The text file is deleted by default but can be saved with the option, "outfile=modname" argument to the occMod function call. RPresence reads the text output file and prints the warning if one or more estimates does not contain strictly numbers. This frequently happens when there is no data available to estimate certain parameters. For example, if all sites are initially occupied, then there are no unoccupied sites to compute colonization rate and the estimate will be undefined. If no sites are initially occupied, then there are no occupied sites to compute extinction. If there are no detections for a survey, then it may not be possible to distinguish whether sites are unoccupied, or occupied with detection probability equal to zero.

Messages about the variance-covariance matrices (eg., In sqrt(diag(temp.psi.VC)[-1]) : NaNs produced) are also most likely due to sparse data. When a parameter is zero or one (or very close), then the variance of the estimates is undefined and cannot be estimated.

I suspect the 2nd model is the one which produced the warning messages. With 355 sites you may be able to estimate initial occupancy with quite a few covariates, but from the sippet of data provided, it appears than you have a lot of missing data so there aren't so many sites with data to estimate occupancy. One of the first things to do (in any analysis) is to examine a summary of the data to see which models might be possible.

I suggest building up models, starting with a single covariate and adding covariates after seeing if the current model has trouble estimating parameters. It is also suggested to perform a correlation analysis on the covariates to see if any are correlated. You should not have highly correlated covariates in a model affecting a parameter as that would "dilute" the effect of both covariates.
jhines
 
Posts: 632
Joined: Fri May 16, 2003 9:24 am
Location: Laurel, MD, USA

Re: NAs Introduced by Coercion, NaNs produced

Postby gleclair » Mon Apr 29, 2024 10:32 am

Awesome, thank you so much for the help Jim. I checked the VIFs and R^2 values of the variables included and none of them are correlated (which is a bit surprising tbh, since several of them are different measures of what is essentially urbanization). I had been working with Darryl on getting these models set up, but I guess what might've been missed in this analysis just how much missing data there is - perhaps I can truncate the sites to those with >= x surveys to help reduce that issue?
gleclair
 
Posts: 4
Joined: Sun Apr 28, 2024 12:01 pm

Re: NAs Introduced by Coercion, NaNs produced

Postby jhines » Mon Apr 29, 2024 11:51 am

The missing data present should not affect whether a model will produce estimates as they are simply ignored in the computations. The lack of data for a particular season and/or survey is the likely reason for the warnings. This would especially be the case in the 2nd model as you have many covariates on occupancy. For that model you'd need several sites with each combination of covariates in order to estimate all of the covariate effects. I'd be happy to look over the data if you'd like to send it to me offlist.
jhines
 
Posts: 632
Joined: Fri May 16, 2003 9:24 am
Location: Laurel, MD, USA

Re: NAs Introduced by Coercion, NaNs produced

Postby gleclair » Mon Apr 29, 2024 1:20 pm

Excellent, I just sent you an email with my data and code... let me know your thoughts.

Good to know - that's a concept that I hadn't thought of. I'm sure the combos of the different covariates is sparse, especially for earlier years of the project (2018, 2019 especially).
gleclair
 
Posts: 4
Joined: Sun Apr 28, 2024 12:01 pm


Return to RPresence

Who is online

Users browsing this forum: No registered users and 1 guest