Как подразделить группы распространенности на пол на R - микробиоме - PullRequest
0 голосов
/ 29 февраля 2020

Я новичок в R. Я работаю со сценарием, который разбивает данные микробиома atlas1006 на 3 группы распространенности заболеваний (низкая, средняя, ​​высокая) в зависимости от страны. Я хочу разделить каждую группу: низкий, средний, высокий, на мужского и женского пола для каждой группы, то есть низкий мужской, низкий женский, средний мужской, средний женский, высокий мужской, высокий женский. Я хочу сохранить 3 существующие группы низкими, средними, высокими тоже. Это код, который разбивает данные на низкие, средние, высокие:

# Create mnd variable
# grabs the nationality from phyloseq
test <- get_variable(pseq, "nationality" )

# check you've installed this library
library(forcats)

# this collapses the two variables into a new variable AB in this case. The command for multiple changes is fct_collapse(x, AB = c("A","B"), DE = c("D","E"))
# test <- fct_collapse(test, LOW = c("Scandinavia","EasternEurope") , MEDIUM = c("SouthEurope","CentralEurope", "UKIE"), HIGH = c("US") )

test <- fct_collapse(test, LOW = c("EasternEurope","Scandinavia") , MEDIUM = c("SouthEurope","CentralEurope", "UKIE" ), HIGH = c("US"))

# reorder
test <- factor(test, levels = (c("LOW", "MEDIUM", "HIGH")))
levels(test)

# creates a new variable in the phyloseq called mnd
sample_data(pseq)$mnd = test

# checks that it has worked.
get_variable(pseq, "mnd")

есть идеи, как разделить пол отсюда?

1 Ответ

1 голос
/ 09 марта 2020

Если вы хотите создать отдельные объекты phyloseq, которые говорят, что содержат группу high и females. Вы можете использовать subset_samples

subset_samples(pseq, mnd=="high" & gender_variable == "female")

...