能够查看您的数据很有帮助。如果有多个变量,则可以使用例如pairs()
形成散点图矩阵。散点图矩阵为您提供了一组数据的二维边缘投影。
set.seed(8092)
X <- matrix(rnorm(80), ncol=4)
pairs(X)
您还可以拥有不同群组的数据,并希望比较他们的分布。可以将两个这样的分布与qq图进行比较。
set.seed(4415)
group1 <- rnorm(20)
group2 <- rnorm(20)
qqplot(group1, group2)
abline(c(0,1))
当你有几个小组时,如果有一个显示qq-plot矩阵的成对类型的图表会很方便。
colnames(X) <- c("group1", "group2", "group3", "group4")
qq.pairs(X)
有这样的功能吗?有没有直接的方法从头开始编码?
答案 0 :(得分:4)
您可以通过*panel
args添加您喜欢的任何功能。例如:
set.seed(8092)
X <- matrix(rnorm(80), ncol=4)
panel.qq <- function(x, y, ...) {
usr <- par("usr"); on.exit(par(usr))
par(usr = c(0, 1, 0, 1), new = TRUE)
qqplot(x, y, xlab = deparse(substitute(x)), ylab = deparse(substitute(y)))
abline(c(0,1), ...)
}
pairs(X, lower.panel = panel.qq)
当然,您可以使用panel=panel.qq
制作所有正方形qq图
答案 1 :(得分:2)
我只是将qqplot
放在面板函数中出现错误,它显示@rawr使用&#39; new = TRUE&#39;解决。我的方法是提取x和y值并使用points
:
panel.qq <- function(x,y, ...)
{ usr <- par("usr"); on.exit(par(usr))
par(usr = c(usr[1:2], -2,2) )
QQ <- qqplot(x,y, plot.it = FALSE)
x <- QQ$x;
y <- QQ$y;
points(x, y, col = "cyan", ...)
abline(0,1)
}
set.seed(8092)
X <- matrix(rnorm(80), ncol=4)
pairs(X, upper.panel=panel.qq)