qqPlot в сетке
Я хотел бы иметь несколько графиков, расположенных в виде сетки, и один из этих графиков - это qq-график, использующий пакетную машину. Следующие
library(car)
library(ggplot2)
library(gridExtra)
n <- 100
df <- data.frame( x=rnorm(n) )
df <- transform(df, y=3*x-1)
p <- ggplot(data=df,aes(x=x,y=y)) + geom_point()
q <- qqPlot(df$x)
grid.arrange(p,q,ncol=2)
выдает ошибку, поскольку qqPlot() всегда строит график и возвращает NULL.
1 ответ
Основываясь на ответах на вопрос " Объединить базовую графику и графику ggplot" в окне "R figure", я смог найти решение
library(ggplot2)
library(grid)
n <- 100
df <- data.frame( x=rnorm(n) )
df <- transform(df, y=3*x-1)
par(mfrow=c(1,2))
p <- ggplot(data=df,aes(x=x,y=y)) + geom_point()
qqPlot(df$x)
vp.right <- viewport(height=unit(.5,"npc"), width=unit(0.5,"npc"),
y=0.5, x=0.7)
print(p, vp=vp.right)