Я пытаюсь построить график вулкана в R, используя функцию plot
и пакет calibrate
в R, и пытаюсь использовать функцию textxy
для построения только определенных точек.
Вот некоторые данные:
Metabolites <- data.frame(Metabolite = c("Glucose", "Galactose", "Creatine", "Lactose", "N-Acetylputrescine", "Tyramine", "Adenine", "Glycine", "Erythritol", "Choline"), Neg_pvalue = c(10, 8, 2, 1, 0.5, 0.7, 5, 3, 5.8, 4), LogFC = c(4, -3, 2, -1, 0.5, 0.7, 1, -2, -4, -1), padjust = c(1.453557e-19, 5.312771e-08, 4.983176e-02, 9.585447e-01, 2.449707e-01, 3.058580e-01, 4.223173e-02, 1.002379e-03, 4.466316e-27, 1.003879e-01))
Вот мой код:
with(Metabolites, plot(LogFC, Neg_pvalue, pch=20, main="CNL", xlim=c(-5,6)))
with(subset(Metabolites, padjust <.05 ), points(LogFC, Neg_pvalue, pch=20, col="blue"))`
with(subset(Metabolites, padjust <.05 & abs(LogFC) > 2), points(LogFC, Neg_pvalue, ph=20, col="red"))
Теперь вот вопрос:
with(subset(Metabolites, padjust <.05 & abs(LogFC) > 2), textxy(LogFC, Neg_pvalue, labs=Metabolite[1:3], cex=.5, offset = 0.2))`
ЕслиЯ строю этот код, я получаю только первые три точки данных, как указано в части кода labs=Metabolite[1:3]
.В качестве альтернативы, если я нанесу labs=Metabolite
, то получу все метки.
Если бы я хотел нанести на карту только метки: глицин, лактозу и эритрит, как указано в метаболитах $ Метаболит, могу ли я это сделать?
Также, скажем, я хотел, чтобы мои 3 верхние точки данных были помечены (labs=Metabolite[1:3]
), но я также хочу пометить другие представляющие интерес метаболиты, например, тирамин и N-ацетилпутресцин;как я могу это сделать?