0

我想知道如何在一个图中为不同的研究绘制具有多个 p 值向量的 QQ 图。

我正在使用以下代码生成 QQ 图:

install.packages("ggplot2") 
library(ggplot2) 

qq的代码可以在这里找到:http: //gettinggeneticsdone.blogspot.com/2009/11/qq-plots-of-p-values-in-r-using-ggplot2.html

qq(data$Pvals, title="My Quantile-Quantile Plot")

现在我有 4 个研究,所以有 4 个 $Pval 向量。我可以将第一个 Pval1 添加为: qq(data$Pval1, title="My Quantile-Quantile Plot")

如何为其余研究添加观察到的 p 值的标记线?-> Pval2、Pval3、Pval4。本质上,我想在一张图中显示 4 条观察到的 p 值线代表 4 项研究的 QQ 图。请帮忙!谢谢!

4

1 回答 1

1

您能分享一下您的数据的外观吗?我认为您正在寻找的答案是在字符串中定义group变量。aes例如,

更新转置数据集

# install.packages('ggplot2')   # only needs to be installed first time
# install.packages('reshape2')  # only needs to be installed first time

library(ggplot2)
library(reshape2)

# fakeData
# RowNum Pval1 Pval2 Pval3 Pval4
#      1   0.5   0.5   0.5   0.5
#      2   0.5   0.5   0.5   0.5
#      3   0.5   0.5   0.5   0.5
#
# melt(fakeData, id.vars = 'RowNum')
# RowNum variable value
#      1    Pval1   0.5
#      1    Pval2   0.5
#      1    Pval3   0.5

原始代码

df <- data.frame(Group = rep(c('A', 'B', 'C', 'D'), 50),
                 Number = sample(1:100, 200, replace = T))

ggplot(df, aes(sample = Number, group = Group, color = Group)) +
geom_point(stat = 'qq')

在此处输入图像描述

于 2013-11-03T18:25:42.817 回答