Как вы масштабируете переменные и измеряете расстояние от координаты CCA до центроида в вегане?

Я новый студент в лаборатории биоинформатики, пожалуйста, не стесняйтесь поправлять меня, если что-то не так.

Я сделал CCA, используя пакет vegan в R со следующим скриптом:

cca.analysis <- cca(mod ~ genus1 + genus2 + genus3, data)

В настоящее время я пытаюсь измерить баллы / вклад каждой переменной (рода), чтобы определить, какая из них наиболее повлияла на вариации сообщества в моем наборе данных. У меня есть две проблемы:

  1. Как вы масштабируете вклад каждого рода независимо от его относительной частоты к другим родам? Например, род 1 очень распространен по сравнению с родом 3, что будет означать, что он внесет больший разброс в анализ.
  2. Какой сценарий или функцию в пакете вы бы использовали для измерения расстояния от центроида, чтобы найти вклад рода в изменение?

Изменить: я сделал воспроизводимый пример, чтобы помочь дать некоторое представление о вопросе. Вот данные рода:

║ genus_1 ║ genus_2 ║ genus_3 ║ ║ 15.635 ║ 10.293 ║ 0 ║ ║ 9.7813 ║ 9.0061 ║ 5.4298 ║ ║ 15.896 ║ 2.5612 ║ 3.4335 ║ ║ 4.0054 ║ 0 ║ 2.0043 ║ ║ 15.929 ║ 16.213 ║ 0 ║ ║ 11.072 ║ 15.434 ║ 0 ║ ║ 12.539 ║ 7.2498 ║ 0 ║ ║ 9.1164 ║ 11.526 ║ 2.1649 ║ ║ 4.5011 ║ 0 ║ 0 ║ ║ 11.66 ║ 13.46 ║ 5.1416 ║

mod часть в представленной формуле соответствует следующим данным, которые я извлек из анализа PCoA:

║ Coord_1 ║ Coord_2 ║ Coord_3 ║ Coord_4 ║ Coord_5 ║ Coord_6 ║ Coord_7 ║ ║ 0.954 ║ 0.928 ║ 0.952 ║ 1.009 ║ 1.016 ║ 0.943 ║ 1.031 ║ ║ 0.942 ║ 1.088 ║ 1.100 ║ 1.015 ║ 1.080 ║ 1.140 ║ 1.002 ║ ║ 0.932 ║ 0.989 ║ 1.005 ║ 0.974 ║ 0.990 ║ 1.047 ║ 1.035 ║ ║ 0.929 ║ 1.111 ║ 1.094 ║ 0.847 ║ 0.932 ║ 0.940 ║ 1.016 ║ ║ 0.947 ║ 1.008 ║ 0.937 ║ 1.055 ║ 1.056 ║ 0.964 ║ 1.022 ║ ║ 0.948 ║ 1.054 ║ 0.987 ║ 1.018 ║ 1.017 ║ 0.965 ║ 0.994 ║ ║ 0.946 ║ 1.023 ║ 0.911 ║ 1.014 ║ 1.062 ║ 1.076 ║ 1.063 ║ ║ 1.041 ║ 1.000 ║ 0.945 ║ 0.872 ║ 1.036 ║ 0.907 ║ 1.029 ║ ║ 0.926 ║ 1.107 ║ 1.027 ║ 0.943 ║ 0.993 ║ 1.006 ║ 0.947 ║ ║ 1.038 ║ 1.016 ║ 1.008 ║ 1.013 ║ 0.997 ║ 0.891 ║ 0.988 ║

Вы можете построить это в R с помощью функции plot и это, надеюсь, получить что-то вроде этого: сюжет CCA

1 ответ

Решение

На самом деле, масштабирование ограничивающих переменных (genus1 и т.д.) не влияет на их вклад в модель. Вы можете проверить это, умножив одно из ваших ограничений на некоторое число (скажем, 10) и сравнив полученные модели и убедившись, что они не изменились. Что изменится, так это коэффициенты регрессии для ограничений, но они здесь не представляют интереса (коэффициент регрессии изменится, чтобы отменить эффект умножения).

Ключевой момент: что вы имеете в виду под "вкладом"? Если вы имеете в виду, насколько каждое из этих ограничений "объясняет" общее изменение данных, вы можете получить эту информацию из anova(cca.analysis, by = "terms") или в качестве альтернативы anova(cca.analysis, by = "margin"), Первым анализом будет последовательное разложение объясненной вариации, где компоненты составляют до 100% объясненного, а последнее разложение до уникальных условий, где компоненты не суммируются до 100%. До трех компонентов (род), вы также можете использовать varpart функция (для cca с аргументом chisquare = TRUE: для этого вам нужен последний веганский релиз), который разбивает общее объясненное отклонение на уникальный и совместный вклад.

Если вы имеете в виду что-то еще с "вкладом", пожалуйста, объясните.

Другие вопросы по тегам