r - phyloseq - расположение таксонов, кроме видов (семейство, отряд и т. д.)

Я просмотрел учебники по phyloseq, но не могу определить, как определить уровень стресса и построить порядок расположения отдельных таксонов (кроме видов), таких как семейство или другие классификации.

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

library("phyloseq")

data(GlobalPatterns)

GP <- GlobalPatterns

Это попытка выделить только семейные таксоны

GPtaxa <- tax_table(GP)[, "Family"]

GPotu <- otu_table(GP)

GPsd <- sample_data(GP)

GPpt <- phy_tree(GP)

GPnew <- phyloseq(GPotu, GPsd, GPtaxa, GPpt)

Использование набора данных GlobalPatterns по умолчанию

GP1 <- ordinate(GP, "NMDS", engine = "monoMDS", maxit = 200, try = 100)

GP1$stress

# [1] 0.1612348

Использование пересмотренного набора данных GlobalPatterns с семейством в качестве единственного таксона

GP2 <- ordinate(GPnew, "NMDS", engine = "monoMDS", maxit = 200, try = 100)

GP2$stress

# [1] 0.1612348

Как вы выполняете расположение таксонов, кроме видов, используя phyloseq?

Я знаю, как сделать это на веганском, но мне нужно решение phyloseq.

Спасибо.

1 ответ

Решение

Ваш звонок в tax_table() метод доступа не был подмножеством или агломерацией, как вы предложили в посте. Он просто возвратил одну таблицу таксономии, помещенную в "Family" столбец в общей матричной скобке.

То, что вы ищете, это tax_glom первым сделать агломерацию.

library("phyloseq")
data(GlobalPatterns)
GPnew <- tax_glom(GlobalPatterns, "Family")

А теперь рукоположение

ord1 <- ordinate(GPnew, "NMDS", "bray")
plot_ordination(GPnew, ord1, color="SampleType")
Другие вопросы по тегам