Как вы строите участки разрежения по местам отбора проб?

Упрощенная версия моей проблемы:

У меня есть таблица OTU с 60 точками выборки (каждая с изобилием для различных OTU) по трем сайтам: A, B и C. Каждый сайт имеет 20 образцов.

Я хочу построить кривые разрежения для каждого из участков: A, B и C. Я хочу посмотреть, есть ли кривые для плато сайтов, чтобы проверить, были ли "достаточные" последовательности взяты из каждого участка.

На данный момент я делаю это:

raremax <- min(rowSums(otu.table))
rarecurve(otu.table, sample = raremax)

В настоящее время каждая отдельная точка выборки строится в виде отдельных кривых - это не то, чего я хочу - я хочу построить общие кривые для каждого участка отбора проб.

1 ответ

Для второго варианта вы должны суммировать количество видов по участкам. Это будет игнорировать все различия между единицами выборки по сайтам (которые некоторые люди называют бета-разнообразием) и будет рассматривать единицы выборки как простые копии. Возможно, вам придется обосновать свой подход к рецензентам, если вы хотите опубликовать свои результаты.

Со стандартным R вы можете использовать aggregate чтобы получить суммы. В следующем примере используются веганские наборы данных mite а также mite.env:

rarecurve(aggregate(mite, list(mite.env$Shrub), sum)[,-1])

aggregate добавит один столбец, который вы должны удалить, и у вас не будет меток для кривых. Немного более извилистый способ дает вам также имена:

rarecurve(sapply(mite, function(x) sapply(split(x, mite.env$Shrub), sum)))
rarecurve(t(sapply(split(mite, mite.env$Shrub), colSums))) # alternatively

Для этого ваши данные должны быть data.frame--- матрица не удастся.

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