Ошибка использования функции dbrda для пакета vegan в R - PullRequest
0 голосов
/ 26 ноября 2018

В настоящее время я пытаюсь запустить dbRDA с помощью пакета vegan.Я использовал три объясняющие матрицы, чтобы объяснить одну матрицу расстояний ответа:

full.rda <- dbrda(bsim ~ genmat + envmat + spamat)

Первая - это матрица расстояний, в то время как последние три - это матрицы (не кадры данных).Я проверил атрибуты dimnames каждого, также не было пропущенных значений, в целом все выглядит нормально ...

dim(bsim)

[1] 380 380

dim(envmat)

[1] 380 6

dim(spamat)

[1] 380 3

dim(genmat)

[1] 380 2

all(attr(genmat, 'dimnames')[[1]] == attr(bsim, 'dimnames')[[1]])

[1] ИСТИНА

all(attr(spamat, 'dimnames')[[1]] == attr(bsim, 'dimnames')[[1]])

[1] ИСТИНА

all(attr(envmat, 'dimnames')[[1]] == attr(bsim, 'dimnames')[[1]])

[1] ИСТИНА

но по какой-то причине здесь появляется сообщение об ошибке:

full.rda <- dbrda(bsim ~ genmat + envmat + spamat)

Ошибка вdimnames (u) <- list (dnam [[1]], c (axnam, negnam)): длина 'dimnames' [2] не равна экстенту массива </p>

traceback()

3: ordConstrain (Y, X, Z) * ​​1056 *

2: ordConstrained (X, d $ Y, d $ Z, method = "dbrda")

1: dbrda (bsim ~ genmat+ envmat + spamat)

Я видел, как люди получали эту ошибку, когда пытались сделать corrplot и использовать фрейм данных вместо матрицы, но здесь проблема не в этом ..

Есть ли кто-нибудь, кто мог бы предложитьИоны или идеи по преодолению этой проблемы?

Я использую версию 3.5.1 R и версию 2.5-2 пакета vegan.

Большое спасибо!

...