Определение автотрансформации, применяемой с metaMDS - PullRequest
1 голос
/ 10 апреля 2020

Как определить тип преобразования, которое metaMDS применяет к данным моего сообщества, когда autotransform=TRUE?

1 Ответ

0 голосов
/ 11 апреля 2020

См. Справку для ?metaMDS. Раздел Details объясняет, что делает функция. В частности

Преобразование: Если значения данных превышают общие шкалы классов численности, функция выполняет двойную стандартизацию Висконсина (wisconsin). Если значения выглядят очень большими, функция также выполняет преобразование sqrt. Обе эти стандартизации обычно улучшают результаты. Тем не менее, ограничения являются совершенно произвольными (в настоящее время данные максимум 50 триггеров sqrt и 9 триггеров wisconsin) Если вы хотите иметь полный контроль над анализом, вы должны установить autotransform = FALSE и стандартизировать и преобразовать данные независимо. autotransform предназначен для данных сообщества, а для других типов данных вы должны установить autotransform = FALSE. Этот шаг выполняется с использованием metaMDSdist.

Если вы посмотрите на вывод, напечатанный на экране, когда вы запускаете metaMDS непосредственно перед тем, как он начнет выполнять случайные запуски, он напечатает, какое преобразование используется :

library('vegan')
data(varespec)
set.seed(1)
metaMDS(varespec)

> metaMDS(varespec)
Square root transformation
Wisconsin double standardization
Run 0 stress 0.1843196 
Run 1 stress 0.2455912 
Run 2 stress 0.2169407
....
...