Как вы масштабируете переменные и измеряете расстояние от координаты CCA до центроида в вегане? - PullRequest
0 голосов
/ 10 января 2019

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

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

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

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

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

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

║ 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 Ответ

0 голосов
/ 10 января 2019

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...