[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:08:52 CET 2020


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.



More information about the R-help mailing list