Nothing
## ----setup, include=FALSE, warning=FALSE--------------------------------------
knitr::opts_chunk$set(echo = TRUE,
warning = FALSE,
message = FALSE,
fig.align = "center",
fig.width = 6,
fig.height = 5,
out.width = "80%",
collapse = TRUE,
comment = "#>",
tidy.opts = list(width.cutoff = 65),
tidy = FALSE)
library(knitr)
library(magrittr)
library(loon.tourr, quietly = TRUE)
library(tidyverse, quietly = TRUE)
library(MASS)
set.seed(12314159)
imageDirectory <- "./images/tours"
dataDirectory <- "./data/tours"
path_concat <- function(path1, ..., sep="/") {
# The "/" is standard unix directory separator and so will
# work on Macs and Linux.
# In windows the separator might have to be sep = "\" or
# even sep = "\\" or possibly something else.
paste(path1, ..., sep = sep)
}
## ----library loon.tourr, warning=FALSE, message=FALSE, error=FALSE------------
library(loon.tourr)
## ----data, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center"----
library(MASS, quietly = TRUE)
kable(head(crabs, 6))
## ----crabs 2D, eval = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center"----
# color <- rep("skyblue", nrow(crabs))
# color[crabs$sp == "O"] <- "orange"
# cr <- crabs[, c("FL", "RW", "CL", "CW", "BD")]
# p0 <- l_tour(cr, color = color)
## ----crabs 2D gif, echo = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center", fig.cap = "GIF 1: 2D grand tour"----
include_graphics(path_concat(imageDirectory, "crab2D.gif"))
## ----crabs 4D, eval = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center"----
# p1 <- l_tour(cr,
# tour_path = grand_tour(4L),
# color = color)
## ----crabs 4D gif, echo = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center", fig.cap = "GIF 2: 4D grand tour"----
include_graphics(path_concat(imageDirectory, "crab4D.gif"))
## ----`l_tour` class, eval = FALSE-----------------------------------------------
# class(p1) # class(p0)
# # > [1] "l_tour" "loon"
## ----`l_tour` getLoon, eval = FALSE---------------------------------------------
# w <- l_getPlots(p1)
# class(w)
# # > [1] "l_serialaxes" "loon"
## ----query matrix of projection vectors, eval = FALSE-------------------------
# round(p1["projection"], 2)
# # >
# # [,1] [,2] [,3] [,4]
# # [1,] -0.12 -0.93 -0.01 -0.35
# # [2,] -0.57 0.21 0.63 -0.36
# # [3,] -0.06 0.14 0.14 -0.38
# # [4,] -0.37 0.23 -0.76 -0.47
# # [5,] -0.72 -0.14 -0.12 0.62
## ----parallel, eval = FALSE---------------------------------------------------
# p1["axesLayout"] <- "parallel"
## ----andrews, eval = FALSE----------------------------------------------------
# p1["andrews"] <- TRUE
## ----static grid, eval = FALSE------------------------------------------------
# plot(p1)
## ----static ggplot, eval = FALSE----------------------------------------------
# loon.ggplot::loon.ggplot(p1)
## ----crabs andrews, echo = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center", fig.cap = "Figure 1: Andrews curve"----
include_graphics(path_concat(imageDirectory, "andrews.png"))
## ----gt, eval = FALSE---------------------------------------------------------
# # Default, 2D grand tour
# pg <- l_tour(cr, tour_path = grand_tour(2L))
## ----holes, eval = FALSE------------------------------------------------------
# # 2D holes projection pursuit indexes
# pp_holes <- l_tour(cr, tour_path = guided_tour(holes(), 2L))
## ----cmass, eval = FALSE------------------------------------------------------
# # 2D CM projection pursuit indexes
# pp_CM <- l_tour(cr, tour_path = guided_tour(cmass(), 2L))
## ----PCA, eval = FALSE--------------------------------------------------------
# # 2D LDA projection pursuit indexes
# pp_LDA <- l_tour(cr,
# color = crabs$sex,
# tour_path = guided_tour(lda_pp(crabs$sex), 2L))
## ----crabs facets, eval = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center"----
# pf <- l_tour(cr,
# by = crabs$sex,
# color = color)
## ----crabs facets gif, echo = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center", fig.cap = "GIF 3: facets"----
include_graphics(path_concat(imageDirectory, "facets.gif"))
## ----crabs pairs, eval = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center"----
# pp <- l_tour_pairs(cr,
# tour_path = grand_tour(4L),
# color = color,
# showSerialAxes = TRUE)
## ----crabs pairs gif, echo = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center", fig.cap = "GIF 4: pairs plot"----
include_graphics(path_concat(imageDirectory, "pairs.gif"))
## ----`l_tour_compound` class, eval = FALSE--------------------------------------
# class(pp) # or class(pf)
# # > [1] "l_tour_compound" "loon"
## ----pairs objects, eval = FALSE----------------------------------------------
# wp <- l_getPlots(pp)
# wp
# # >
# # $x2y1
# # [1] ".l0.pairs.plot"
# # attr(,"class")
# # [1] "l_plot" "loon"
# #
# # $x3y1
# # [1] ".l0.pairs.plot1"
# # attr(,"class")
# # [1] "l_plot" "loon"
# #
# # $x4y1
# # [1] ".l0.pairs.plot2"
# # attr(,"class")
# # [1] "l_plot" "loon"
# #
# # $x3y2
# # [1] ".l0.pairs.plot3"
# # attr(,"class")
# # [1] "l_plot" "loon"
# #
# # $x4y2
# # [1] ".l0.pairs.plot4"
# # attr(,"class")
# # [1] "l_plot" "loon"
# #
# # $x4y3
# # [1] ".l0.pairs.plot5"
# # attr(,"class")
# # [1] "l_plot" "loon"
# #
# # $serialAxes
# # [1] ".l0.pairs.serialaxes"
# # attr(,"class")
# # [1] "l_serialaxes" "loon"
# #
# # attr(,"class")
# # [1] "l_pairs" "l_compound" "loon"
## ----crabs hull, eval = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center"----
# # pack layer on top of `p0`
# l0 <- l_layer_hull(p0, group = crabs$sp)
## ----hull gif, echo = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center", fig.cap = "GIF 5: layer hull"----
include_graphics(path_concat(imageDirectory, "hull.gif"))
## ----crabs density2D, eval = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center"----
# # hide the hull
# l_layer_hide(l0)
# # density2D
# l1 <- l_layer_density2d(p0)
## ----density 2D gif, echo = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center", fig.cap = "GIF 5: layer density"----
include_graphics(path_concat(imageDirectory, "density2D.gif"))
## ----crabs trails, eval = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center"----
# # hide the density2D
# l_layer_hide(l1)
# # density2D
# l2 <- l_layer_trails(p0)
## ----crabs trails gif, echo = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center", fig.cap = "GIF 5: layer density"----
include_graphics(path_concat(imageDirectory, "trails.gif"))
## ----non-interactive layer, eval = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center"----
# allx <- unlist(pf['x'])
# ally <- unlist(pf['y'])
# layers <- lapply(l_getPlots(pf),
# function(p) {
# l <- loon::l_layer_points(p,
# x = allx,
# y = ally,
# color = "grey80",
# label = "background")
# # set the layer as the background
# loon::l_layer_lower(p, l)
# })
## ----non-interactive layer gif, echo = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center", fig.cap = "Figure 2: non-interactive layer"----
include_graphics(path_concat(imageDirectory, "tour_layer_non_interactive.PNG"))
## ----interactive layer, eval = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center"----
# l_layer_callback.background <- function(target, layer, ...) {
#
# widget <- l_getPlots(target)
# layer <- loon::l_create_handle(c(widget, layer))
#
# args <- list(...)
# # the overall tour paths
# allTours <- args$allTours
# # the scale bar variable
# var <- args$var
# # the current projection (bind both facets)
# proj <- do.call(rbind, allTours[[var]])
#
# loon::l_configure(layer,
# x = proj[, 1],
# y = proj[, 2])
# }
## ----interactive layer gif, echo = FALSE, warning=FALSE, message=FALSE, error=FALSE, fig.width=4, fig.height=3, fig.align="center", fig.cap = "GIF 7: interactive layer"----
include_graphics(path_concat(imageDirectory, "tour_layer_interactive.gif"))
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.