From f83287becd2dbfdfb05021a015bdefe446426ffa Mon Sep 17 00:00:00 2001 From: hrbrmstr Date: Sat, 12 Sep 2015 12:55:22 -0400 Subject: [PATCH] stat_ash --- DESCRIPTION | 2 +- NAMESPACE | 3 + R/geom_ash.r | 96 ++++++++++++++++++++++++++++++ R/ggalt-package.r | 2 +- README.Rmd | 15 ++++- README.md | 25 +++++++- README_figs/README-unnamed-chunk-4-18.png | Bin 0 -> 90394 bytes man/stat_ash.Rd | 88 +++++++++++++++++++++++++++ 8 files changed, 225 insertions(+), 6 deletions(-) create mode 100644 R/geom_ash.r create mode 100644 README_figs/README-unnamed-chunk-4-18.png create mode 100644 man/stat_ash.Rd diff --git a/DESCRIPTION b/DESCRIPTION index faf05ae..2c305b0 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -9,4 +9,4 @@ License: AGPL + file LICENSE LazyData: true Suggests: testthat Encoding: UTF-8 -Imports: graphics, grDevices, dplyr, KernSmooth, proj4, scales, grid, gtable +Imports: graphics, grDevices, dplyr, KernSmooth, proj4, scales, grid, gtable, ash diff --git a/NAMESPACE b/NAMESPACE index a9decd3..5c92d5c 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -9,6 +9,7 @@ export(CoordProj) export(GeomBkde) export(GeomBkde2d) export(GeomXspline) +export(StatAsh) export(StatBkde) export(StatBkde2d) export(StatXspline) @@ -16,10 +17,12 @@ export(coord_proj) export(geom_bkde) export(geom_bkde2d) export(geom_xspline) +export(stat_ash) export(stat_bkde) export(stat_bkde2d) export(stat_xspline) import(KernSmooth) +import(ash) import(dplyr) import(ggplot2) import(grDevices) diff --git a/R/geom_ash.r b/R/geom_ash.r new file mode 100644 index 0000000..d5288ff --- /dev/null +++ b/R/geom_ash.r @@ -0,0 +1,96 @@ +#' Compute and display a univariate averaged shifted histogram (polynomial kernel) +#' +#' See \code{\link[ash]{bin1}} & \code{\link[ash]{ash1}} for more information. +#' +#' @inheritParams ggplot2::geom_area +#' @param geom Use to override the default Geom +#' @param ab half-open interval for bins \emph{[a,b)}. If no value is specified, +#' the range of x is stretched by \code{5\%} at each end and used the +#' interval. +#' @param nbin number of bins desired. Default \code{50}. +#' @param m integer smoothing parameter; Default \code{5}. +#' @param kopt vector of length 2 specifying the kernel, which is proportional +#' to \emph{( 1 - abs(i/m)^kopt(1) )i^kopt(2)}; (2,2)=biweight (default); +#' (0,0)=uniform; (1,0)=triangle; (2,1)=Epanechnikov; (2,3)=triweight. +#' @references David Scott (1992), \emph{"Multivariate Density Estimation,"} +#' John Wiley, (chapter 5 in particular).\cr +#' \cr +#' B. W. Silverman (1986), \emph{"Density Estimation for Statistics +#' and Data Analysis,"} Chapman & Hall. +#' @section Aesthetics: +#' \code{geom_ash} understands the following aesthetics (required aesthetics +#' are in bold): +#' \itemize{ +#' \item \strong{\code{x}} +#' \item \code{alpha} +#' \item \code{color} +#' \item \code{fill} +#' \item \code{linetype} +#' \item \code{size} +#' } +#' @section Computed variables: +#' \describe{ +#' \item{\code{estimate}}{ash estimates} +#' } +#' @export +stat_ash <- function(mapping = NULL, data = NULL, geom = "area", + position = "stack", + ab = NULL, nbin = 50, m = 5, kopt = c(2, 2), + show.legend = NA, inherit.aes = TRUE, ...) { + + layer( + data = data, + mapping = mapping, + stat = StatAsh, + geom = geom, + position = position, + show.legend = show.legend, + inherit.aes = inherit.aes, + params = list( + ab = ab, + nbin = nbin, + m = m, + kopt = kopt, + ... + ) + ) + +} + +#' @export +StatAsh <- ggproto("StatAsh", Stat, + + required_aes = c("x"), + + default_aes = aes(y = ..estimate.., colour = NA, fill = "gray20", size = 0.5, + linetype = 1, alpha = NA), + + + setup_params = function(data, params) { + if (!is.null(data$y) || !is.null(params$y)) { + stop("stat_ash() must not be used with a y aesthetic.", call. = FALSE) + } + params + }, + + compute_group = function(data, scales, ab = NULL, + nbin = 50, m = 5, kopt = c(2, 2)) { + + if (is.null(ab)) ab <- nicerange(data$x) + + bin_res <- ash::bin1(data$x, ab, nbin) + ash_msg <- capture.output(ash_res <- ash1(bin_res)) + + if (ash_res$ier == 1) message("Estimate nonzero outside interval ab.") + + data.frame(x=ash_res$x, estimate=ash_res$y) + + } + +) + +nicerange <- function (x, beta = 0.1) { + ab <- range(x) + del <- ((ab[2] - ab[1]) * beta)/2 + return(c(ab + c(-del, del))) +} diff --git a/R/ggalt-package.r b/R/ggalt-package.r index 10905db..b1b817b 100644 --- a/R/ggalt-package.r +++ b/R/ggalt-package.r @@ -6,7 +6,7 @@ #' @name ggalt #' @docType package #' @author Bob Rudis (@@hrbrmstr) -#' @import ggplot2 graphics grDevices dplyr KernSmooth proj4 +#' @import ggplot2 graphics grDevices dplyr KernSmooth proj4 ash #' @importFrom scales rescale expand_range #' @importFrom grid grobName grobTree unit.c grobHeight grobWidth viewport #' grid.draw grobX grobY gTree gList diff --git a/README.Rmd b/README.Rmd index a127f98..3e20159 100644 --- a/README.Rmd +++ b/README.Rmd @@ -34,9 +34,11 @@ The following functions are implemented: - `stat_bkde` : Display a smooth density estimate (uses `KernSmooth::bkde`) - `geom_bkde2d` : Contours from a 2d density estimate. (uses `KernSmooth::bkde2D`) - `stat_bkde2d` : Contours from a 2d density estimate. (uses `KernSmooth::bkde2D`) +- `stat_ash` : Compute and display a univariate averaged shifted histogram (polynomial kernel) (uses `ash::ash1`/`ash::bin1`) ### News +- Version 0.0.4.9000 released - `stat_ash` - Version 0.0.3.9000 released - `coord_proj`! (requires my github copy of ggplot2 for now) - Version 0.0.2.9005 released - cleanup before blog post - Version 0.0.2.9002 released - working 2D density plots @@ -57,6 +59,8 @@ options(width=120) ### Usage ```{r} +library(ggplot2) +library(gridExtra) library(ggalt) # current verison @@ -144,7 +148,7 @@ ggplot(geyser_dat, aes(x, y)) + geom_point() + stat_bkde2d(bandwidth=c(0.7, 7)) -### coord_proj LIVES! (still needs work) +# coord_proj LIVES! (still needs work) world <- map_data("world") world <- world[world$region != "Antarctica",] @@ -155,6 +159,15 @@ gg <- gg + geom_map(data=world, map=world, gg <- gg + coord_proj("+proj=wintri") gg +# stat_ash + compare density plots + +set.seed(1492) +dat <- data.frame(x=rnorm(100)) +grid.arrange(ggplot(dat, aes(x)) + stat_ash(), + ggplot(dat, aes(x)) + stat_bkde(), + ggplot(dat, aes(x)) + stat_density(), + nrow=3) + ``` ### Test Results diff --git a/README.md b/README.md index a34a6de..70daea8 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,11 @@ The following functions are implemented: - `stat_bkde` : Display a smooth density estimate (uses `KernSmooth::bkde`) - `geom_bkde2d` : Contours from a 2d density estimate. (uses `KernSmooth::bkde2D`) - `stat_bkde2d` : Contours from a 2d density estimate. (uses `KernSmooth::bkde2D`) +- `stat_ash` : Compute and display a univariate averaged shifted histogram (polynomial kernel) (uses `ash::ash1`/`ash::bin1`) ### News +- Version 0.0.4.9000 released - `stat_ash` - Version 0.0.3.9000 released - `coord_proj`! (requires my github copy of ggplot2 for now) - Version 0.0.2.9005 released - cleanup before blog post - Version 0.0.2.9002 released - working 2D density plots @@ -37,8 +39,9 @@ devtools::install_github("hrbrmstr/ggalt") ### Usage ``` r +library(ggplot2) +library(gridExtra) library(ggalt) -#> Loading required package: ggplot2 # current verison packageVersion("ggalt") @@ -212,7 +215,7 @@ ggplot(geyser_dat, aes(x, y)) + ``` r -### coord_proj LIVES! (still needs work) +# coord_proj LIVES! (still needs work) world <- map_data("world") world <- world[world$region != "Antarctica",] @@ -226,6 +229,22 @@ gg +``` r + +# stat_ash + compare density plots + +set.seed(1492) +dat <- data.frame(x=rnorm(100)) +grid.arrange(ggplot(dat, aes(x)) + stat_ash(), + ggplot(dat, aes(x)) + stat_bkde(), + ggplot(dat, aes(x)) + stat_density(), + nrow=3) +#> Estimate nonzero outside interval ab. +#> Bandwidth not specified. Using '0.43', via KernSmooth::dpik. +``` + + + ### Test Results ``` r @@ -233,7 +252,7 @@ library(ggalt) library(testthat) date() -#> [1] "Fri Sep 11 18:14:16 2015" +#> [1] "Sat Sep 12 12:55:07 2015" test_dir("tests/") #> testthat results ======================================================================================================== diff --git a/README_figs/README-unnamed-chunk-4-18.png b/README_figs/README-unnamed-chunk-4-18.png new file mode 100644 index 0000000000000000000000000000000000000000..3f0351b948b8a851d5b778a8e2ccbba38d541116 GIT binary patch literal 90394 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 literal 0 HcmV?d00001 diff --git a/man/stat_ash.Rd b/man/stat_ash.Rd new file mode 100644 index 0000000..d653f61 --- /dev/null +++ b/man/stat_ash.Rd @@ -0,0 +1,88 @@ +% Generated by roxygen2 (4.1.1): do not edit by hand +% Please edit documentation in R/geom_ash.r +\name{stat_ash} +\alias{stat_ash} +\title{Compute and display a univariate averaged shifted histogram (polynomial kernel)} +\usage{ +stat_ash(mapping = NULL, data = NULL, geom = "area", position = "stack", + ab = NULL, nbin = 50, m = 5, kopt = c(2, 2), show.legend = NA, + inherit.aes = TRUE, ...) +} +\arguments{ +\item{mapping}{Set of aesthetic mappings created by \code{\link{aes}} or +\code{\link{aes_}}. If specified and \code{inherit.aes = TRUE} (the +default), is combined with the default mapping at the top level of the +plot. You only need to supply \code{mapping} if there isn't a mapping +defined for the plot.} + +\item{data}{A data frame. If specified, overrides the default data frame +defined at the top level of the plot.} + +\item{geom}{Use to override the default Geom} + +\item{position}{Position adjustment, either as a string, or the result of +a call to a position adjustment function.} + +\item{ab}{half-open interval for bins \emph{[a,b)}. If no value is specified, +the range of x is stretched by \code{5\%} at each end and used the +interval.} + +\item{nbin}{number of bins desired. Default \code{50}.} + +\item{m}{integer smoothing parameter; Default \code{5}.} + +\item{kopt}{vector of length 2 specifying the kernel, which is proportional +to \emph{( 1 - abs(i/m)^kopt(1) )i^kopt(2)}; (2,2)=biweight (default); + (0,0)=uniform; (1,0)=triangle; (2,1)=Epanechnikov; (2,3)=triweight.} + +\item{show.legend}{logical. Should this layer be included in the legends? +\code{NA}, the default, includes if any aesthetics are mapped. +\code{FALSE} never includes, and \code{TRUE} always includes.} + +\item{inherit.aes}{If \code{FALSE}, overrides the default aesthetics, +rather than combining with them. This is most useful for helper functions +that define both data and aesthetics and shouldn't inherit behaviour from +the default plot specification, e.g. \code{\link{borders}}.} + +\item{...}{other arguments passed on to \code{\link{layer}}. There are + three types of arguments you can use here: + + \itemize{ + \item Aesthetics: to set an aesthetic to a fixed value, like + \code{color = "red"} or \code{size = 3}. + \item Other arguments to the layer, for example you override the + default \code{stat} associated with the layer. + \item Other arguments passed on to the stat. + }} +} +\description{ +See \code{\link[ash]{bin1}} & \code{\link[ash]{ash1}} for more information. +} +\section{Aesthetics}{ + +\code{geom_ash} understands the following aesthetics (required aesthetics +are in bold): +\itemize{ + \item \strong{\code{x}} + \item \code{alpha} + \item \code{color} + \item \code{fill} + \item \code{linetype} + \item \code{size} +} +} + +\section{Computed variables}{ + +\describe{ + \item{\code{estimate}}{ash estimates} +} +} +\references{ +David Scott (1992), \emph{"Multivariate Density Estimation,"} + John Wiley, (chapter 5 in particular).\cr + \cr + B. W. Silverman (1986), \emph{"Density Estimation for Statistics + and Data Analysis,"} Chapman & Hall. +} +