Я генерирую участки привязки NMDS из данных сообщества, используя пакет R, веган и хочу включать векторы (то есть стрелки из начала координат), длины которых соответствуют важности выбранных виды. Как я могу ограничить стрелки, отображаемые только для этих видов, скажем, в верхнем квартиле данных? Я могу рассчитать длины для каждого вектора, но не знаю, как ограничить стрелки, напечатанные на те, которые соответствуют желаемому стандарту. Например,Совместные графики с векторами из подмножества данных
require(vegan)
data(dune)
mds <- metaMDS(dune)
plot(mds$points[,1], mds$point[,2])
arrows(0, 0, mds$species[,1], mds$species[,2], col = "grey50")
# for the length of ea arrow for ea sp:
hyp <- sqrt(mds$species[,1]^2 + mds$species[,2]^2)
Благодаря ...
(1) Вы всегда должны использовать 'asp = 1' в координационных участках. Это делается автоматически, если вы используете функции vegan и выдаете 'plot (mds, dis =" site ")', но если вы хотите использовать более громоздкий собственный код, добавьте 'asp = 1'. (2) Гораздо проще использовать 'hyp <- sqrt (rowSums (оценки (mds, dis =" sp ")^2))'. (3) функции вегана 'plot',' text' и 'points' для результата' metaMDS' имеют аргумент 'select', который может использоваться как имя. Однако он не может использоваться для стрелок, но я не могу понять, почему вы использовали стрелки для оценок видов. –
Спасибо, Яри. Я очень ценю информацию, просил и вызвался. Что касается стрелок для видов, то вы правы: в лучшем случае вводя в заблуждение. Я пытался удовлетворить коллегу, даже менее информированного, чем я. Рад, что заставил меня задуматься. –