#r #plot #statistics
Вопрос:
Я пытаюсь объединить два разных графика qq в один график, чтобы было легче сравнивать. Я использовал эту grid.arrange
функцию ранее для других более простых графиков, но я получаю ошибку с графиками qq. Я бы хотел, чтобы оба графика были рядом.
Это мой код, если это поможет:
qqplotAmericas lt;- qqplot(AmericasLifeExp$lifeExp,AmericasLifeExp$year, xlab = "Life expectancy", ylab = "Year", main = "Q-Q Plot Americas")
qqplotEurope lt;- qqplot(EuropeLifeExp$lifeExp,EuropeLifeExp$year, xlab = "Life expectancy", ylab = "Year", main = "Q-Q Plot Europe")
Эти графики означали бы, что данные не имеют нормального распределения, поскольку график qq не соответствует нормальному распределению. Если кто-нибудь знает, как правильно использовать qqline
функцию для моих двух графиков, не могли бы вы поделиться некоторой информацией о том, как это будет сделано.
Спасибо!
Ответ №1:
grid.arrange()
работает для графиков, использующих сеточную графику, например, графики, созданные lattice
ggplot2
пакетами или.
qqplot()
использует базовую графику, поэтому вам нужно использовать par(mfrow(...))
(или par(mfcol(...))
или layout()
) для настройки расположения сюжета. Вы не привели воспроизводимого примера, но вот один из них …
Если вы хотите создать графики Q-Q в сеточно-графической структуре, вы можете попробовать ?lattice::qqmath
(см. Примеры для примера того, как добавить опорную линию Q-Q) или ?ggplot2::geom_qq()
(и см. также geom_qq_line()
).
par(mfrow=c(1,2)) ## one row, two columns qqplot(qnorm(ppoints(50)),USArrests[,"Murder"]) qqline(USArrests[,"Murder"]) qqplot(qnorm(ppoints(50)),USArrests[,"Assault"]) qqline(USArrests[,"Assault"])