Как я могу построить несколько Рок вместе? - PullRequest
1 голос
/ 03 июля 2019

Я хочу найти хороших предсказателей (генов).Это мои данные, log transform RNA-seq:

          TRG    CDK6 EGFR  KIF2C CDC20
Sample 1  TRG12  11.39 10.62  9.75 10.34
Sample 2  TRG12  10.16  8.63  8.68  9.08
Sample 3  TRG12   9.29 10.24  9.89 10.11
Sample 4  TRG45  11.53  9.22  9.35  9.13
Sample 5  TRG45   8.35 10.62 10.25 10.01
Sample 6  TRG45  11.71 10.43  8.87  9.44

Я рассчитал матрицу путаницы для разных моделей, как показано ниже

1- Я тестировал каждый из 23 генов в этом коде отдельно и каждыйиз них дает р-значение <0,05, остается хорошим предиктором;Например, для CDK6 я сделал </p>

glm=glm(TRG ~ CDK6, data = df, family = binomial(link = 'logit'))

Наконец, я получил пять генов и поместил их в эту модель:

final <- glm(TRG ~ CDK6 + CXCL8 + IL6 + ISG15 + PTGS2 , data = df, family = binomial(link = 'logit'))

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

enter image description here

Любая помощь, пожалуйста?

1 Ответ

1 голос
/ 05 июля 2019

Я дам вам ответ, используя пакет pROC.Отказ от ответственности: я автор и создатель пакета.Есть альтернативные способы сделать это.

Сюжет, который вы видите, вероятно, был сгенерирован функцией ggroc pROC.Чтобы сгенерировать такой график из моделей glm, вам необходимо: 1) использовать функцию predict для генерации прогнозов, 2) сгенерировать кривые roc и сохранить их в списке, желательно с именем, чтобы автоматически получить легенду, и 3) звоните ggroc.

glm.cdk6 <- glm(TRG ~ CDK6, data = df, family = binomial(link = 'logit'))
final <- glm(TRG ~ CDK6 + CXCL8 + IL6 + ISG15 + PTGS2 , data = df, family = binomial(link = 'logit'))

rocs <- list()

library(pROC)
rocs[["CDK6"]] <- roc(df$TRG, predict(glm.cdk6))
rocs[["final"]] <- roc(df$TRG, predict(final))

ggroc(rocs)
...