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)
Другие вопросы по тегам