|
|
|
---
|
|
|
|
output:
|
|
|
|
md_document:
|
|
|
|
variant: markdown_github
|
|
|
|
---
|
|
|
|
|
|
|
|
<!-- README.md is generated from README.Rmd. Please edit that file -->
|
|
|
|
|
|
|
|
```{r, echo = FALSE}
|
|
|
|
knitr::opts_chunk$set(
|
|
|
|
collapse = TRUE,
|
|
|
|
comment = "#>",
|
|
|
|
fig.retina = 2,
|
|
|
|
fig.path = "README_figs/README-"
|
|
|
|
)
|
|
|
|
```
|
|
|
|
|
|
|
|
`ggalt` : Extra Geoms, Stats and Coords for `ggplot2`
|
|
|
|
|
|
|
|
A package containing additional geoms, coords and stats for the revamped (late 2015) version
|
|
|
|
of ggplot2.
|
|
|
|
|
|
|
|
The first two forays into this brave, new `ggplot2` world are _splines_! and being able to
|
|
|
|
use the (much better) `KernSmooth::bkde` for density plots. Support for `KernSmooth::bkde2D` is
|
|
|
|
a WIP.
|
|
|
|
|
|
|
|
*NOTE*
|
|
|
|
|
|
|
|
Until the new `ggplot2` version is on CRAN, you'll need to install it from github (see below).
|
|
|
|
|
|
|
|
The following functions are implemented:
|
|
|
|
|
|
|
|
- `geom_xspline` : Connect control points/observations with an X-spline
|
|
|
|
- `stat_xspline` : Connect control points/observations with an X-spline
|
|
|
|
- `geom_bkde` : Display a smooth density estimate (uses `KernSmooth::bkde`)
|
|
|
|
- `stat_bkde` : Display a smooth density estimate (uses `KernSmooth::bkde`)
|
|
|
|
- `geom_bkde2d` : Contours from a 2d density estimate. (uses `KernSmooth::bkde2D`) **WIP**
|
|
|
|
- `stat_bkde2d` : Contours from a 2d density estimate. (uses `KernSmooth::bkde2D`) **WIP**
|
|
|
|
|
|
|
|
### News
|
|
|
|
|
|
|
|
- Version 0.0.2.9000 released
|
|
|
|
|
|
|
|
### Installation
|
|
|
|
|
|
|
|
```{r eval=FALSE}
|
|
|
|
# you'll want to see the vignettes, trust me
|
|
|
|
devtools::install_github("hadley/ggplot2", build_vignettes=TRUE)
|
|
|
|
devtools::install_github("hrbrmstr/ggalt")
|
|
|
|
```
|
|
|
|
|
|
|
|
```{r echo=FALSE, message=FALSE, warning=FALSE, error=FALSE}
|
|
|
|
options(width=120)
|
|
|
|
```
|
|
|
|
|
|
|
|
### Usage
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
library(ggalt)
|
|
|
|
|
|
|
|
# current verison
|
|
|
|
packageVersion("ggalt")
|
|
|
|
|
|
|
|
set.seed(1492)
|
|
|
|
dat <- data.frame(x=c(1:10, 1:10, 1:10),
|
|
|
|
y=c(sample(15:30, 10), 2*sample(15:30, 10), 3*sample(15:30, 10)),
|
|
|
|
group=factor(c(rep(1, 10), rep(2, 10), rep(3, 10)))
|
|
|
|
)
|
|
|
|
|
|
|
|
ggplot(dat, aes(x, y, group=group, color=group)) +
|
|
|
|
geom_point() +
|
|
|
|
geom_line()
|
|
|
|
|
|
|
|
ggplot(dat, aes(x, y, group=group, color=factor(group))) +
|
|
|
|
geom_point() +
|
|
|
|
geom_line() +
|
|
|
|
geom_smooth(se=FALSE, linetype="dashed", size=0.5)
|
|
|
|
|
|
|
|
ggplot(dat, aes(x, y, group=group, color=factor(group))) +
|
|
|
|
geom_point(color="black") +
|
|
|
|
geom_smooth(se=FALSE, linetype="dashed", size=0.5) +
|
|
|
|
geom_xspline(size=0.5)
|
|
|
|
|
|
|
|
ggplot(dat, aes(x, y, group=group, color=factor(group))) +
|
|
|
|
geom_point(color="black") +
|
|
|
|
geom_smooth(se=FALSE, linetype="dashed", size=0.5) +
|
|
|
|
geom_xspline(spline_shape=-0.4, size=0.5)
|
|
|
|
|
|
|
|
ggplot(dat, aes(x, y, group=group, color=factor(group))) +
|
|
|
|
geom_point(color="black") +
|
|
|
|
geom_smooth(se=FALSE, linetype="dashed", size=0.5) +
|
|
|
|
geom_xspline(spline_shape=0.4, size=0.5)
|
|
|
|
|
|
|
|
ggplot(dat, aes(x, y, group=group, color=factor(group))) +
|
|
|
|
geom_point(color="black") +
|
|
|
|
geom_smooth(se=FALSE, linetype="dashed", size=0.5) +
|
|
|
|
geom_xspline(spline_shape=1, size=0.5)
|
|
|
|
|
|
|
|
ggplot(dat, aes(x, y, group=group, color=factor(group))) +
|
|
|
|
geom_point(color="black") +
|
|
|
|
geom_smooth(se=FALSE, linetype="dashed", size=0.5) +
|
|
|
|
geom_xspline(spline_shape=0, size=0.5)
|
|
|
|
|
|
|
|
ggplot(dat, aes(x, y, group=group, color=factor(group))) +
|
|
|
|
geom_point(color="black") +
|
|
|
|
geom_smooth(se=FALSE, linetype="dashed", size=0.5) +
|
|
|
|
geom_xspline(spline_shape=-1, size=0.5)
|
|
|
|
|
|
|
|
# Better density plots
|
|
|
|
|
|
|
|
data(geyser, package="MASS")
|
|
|
|
|
|
|
|
ggplot(geyser, aes(x=duration)) +
|
|
|
|
stat_bkde(bandwidth=0.25)
|
|
|
|
|
|
|
|
ggplot(geyser, aes(x=duration)) +
|
|
|
|
geom_bkde(bandwidth=0.25)
|
|
|
|
|
|
|
|
# 2D KernSmooth::bkde2D plots are a WIP
|
|
|
|
|
|
|
|
geyser_dat <- data.frame(x=geyser$duration, y=geyser$waiting)
|
|
|
|
|
|
|
|
ggplot(geyser_dat, aes(x, y)) +
|
|
|
|
geom_point() +
|
|
|
|
geom_bkde2d(bandwidth=c(0.7, 7)) +
|
|
|
|
xlim(0, 6) + ylim(35, 120)
|
|
|
|
|
|
|
|
ggplot(geyser_dat, aes(x, y)) +
|
|
|
|
geom_point() +
|
|
|
|
stat_bkde2d(bandwidth=c(0.7, 7)) +
|
|
|
|
xlim(0, 6) + ylim(35, 120)
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
### Test Results
|
|
|
|
|
|
|
|
```{r}
|
|
|
|
library(ggalt)
|
|
|
|
library(testthat)
|
|
|
|
|
|
|
|
date()
|
|
|
|
|
|
|
|
test_dir("tests/")
|
|
|
|
```
|
|
|
|
|
|
|
|
### Code of Conduct
|
|
|
|
|
|
|
|
Please note that this project is released with a [Contributor Code of Conduct](CONDUCT.md).
|
|
|
|
By participating in this project you agree to abide by its terms.
|