В настоящее время я пытаюсь запустить 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.
Большое спасибо!