[R] how do I add text lables on QQ plot

Ana Marija @okov|c@@n@m@r|j@ @end|ng |rom gm@||@com
Thu Mar 12 15:30:40 CET 2020


Hi Michael,

can you please send me a line of code showing how it would be done.

Thanks
Ana

On Thu, Mar 12, 2020 at 9:16 AM Michael Dewey <lists using dewey.myzen.co.uk> wrote:
>
> Dear Ana
>
> You can specify the first three parameters to text() as vectors so it is
> all done in one call. That may or may not answer your question.
>
> Michael
>
> On 12/03/2020 14:08, Ana Marija wrote:
> > HI David,
> >
> > thank you for getting back to me.
> >
> > Is there is a way for qq() to pick up text label names on its own or I
> > have to specify each one manually?
> > like in this example:
> > text( 2, 6, "arbitrary")
> >
> > this is dput for
> >
> >> a=head(fdr2_sorted)
> >> dput(a)
> > structure(list(NAME = c("GO_DNA_PACKAGING_COMPLEX", "GO_PROTEIN_DNA_COMPLEX",
> > "GO_RESPONSE_TO_TYPE_I_INTERFERON", "GO_RESPONSE_TO_INTERFERON_GAMMA",
> > "GO_CELLULAR_RESPONSE_TO_INTERFERON_GAMMA", "GO_GRANULOCYTE_MIGRATION"
> > ), `GS<br> follow link to MSigDB` = c("GO_DNA_PACKAGING_COMPLEX",
> > "GO_PROTEIN_DNA_COMPLEX", "GO_RESPONSE_TO_TYPE_I_INTERFERON",
> > "GO_RESPONSE_TO_INTERFERON_GAMMA", "GO_CELLULAR_RESPONSE_TO_INTERFERON_GAMMA",
> > "GO_GRANULOCYTE_MIGRATION"), `GS DETAILS` = c("Details ...",
> > "Details ...", "Details ...", "Details ...", "Details ...", "Details ..."
> > ), SIZE = c(77L, 132L, 52L, 101L, 85L, 43L), ES = c(0.6757226,
> > 0.59581786, -0.7521569, -0.63704145, -0.6571892, -0.7332099),
> >      NES = c(2.466745, 2.3465202, -2.5331483, -2.4204733, -2.4021535,
> >      -2.3989832), `NOM p-val` = c(0, 0, 0, 0, 0, 0), `FDR q-val` = c(0,
> >      0, 0, 0, 0, 0), `FWER p-val` = c(0, 0, 0, 0, 0, 0), `RANK AT MAX` = c(1111L,
> >      1516L, 1427L, 1819L, 1216L, 491L), `LEADING EDGE` = c("tags=43%,
> > list=10%, signal=47%",
> >      "tags=39%, list=13%, signal=45%", "tags=54%, list=12%, signal=61%",
> >      "tags=45%, list=16%, signal=52%", "tags=38%, list=11%, signal=42%",
> >      "tags=28%, list=4%, signal=29%"), V12 = c(NA, NA, NA, NA,
> >      NA, NA), FDR.q.val2 = c(1e-10, 1e-10, 1e-10, 1e-10, 1e-10,
> >      1e-10)), class = c("data.table", "data.frame"), row.names = c(NA,
> > -6L), .internal.selfref = <pointer: 0x10400bae0>)
> >
> >> b=head(fdr1_sorted)
> >> dput(b)
> > structure(list(NAME = c("GO_DNA_PACKAGING_COMPLEX", "GO_PROTEIN_DNA_COMPLEX",
> > "GO_RESPONSE_TO_TYPE_I_INTERFERON", "GO_RESPONSE_TO_INTERFERON_GAMMA",
> > "GO_CELLULAR_RESPONSE_TO_INTERFERON_GAMMA", "GO_GRANULOCYTE_MIGRATION"
> > ), `GS<br> follow link to MSigDB` = c("GO_DNA_PACKAGING_COMPLEX",
> > "GO_PROTEIN_DNA_COMPLEX", "GO_RESPONSE_TO_TYPE_I_INTERFERON",
> > "GO_RESPONSE_TO_INTERFERON_GAMMA", "GO_CELLULAR_RESPONSE_TO_INTERFERON_GAMMA",
> > "GO_GRANULOCYTE_MIGRATION"), `GS DETAILS` = c("Details ...",
> > "Details ...", "Details ...", "Details ...", "Details ...", "Details ..."
> > ), SIZE = c(77L, 132L, 52L, 101L, 85L, 43L), ES = c(0.6757226,
> > 0.59581786, -0.7521569, -0.63704145, -0.6571892, -0.7332099),
> >      NES = c(2.466745, 2.3465202, -2.5331483, -2.4204733, -2.4021535,
> >      -2.3989832), `NOM p-val` = c(0, 0, 0, 0, 0, 0), `FDR q-val` = c(0,
> >      0, 0, 0, 0, 0), `FWER p-val` = c(0, 0, 0, 0, 0, 0), `RANK AT MAX` = c(1111L,
> >      1516L, 1427L, 1819L, 1216L, 491L), `LEADING EDGE` = c("tags=43%,
> > list=10%, signal=47%",
> >      "tags=39%, list=13%, signal=45%", "tags=54%, list=12%, signal=61%",
> >      "tags=45%, list=16%, signal=52%", "tags=38%, list=11%, signal=42%",
> >      "tags=28%, list=4%, signal=29%"), V12 = c(NA, NA, NA, NA,
> >      NA, NA), group = c(2, 2, 4, 4, 4, 4), FDR.q.val2 = c(1e-10,
> >      1e-10, 1e-10, 1e-10, 1e-10, 1e-10)), class = c("data.table",
> > "data.frame"), row.names = c(NA, -6L), .internal.selfref = <pointer:
> > 0x10400bae0>)
> >
> > library(qqman)
> > qq(fdr2_sorted$FDR.q.val2, main = "RG_All", pch = 16,
> > col=fdr1_sorted$group, cex = 0.8, las = 1)
> >
> > Please advise
> >
> > On Wed, Mar 11, 2020 at 11:21 PM David Winsemius <dwinsemius using comcast.net> wrote:
> >>
> >>
> >> On 3/10/20 9:51 PM, Ana Marija wrote:
> >>> Hello,
> >>>
> >>> I am making QQ plot via:
> >>>
> >>> library(ggman)
> >>> qq(fdr2_sorted$FDR.q.val2, main = "RG_All", pch = 17,
> >>> col=fdr1_sorted$group, cex = 1, las = 1)
> >>
> >>
> >> I think you may be confusing the audience. There is no qq function in
> >> the ggman package. There is however a qq function in the qqman package.
> >>
> >>
> >> Running the example in help page for qqman::qq and looking at the code
> >> suggests this is a base plot function, so the text function will allow
> >> you to put any particular string within the plot area:
> >>
> >> library(qqman)
> >>
> >> qq(gwasResults$P)
> >> text( 2, 6, "arbitrary")  # puts text "arbitrary" at postion (x=2, y=6)
> >>
> >>>
> >>> data frames used look like this:
> >>>
> >>>> head(fdr1_sorted)
> >>
> >> You should use `dput` to post reproducible data examples.
> >>
> >> HTH;
> >>
> >> David.
> >>
> >>>                                          NAME             GS<br> follow
> >>> link to MSigDB  GS DETAILS SIZE         ES       NES NOM p-val
> >>> 1:                 GO_DNA_PACKAGING_COMPLEX
> >>> GO_DNA_PACKAGING_COMPLEX Details ...   77  0.6757226  2.466745
> >>> 0
> >>> 2:                   GO_PROTEIN_DNA_COMPLEX
> >>> GO_PROTEIN_DNA_COMPLEX Details ...  132  0.5958179  2.346520         0
> >>> 3:         GO_RESPONSE_TO_TYPE_I_INTERFERON
> >>> GO_RESPONSE_TO_TYPE_I_INTERFERON Details ...   52 -0.7521569 -2.533148
> >>>           0
> >>> 4:          GO_RESPONSE_TO_INTERFERON_GAMMA
> >>> GO_RESPONSE_TO_INTERFERON_GAMMA Details ...  101 -0.6370415 -2.420473
> >>>          0
> >>> 5: GO_CELLULAR_RESPONSE_TO_INTERFERON_GAMMA
> >>> GO_CELLULAR_RESPONSE_TO_INTERFERON_GAMMA Details ...   85 -0.6571892
> >>> -2.402153         0
> >>> 6:                 GO_GRANULOCYTE_MIGRATION
> >>> GO_GRANULOCYTE_MIGRATION Details ...   43 -0.7332099 -2.398983
> >>> 0
> >>>      FDR q-val FWER p-val RANK AT MAX                   LEADING EDGE V12
> >>> group FDR.q.val2
> >>> 1:         0          0        1111 tags=43%, list=10%, signal=47%  NA
> >>>       2      1e-10
> >>> 2:         0          0        1516 tags=39%, list=13%, signal=45%  NA
> >>>       2      1e-10
> >>> 3:         0          0        1427 tags=54%, list=12%, signal=61%  NA
> >>>       4      1e-10
> >>> 4:         0          0        1819 tags=45%, list=16%, signal=52%  NA
> >>>       4      1e-10
> >>> 5:         0          0        1216 tags=38%, list=11%, signal=42%  NA
> >>>       4      1e-10
> >>> 6:         0          0         491  tags=28%, list=4%, signal=29%  NA
> >>>       4      1e-10
> >>>
> >>>> head(fdr2_sorted)
> >>>                                          NAME             GS<br> follow
> >>> link to MSigDB  GS DETAILS SIZE         ES       NES NOM p-val
> >>> 1:                 GO_DNA_PACKAGING_COMPLEX
> >>> GO_DNA_PACKAGING_COMPLEX Details ...   77  0.6757226  2.466745
> >>> 0
> >>> 2:                   GO_PROTEIN_DNA_COMPLEX
> >>> GO_PROTEIN_DNA_COMPLEX Details ...  132  0.5958179  2.346520         0
> >>> 3:         GO_RESPONSE_TO_TYPE_I_INTERFERON
> >>> GO_RESPONSE_TO_TYPE_I_INTERFERON Details ...   52 -0.7521569 -2.533148
> >>>           0
> >>> 4:          GO_RESPONSE_TO_INTERFERON_GAMMA
> >>> GO_RESPONSE_TO_INTERFERON_GAMMA Details ...  101 -0.6370415 -2.420473
> >>>          0
> >>> 5: GO_CELLULAR_RESPONSE_TO_INTERFERON_GAMMA
> >>> GO_CELLULAR_RESPONSE_TO_INTERFERON_GAMMA Details ...   85 -0.6571892
> >>> -2.402153         0
> >>> 6:                 GO_GRANULOCYTE_MIGRATION
> >>> GO_GRANULOCYTE_MIGRATION Details ...   43 -0.7332099 -2.398983
> >>> 0
> >>>      FDR q-val FWER p-val RANK AT MAX                   LEADING EDGE V12
> >>> FDR.q.val2
> >>> 1:         0          0        1111 tags=43%, list=10%, signal=47%  NA
> >>>        1e-10
> >>> 2:         0          0        1516 tags=39%, list=13%, signal=45%  NA
> >>>        1e-10
> >>> 3:         0          0        1427 tags=54%, list=12%, signal=61%  NA
> >>>        1e-10
> >>> 4:         0          0        1819 tags=45%, list=16%, signal=52%  NA
> >>>        1e-10
> >>> 5:         0          0        1216 tags=38%, list=11%, signal=42%  NA
> >>>        1e-10
> >>> 6:         0          0         491  tags=28%, list=4%, signal=29%  NA
> >>>        1e-10
> >>>
> >>> and I would like to get the plot like the one in attach.
> >>>
> >>> Please advise,
> >>> Ana
> >>>
> >>> ______________________________________________
> >>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> >>> https://stat.ethz.ch/mailman/listinfo/r-help
> >>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> >>> and provide commented, minimal, self-contained, reproducible code.
> >
> > ______________________________________________
> > R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
> >
>
> --
> Michael
> http://www.dewey.myzen.co.uk/home.html



More information about the R-help mailing list