我想绘制一张与此图相似的QQ图:
我设法使用两个样本获得QQ图,但我不知道如何在图中添加第三个。 这是我的结果:
以下是我使用的代码:
qqplot(table$Bedouin, table$Tunisia, xlim = c(-0.25,0.25), ylim = c(-025,0.25))
在我的表格数据框中,我想添加其他人群。但我不能。
提前谢谢。
答案 0 :(得分:8)
我想你正在寻找一个排序值的散点图,因为所有变量都存储在同一个数据框中。
示例数据集:
set.seed(10)
dat <- data.frame(A = rnorm(20), B = rnorm(20), C = rnorm(20))
这是一种使用基本R函数创建绘图的方法:
# create a QQ-plot of B as a function of A
qqplot(dat$A, dat$B, xlim = range(dat), ylim = range(dat),
xlab = "A", ylab = "B/C")
# create a diagonal line
abline(a = 0, b = 1)
# add the points of C
points(sort(dat$A), sort(dat$C), col = "red")
# create a legend
legend("bottomright", legend = c("B", "C"), pch = 1, col = c("black", "red"))
答案 1 :(得分:0)
您可以添加行
par(new=TRUE)
然后再次使用qqplot()过度绘制第一个图,如下所示:
set.seed(10)
dat <- data.frame(A = rnorm(20), B = rnorm(20), C = rnorm(20))
# create a QQ-plot of B as a function of A
qqplot(dat$A, dat$B,
xlim = range(dat), ylim = range(dat),
xlab = "Distribution A", ylab = "Other distributions")
# set overplotting
par(new=TRUE)
# create a QQ-plot of B as a function of C
qqplot(dat$A, dat$C,
xlim = range(dat), ylim = range(dat),
xlab = "Distribution A",
ylab = "Other distributions",
col = "red")
# create a diagonal line
abline(a = 0, b = 1)
# create a legend
legend("bottomright", legend = c("B", "C"), pch = 1, col = c("black", "red"))