Непомеченная ошибка: неверный тип (список) для переменной - PullRequest
0 голосов
/ 31 мая 2019

Я пытаюсь запустить модель N-смеси на R, но у меня есть некоторые проблемы с типами переменных.У меня есть сайты, которые я исследовал от одного до четырех раз, и каждый раз я записывал переменные;это означает, что у меня есть четыре столбца для каждой переменной.Я создал этот код для создания объекта моей модели

library(unmarked)

r <- dispar_1gen[, c(6:9)]
rf <- dispar_1gen[,c(10:13)]
ac <- dispar_1gen[,c(14:17)] 
af <- dispar_1gen[,c(18:21)] 
tt <- dispar_1gen[,c(22:25)]
hb <- dispar_1gen[,c(26:29)]

y1 <- dispar_1gen[,c(2:5)]      
time1 <- matrix(rep(as.character(1:4), nrow(y1)), ncol = 4, byrow = TRUE)
sc1 <- data.frame(f.erb=scale(dispar_1gen$f.erbosa), d.alb=scale(dispar_1gen$dis.alberi))
obsc1 <- list(r=r, rf=rf, ac=ac, af=af, tt=tt, hb=hb, time=time1)
umf_1gen <- unmarkedFramePCount(y = y1,
                           siteCovs=sc1,
                           obsCovs=obsc1)

Отсюда начинается моя ужасная история !!!!!Я, конечно, шучу, но я бы попросил вас о помощи !!!Когда я пытаюсь запустить модель, она возвращает мне эту ошибку

dm1 <- pcount(~ rf + hb ~ ac, data=umf_1gen, control=list(trace=TRUE, REPORT=5), mixture = c("P"))
    Error in model.frame.default(stateformula, siteCovs, na.action = NULL) : 
      invalid type (list) for variable 'ac'

Я не понимаю, почему;проверив страницу справки, я обнаружил, что:

y -> матрица RxJ данных повторного подсчета, где R - количество сайтов, J - максимальное количество периодов выборки на сайт.

siteCovs -> data.frame ковариат, которые различаются на уровне сайта.Это должно иметь R строк и один столбец на ковариату

obsCovs -> Либо именованный список data.frames ковариат, которые различаются в пределах сайтов, либо data.frame со строками RxJ в главном порядке сайта.

Почему он говорит мне, что ему нужен список, но когда я пытался запустить модель, ему не нравится тип списка ?????

В последнем случае структурапеременной "ac" является

str(ac)
'data.frame':   241 obs. of  4 variables:
 $ X1gen.ac1: Factor w/ 3 levels "0","1","2": 2 2 3 3 1 1 1 1 1 3 ...
 $ X1gen.ac2: Factor w/ 2 levels "0","2": NA NA NA NA NA NA NA NA NA NA ...
 $ X1gen.ac3: Factor w/ 2 levels "0","2": NA NA NA NA NA NA NA NA NA NA ...
 $ X1gen.ac4: Factor w/ 2 levels "0","2": NA NA NA NA NA NA NA NA NA NA ...

и структура obsc1 выглядит следующим образом

str(obsc1)
List of 7
 $ r   :'data.frame':   241 obs. of  4 variables:
  ..$ X1gen.r1: Factor w/ 4 levels "0","1","2","3": 1 2 2 2 3 3 3 2 1 1 ...
  ..$ X1gen.r2: Factor w/ 3 levels "0","1","2": NA NA NA NA NA NA NA NA NA NA ...
  ..$ X1gen.r3: Factor w/ 3 levels "0","1","2": NA NA NA NA NA NA NA NA NA NA ...
  ..$ X1gen.r4: Factor w/ 3 levels "0","1","2": NA NA NA NA NA NA NA NA NA NA ...
 $ rf  :'data.frame':   241 obs. of  4 variables:
  ..$ X1gen.rf1: Factor w/ 5 levels "0","1","2","3",..: 1 3 4 4 4 4 4 3 1 1 ...
  ..$ X1gen.rf2: Factor w/ 5 levels "0","1","2","3",..: NA NA NA NA NA NA NA NA NA NA ...
  ..$ X1gen.rf3: Factor w/ 5 levels "0","1","2","3",..: NA NA NA NA NA NA NA NA NA NA ...
  ..$ X1gen.rf4: Factor w/ 5 levels "0","1","2","3",..: NA NA NA NA NA NA NA NA NA NA ...
 $ ac  : Factor w/ 3 levels "0","1","2": 2 2 3 3 1 1 1 1 1 3 ...
  ..- attr(*, "names")= chr [1:964] "X1gen.ac11" "X1gen.ac12" "X1gen.ac13" "X1gen.ac14" ...
 $ af  :'data.frame':   241 obs. of  4 variables:
  ..$ X1gen.af1: Factor w/ 3 levels "0","1","2": 1 1 1 1 1 1 1 1 1 1 ...
  ..$ X1gen.af2: Factor w/ 3 levels "0","1","2": NA NA NA NA NA NA NA NA NA NA ...
  ..$ X1gen.af3: Factor w/ 3 levels "0","1","2": NA NA NA NA NA NA NA NA NA NA ...
  ..$ X1gen.af4: Factor w/ 3 levels "0","1","2": NA NA NA NA NA NA NA NA NA NA ...
 $ tt  :'data.frame':   241 obs. of  4 variables:
  ..$ X1gen.tt1: Factor w/ 4 levels "0","1","2","3": 3 3 3 3 3 3 3 3 3 3 ...
  ..$ X1gen.tt2: Factor w/ 4 levels "0","1","2","3": NA NA NA NA NA NA NA NA NA NA ...
  ..$ X1gen.tt3: Factor w/ 4 levels "0","1","2","3": NA NA NA NA NA NA NA NA NA NA ...
  ..$ X1gen.tt4: Factor w/ 4 levels "0","1","2","3": NA NA NA NA NA NA NA NA NA NA ...
 $ hb  :'data.frame':   241 obs. of  4 variables:
  ..$ X1gen.hb1: num [1:241] 300 50 30 50 70 60 60 50 30 60 ...
  ..$ X1gen.hb2: num [1:241] NA NA NA NA NA NA NA NA NA NA ...
  ..$ X1gen.hb3: num [1:241] NA NA NA NA NA NA NA NA NA NA ...
  ..$ X1gen.hb4: num [1:241] NA NA NA NA NA NA NA NA NA NA ...
 $ time: chr [1:241, 1:4] "1" "1" "1" "1" ...

Может ли кто-нибудь мне помочь ????

Спасибо!

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