Я запускал функцию ordistep по результатам RDA по матрице обилия видов и большому количеству PCNM.
вот код, который я использовал. Chr — это числовой вектор от 1:23 для циклического прохождения различных экспериментов, а filter.na удаляет некоторые графики, для которых нам не хватает данных.
R <- rda(Gbos[[Chr]][filter.na,]~., as.data.frame(Lpcnm[[Chr]]$vectors[filter.na]))
step.forward[[i]] <- ordistep(R, scope = formula(R), test="p")
Моя проблема в том, что у меня в формуле от 80 до 120 PCNM, и мне нужно найти более минимальную модель. Однако всякий раз, когда у меня есть более 57 PCNM, на пару шагов я получаю сообщение об ошибке:
Ошибка в условии (PCNM1 + PCNM2 + PCNM3 + PCNM4 + PCNM5 + PCNM6 + PCNM7 +: не удалось найти функцию «Условие» Вызовы: шаг ... ordiParseFormula -> model.frame -> model.frame.default -> eval -> eval Выполнение остановлено
я пропустил что-то очевидное? эта функция работает нормально, если у меня меньше 57 PCNM.
Error in as.data.frame(Lpcnm[[Chr]]$vectors[filter.na]) : object 'Lpcnm' not found
- person Jari Oksanen   schedule 13.03.2018ordistep()
в вашем примере вообще не будет работать в современном вегане (или, я думаю, в любом вегане): ваша начальная модель (R
) равноscope
и деваться будет некуда. Дальнейший аргументtest = "p"
не допускается в современном вегане, потому чтоordistep
всегда использует тесты перестановки, а повторное использование приводит к ошибке. - person Jari Oksanen   schedule 17.03.2018