Как вы строите участки разрежения по местам отбора проб?
Упрощенная версия моей проблемы:
У меня есть таблица 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
--- матрица не удастся.