Я только что сделал ANCOVA или MANOVA?

#r #anova

#r #anova

Вопрос:

Я пытаюсь сделать ANCOVA здесь … Я хочу проанализировать влияние EROSION СИЛЫ и ZONATION на все виды (перечисленные маленькими буквами) в каждом POOL.STEP (в диапазоне от 1-12 / 1-4), контролируя при этом эффект FISH .

скриншот

Я не уверен, правильно ли я это делаю. Какая команда для ANCOVA?

До сих пор я использовал lm(EROSIONFORCE~ZONATION FISH,data=d) , что дает:

скриншот2

Итак, что я вижу здесь, так это то, что процент силы эрозии (перехват?) и сублиторальная зональность в некотором роде значимы, но я все еще не уверен, правильно ли я выполнил ANCOVA здесь или это просто ANOVA?

Комментарии:

1. это вопрос о интерпретации статистического анализа, поэтому я проголосовал за закрытие / переход к CrossValided

2. Как насчет того, чтобы просто помочь мне интерпретировать прямо здесь?

3. Я стараюсь избегать ответов на вопросы, которые не подходят для SO — в долгосрочной перспективе ответы на вопросы, которые не подходят для SO, побуждают людей задавать больше вопросов. Если вы хотите повторно опубликовать этот вопрос в CrossValidated самостоятельно и удалить вопрос здесь (вы можете прокомментировать здесь ссылку на новый вопрос — я смогу увидеть ваш вопрос комментарии после его удаления) Я подумаю над тем , чтобы ответить там …

4. на самом деле, теперь, когда я смотрю на ваш вопрос, вы зашли дальше, чем я думал, поэтому я дам здесь небольшой ответ (он просто превратился обратно в вопрос по программированию)

Ответ №1:

В общем, ANCOVA (анализ ковариации) — это просто частный случай общей линейной модели с одним категориальным предиктором (фактор) и одним непрерывным предиктором («ковариата»), так что lm() это правильная функция для использования.

Однако … суть в том, что у вас здесь умеренно сложная статистическая задача, и я бы настоятельно рекомендовал вам попытаться получить местную помощь (если вы работаете в исследовательской группе, можете ли вы проконсультироваться с другими членами вашей группы о подходящих методах?) Я бы посоветовал продолжить либо с перекрестной проверкой, либо r-sig-ecology@r-project.org

  • помещая EROSIONFORCE в левую часть формулы, вы указываете, что хотите использовать EROSIONFORCE в качестве переменной отклика (зависимой), т. е. ваша модель оценивает, как меняется сила эрозии в разных зонах и для разной численности рыбы — ничего о реакции вида
  • если вы хотите проанализировать реакцию отдельного вида на эрозию и зону, контролирующую численность рыбы, вам нужно что-то вроде
 lm(`Acmaeidae s...` ~ EROSIONFORCE ZONATION FISH, data=your_data)
  
  • в lm() предложении выше каждый вид выполнялся бы независимо, т. Е. вам пришлось бы выполнять отдельный анализ для каждого вида. Если вы также хотите сделать это отдельно для каждого из них, POOL.STEP вам придется провести много отдельных анализов. Существуют различные способы автоматизации этого в R, самый идиоматичный, вероятно, это переплавить ваши данные (см. reshape2::melt или tidy::gather ) в длинный формат, а затем использовать lmList from lme4 .
  • поскольку у вас есть данные подсчета с низкими средними значениями, т. Е. множеством нулей (и несколькими большими значениями), вам, вероятно, следует рассмотреть модель Пуассона или отрицательного биномиала и, возможно, даже модель с нулевым увеличением / препятствием (т. Е. анализировать наличие-отсутствие и размер положительных ответов отдельно)
  • если вы действительно хотите проанализировать совместное распределение всех видов (т. Е. результат многомерного анализа, которым является M в MANOVA), вам придется поработать немного усерднее … существует множество моделей совместного распространения видов, разработанных такими людьми, как Пьер Лежандр, Дэвид Уортон и другими … Я бы посоветовал вам попробовать начать с mvabund пакета, но сначала вам, возможно, придется немного почитать

Комментарии:

1. Я думаю, что то, что мне нужно сделать, это перевернуть мою формулу наоборот! Я боялся, что мне придется выполнять отдельные анализы для каждого вида, которые