Включение ковариат на уровне образца в eDNAoccupancy occModel - PullRequest
1 голос
/ 06 марта 2019

Я использую пакет R eDNAoccupancy для разработки байесовской иерархической модели с тремя уровнями, но я изо всех сил пытаюсь найти примеры, использующие ковариаты как на уровне сайта, так и на уровне образца (только ссылки, которые возможны).

Я отформатировал данные так, как я думаю так и должно быть, но я продолжаю получать ошибки.

Любая помощь или направление будет принята с благодарностью!

Моя матрица обнаружения выглядит следующим образом:

> head(hbDetections$y)
   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15]
S1    0    0    0    0    0    0    0    0    0     0     0     0     0     0     0
S2    1    0    1    0    0    0    0    0    0     0     0     0     0     0     0
S3    0    0    0    0    0    0    1    0    0     0     2     0     1     0     1
   [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26] [,27] [,28]
S1     1     0     0     0     0     0     0     0     0     0     1     0     0
S2     0     0     0     1     0     0     0     0     0     0     0     0     0
S3     0     0     0     1     0     0     0     0     0     0     0     0     0
   [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38] [,39] [,40] [,41]
S1     1     0     0     2     0     0     0     0     0     0     0     0     0
S2     0     0     1     0     0     0     0     0     0     0     0     0     0
S3     0     1     1     0     0     1     0     0     1     0     0     0    NA
   [,42] [,43] [,44] [,45] [,46]
S1    NA    NA    NA    NA    NA
S2     0     0     1     0     0
S3    NA    NA    NA    NA    NA

> head(hbDetections$K)
   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14] [,15]
S1    5    5    5    5    5    5    5    5    5     5     5     5     5     5     5
S2    5    5    5    5    5    5    5    5    5     5     5     5     5     5     5
S3    5    5    5    5    5    5    5    5    5     5     5     5     5     5     5
   [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26] [,27] [,28]
S1     5     5     5     5     5     5     5     5     5     5     5     5     5
S2     5     5     5     5     5     5     5     5     5     5     5     5     5
S3     5     5     5     5     5     5     5     5     5     5     5     5     5
   [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38] [,39] [,40] [,41]
S1     5     5     5     5     5     5     5     5     5     5     5     5     5
S2     5     5     5     5     5     5     5     5     5     5     5     5     5
S3     5     5     5     5     5     5     5     5     5     5     5     5     0
   [,42] [,43] [,44] [,45] [,46]
S1     0     0     0     0     0
S2     5     5     5     5     5
S3     0     0     0     0     0

Мои ковариаты следующие:

Примечание: размер, SI и легкие ковариаты на уровне сайта, а также NDVI и TRI ковариаты на уровне образца

> head(siteAndSampleData)
  Site Sample   Size   SI Light    NDVI      TRI
1   S1      1 313.28 1.76   881 6398.00 188.3559
2   S1      2 313.28 1.76   881 5881.00 191.6983
3   S1      3 313.28 1.76   881 7253.25 390.0000
4   S1      4 313.28 1.76   881 6565.50 299.3047
5   S1      5 313.28 1.76   881 6332.25 287.0660
6   S1      6 313.28 1.76   881 6641.75 250.7060

Затем я запускаю occModel с eDNAoccupancy следующим образом:

set.seed(0157)
fit = occModel(formulaSite = ~ 1,
               formulaSiteAndSample = ~ NDVI,
               formulaReplicate = ~ 1,
               detectionMats = hbDetections,
               siteData = NULL,
               siteAndSampleData = siteAndSampleData.sc,
               niter = 6000,
               niterInterval = 2000,
               siteColName = "Site",
               sampleColName = "Sample"
               )

Я получаю следующее предупреждение:

> warnings()
Warning messages:
1: glm.fit: fitted probabilities numerically 0 or 1 occurred

Упорно солдатский, я стараюсь и установить задние резюме

> posteriorSummary(fit, burnin = 1000, mcError = TRUE, outputSummary=TRUE)

Bayesian estimates of model parameters 
                    Mean    50%   2.5%  97.5%
beta..Intercept.   1.042  1.015 -0.243  2.513
alpha..Intercept.  0.591  0.501 -0.614  2.230
alpha.NDVI        -0.347 -0.338 -1.457  0.898
delta..Intercept. -1.618 -1.647 -1.942 -1.156

Monte Carlo SE of Bayesian estimates 
                    Mean    50%   2.5%  97.5%
beta..Intercept.  0.0100 0.0119 0.0216 0.0277
alpha..Intercept. 0.0687 0.0859 0.0313 0.1224
alpha.NDVI        0.0406 0.0337 0.0689 0.1268
delta..Intercept. 0.0151 0.0163 0.0089 0.0222
NULL

> psi = posteriorSummaryOfSiteOccupancy(fit, burnin = 1000)

> theta = posteriorSummaryOfSampleOccupancy(fit, burnin = 1000)

Наконец-то появляется сообщение об ошибке:

Error in quantile.default(input, prob = q, type = 1, names = FALSE) : 
  missing values and NaN's not allowed if 'na.rm' is FALSE

Опять же, я благодарен за любые предложения относительно того, как мои рамки данных и / или модели должны быть отформатированы с использованием eDNAoccupancy, чтобы включить как ковариаты на уровне сайта, так и на уровне выборки.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...