Как исправить ошибку «Ошибка в nullmodel (comm, метод): не удалось найти функцию« list2env »в пакете vegan - PullRequest
0 голосов
/ 04 октября 2011

Я занят изучением пакета веганский для R, используя его для вычисления вложенности матриц сообщества и нулевых моделей.Меня особенно интересует использование функций permat, а также Oecosimu.

Однако при запуске моей программы я получил следующие ошибки:

Ошибка в нулевой модели (comm, метод): не удалось найти функцию «list2env» Ошибка в nullmodel (m, ALGO): не удалось найти функцию «list2env»

Затем я даже запустил пример (приведенный ниже), как использовать эти функциис помощью функции справки R, и даже эти примеры дали ту же ошибку.Предполагается ли импортировать что-то еще, чтобы использовать эти функции или как мне исправить это?

Примеры:

m <- matrix(c(
   1,3,2,0,3,1,
   0,2,1,0,2,1,
   0,0,1,2,0,3,
   0,0,0,1,4,3
   ), 4, 6, byrow=TRUE)

x1 <- permatswap(m, "quasiswap")

summary(x1)

x2 <- permatfull(m)

summary(x2)

x3 <- permatfull(m, "none", mtype="prab")

x3$orig  

summary(x3)

x4 <- permatfull(m, strata=c(1,1,2,2))

summary(x4)

Ответы [ 3 ]

2 голосов
/ 04 октября 2011

Технически, это ошибка в версии разработки Vegan для R-Forge. Нам не удалось объявить зависимость от версий R> = 2.12 в DESCRIPTION. Я зарегистрировал соответствующее изменение в дереве исходных текстов, чтобы исправить это, но потребуется около одного дня, прежде чем R-Forge восстановит tar-архив и двоичные файлы.

Тем не менее, вы, вероятно, должны обновить свой R до чего-то более нового. Или используйте версии этих функций, представленные в Vegan 2.0-x для CRAN.

1 голос
/ 04 октября 2011

Ваш код работает для меня без сообщения об ошибке

Наиболее вероятная причина вашей ошибки - использование старых версий R, vegan или permute

The R новости об изменениях говорит

ИЗМЕНЕНИЯ В ВЕРСИИ R 2.12.0: НОВЫЕ ХАРАКТЕРИСТИКИ:

o New list2env() utility function as an inverse of
  as.list(<environment>) and for fast multi-assign() to existing
  environment.  as.environment() is now generic and uses list2env()
  as list method.

ИЗМЕНЕНИЯ В ВЕРСИИ R 2.12.1: ИСПРАВЛЕНИЯ

o When list2env() created an environment it was missing a PROTECT
  call and so was vulnerable to garbage collection.

ИЗМЕНЕНИЯ В ВЕРСИИ R 2.13.0: НОВЫЕ ХАРАКТЕРИСТИКИ:

o list2env(envir = NULL) defaults to hashing (with a suitably sized
  environment) for lists of more than 100 elements.

Обновите свою версию R и пакеты и попробуйте снова.

1 голос
/ 04 октября 2011

list2env является частью базы R, что означает, что он поставляется с дистрибутивом, а не в пакете расширения. Так что, если у вас его нет, вы, вероятно, либо используете старую версию R, либо у вас испорченная установка. У меня пример работал нормально, с R 2.12.1 и веганом 2.1-0.

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