diff --git a/DESCRIPTION b/DESCRIPTION
new file mode 100644
index 0000000..9e15f6e
--- /dev/null
+++ b/DESCRIPTION
@@ -0,0 +1,24 @@
+Title: Data Visualization
+ShortName: Data Visualization
+Date: 2023-07-25
+Lifecycle: experimental
+Authors@R: c(
+ person(given = "Neil", family = "Hatfield", email = "neil.hatfield@psu.edu", role = c("aut", "cre")),
+ person(given = "Anna (Yinqi)", family = "Zhang", role = c("aut")),
+ person(given = "Yiyun", family = "Gong", role = c("aut")),
+ person(given = "Ethan", family = "Wright", role = c("ctb")),
+ person(given = "Yijun", family = "Yao", role = c("ctb")),
+ person(given = "Aisiri", family = "Cherrimane", role = ("ctb"))
+ )
+Chapter: Chapter 11
+Description: The goal of the app is to provide users with a comprehensive introduction to data visualization, covering both basic and advanced techniques using ggplot, Rplot, and other tools.
+LearningObjectives: c(
+ "The student will learn to understand how to create simple data visualization plots using ggplot and Rplot.",
+ "The student will learn to understand how to create advanced data visualization using 3D plots, line plots, contour plots, and heat maps."
+ )
+DisplayMode: Normal
+URL: https://psu-eberly.shinyapps.io/Data_Visualization
+BugReports: https://github.com/EducationShinyAppTeam/Data_Visualization/issues
+License: CC-BY-NC-SA-4.0
+Tags: simulation
+Type: Shiny
diff --git a/README.md b/README.md
deleted file mode 100644
index dea7fd5..0000000
--- a/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Data Visualization App
-
-[](https://creativecommons.org/licenses/by-nc-sa/4.0/)  
-
-
-
-APP_DESCRIPTION
diff --git a/aceText.R b/aceText.R
new file mode 100644
index 0000000..49a768e
--- /dev/null
+++ b/aceText.R
@@ -0,0 +1,26 @@
+initialAceText <- 'This is some markdown text. It may also have embedded R code which will be executed. Please also read the output message for more hints.
+
+You can add a new code chuck with following two lines
+```{r}
+```
+```{r}
+#structure on datasets we used in previous cases
+str(cars)
+str(trees)
+str(iris)
+```
+It can even include graphical elements.
+```{r}
+#ggplot with one variable
+#ggplot(aes(x=dist), data=cars)+geom_histogram()
+```
+```{r}
+#ggplot with two variable
+#ggplot(aes(x=Sepal.Length, y=Petal.Length), data=iris)+
+#geom_line()
+```
+```{r}
+#Rplot with one variable
+plot(cars$speed)
+```
+'
\ No newline at end of file
diff --git a/app.R b/app.R
new file mode 100644
index 0000000..cbba296
--- /dev/null
+++ b/app.R
@@ -0,0 +1,2418 @@
+# Load Packages ----
+
+library(shiny)
+library(shinydashboard)
+library(shinyBS)
+library(shinyjs)
+library(shinyWidgets)
+library(plotly)
+library(ggplot2)
+library(shinyAce)
+library(shinycssloaders)
+library(sf)
+library(lwgeom)
+library(plotly)
+library(boastUtils)
+library(DT)
+library(dplyr)
+library(mosaic)
+library(plot3D)
+library(datasets)
+library(learnr)
+library(knitr)
+library(rmarkdown)
+library(tibble)
+
+source("helpers.R")
+source("aceText.R")
+bank <- read.csv("questionbank.csv")
+bank <- data.frame(
+ lapply(bank, as.character),
+ stringsAsFactors = FALSE)
+
+# Define UI for App ----
+ui <- list(
+ dashboardPage(
+ skin = "green",
+ header = dashboardHeader(
+ title = 'Data Visualization',
+ tags$li(
+ class = "dropdown", actionLink("info", icon("info"), class = "myClass")
+ ),
+ tags$li(
+ class = "dropdown",
+ boastUtils::surveyLink(name = "Data_Visualization")
+ ),
+ tags$li(
+ class = "dropdown",
+ tags$a(href = "https://shinyapps.science.psu.edu/", icon("home"))
+ )
+ ),
+
+ dashboardSidebar(
+ width = 250,
+ sidebarMenu(
+ id = 'pages',
+ menuItem('Overview', tabName = 'overview', icon = icon("tachometer-alt")),
+ menuItem('Prerequisites', tabName = 'prerequisite', icon = icon("book")),
+ menuItem('Simple Visualization', tabName = 'VisualOne',
+ icon = icon('wpexplorer')),
+ menuItem('Advanced Visualization', tabName = 'exp4',
+ icon = icon('wpexplorer')),
+ menuItem('References', tabName = "References", icon = icon("leanpub"))
+ ),
+ tags$div(class = "sidebar-logo",
+ boastUtils::sidebarFooter())
+ ),
+ ### Create the body ----
+ dashboardBody(
+ tags$head(
+ tags$link(
+ rel = "stylesheet", type = "text/css",
+ href = "https://educationshinyappteam.github.io/Style_Guide/theme/boast.css")
+ ),
+ useShinyjs(),
+ tabItems(
+ #### Overview Page ----
+ tabItem(
+ tabName = 'overview',
+ h1('Data Visualization'),
+ p('This app illustrates R code for data visualization.'),
+ br(),
+ h2('Instructions'),
+ tags$ol(
+ tags$li("Familiarize yourself with data visualization and the different types
+ of plots by reviewing the prerequisites page."),
+ tags$li("Engage in practical exercises involving simple data visualization, where
+ you will manipulate different datasets using various plot types. This section introduces
+ the creation of commonly used plots using ggplot and Rplot, concluding with exercise questions."),
+ tags$li("In the Advanced Data Visualization section, you will gain knowledge about coding features of 3D plots,
+ line plots, contour plots, and heat maps.")
+ ),
+ br(),
+ div(
+ style = 'text-align: center',
+ bsButton(
+ inputId = 'go2p',
+ label = 'Go to Prerequisite page',
+ icon = icon('bolt'),
+ size = 'large',
+ class='circle grow')
+ ),
+ ##### Create two lines of space
+ br(),
+ br(),
+ h2('Acknowledgements'),
+ p(
+ 'This application was coded and developed by Anna (Yinqi) Zhang in 2018
+ and Yiyun Gong in 2019.
+ It was updated for formatting by Ethan Wright 2020
+ and Yijun Yao in 2022.
+ This app was updated in 2023 by Aisiri C.Narendra'
+ ),
+ br(),
+ p(
+ 'Cite this app as:
+Zhang, A., Gong, Y., Wright, E., Yao, Y., Pearl, D. K., Hatfield, N. J., and Cherrimane, A.N. (2023).
+Data Visualization. [R Shiny app].
+Available https://psu-eberly.shinyapps.io/Data_Visualization
+'),
+ div(
+ class = "updated", "Last Update: 7/18/2023 by ACN.")),
+
+ #### Prerequisites Page ----
+ tabItem(
+ tabName = "prerequisite",
+ withMathJax(),
+ h2("Introduction to Data Visualization"),
+ p("Data visualization is the graphical representation of data to gain insights and communicate information
+ effectively. It involves creating visual representations, such as charts, graphs, and maps, to explore
+ patterns, trends, and relationships in data. Data visualization aids in understanding complex datasets,
+ identifying outliers, and presenting findings to a broader audience."),
+ p("Some commonly used libraries for data visualization in R include ggplot and Rplot."),
+ p("Access the",
+ a(href = 'https://rstudio.github.io/cheatsheets/html/data-visualization.html?_gl=1*hpq94h*
+ _ga*MTE1NTY3OTU3MS4xNjg5Njc2MDcx*_ga_2C0WZ1JHG0*MTY4OTY3NjA3MS4xLjAuMTY4OTY3NjA3MS4wLjAuMA',
+ 'Data Visualization cheatsheet', target="_blank"),
+ "for more information on data visualization with ggplot2."),
+
+
+ h2("Examples of plots"),
+ tags$ul(
+ box(
+ title = strong("Density Plot"),
+ status = "primary",
+ collapsible = TRUE,
+ collapsed = TRUE,
+ width = "100%",
+ p("Shows the distribution of a continuous variable by estimating its probability density function.")),
+
+ box(
+ title = strong("Histogram Plot"),
+ status = "primary",
+ collapsible = TRUE,
+ collapsed = TRUE,
+ width = "100%",
+ p("Displays the distribution of a continuous variable by dividing the data into bins and showing the
+ frequency or density of observations in each bin.")),
+
+ box(
+ title = strong("Bar Plot"),
+ status = "primary",
+ collapsible = TRUE,
+ collapsed = TRUE,
+ width = "100%",
+ p("Represents categorical data using rectangular bars, where the height or length of each bar corresponds
+ to the frequency or value of the category.")),
+
+ box(
+ title = strong("Normal Q-Q Plot"),
+ status = "primary",
+ collapsible = TRUE,
+ collapsed = TRUE,
+ width = "100%",
+ p("Compares the quantiles of a sample to the quantiles of a specified theoretical distribution
+ (usually the normal distribution) to assess if the sample follows a particular distribution.")),
+ box(
+ title = strong("Scatter Plot"),
+ status = "primary",
+ collapsible = TRUE,
+ collapsed = TRUE,
+ width = "100%",
+ p("Displays the relationship between two continuous variables by plotting individual data points as dots
+ on a two-dimensional coordinate system.")),
+ box(
+ title = strong("Log transformation Plot"),
+ status = "primary",
+ collapsible = TRUE,
+ collapsed = TRUE,
+ width = "100%",
+ p("Applies a logarithmic transformation to one or both axes of a plot, which can help visualize
+ data with exponential or highly skewed distributions.")),
+ box(
+ title = strong("Box Plot"),
+ status = "primary",
+ collapsible = TRUE,
+ collapsed = TRUE,
+ width = "100%",
+ p("Summarizes the distribution of a continuous variable using a box and whisker plot, showing the median,
+ quartiles, and potential outliers.")),
+ box(
+ title = strong("3D Plot"),
+ status = "primary",
+ collapsible = TRUE,
+ collapsed = TRUE,
+ width = "100%",
+ p("Display data in a three-dimensional space, allowing visualization of relationships among three variables.")),
+ box(
+ title = strong("Line Plot"),
+ status = "primary",
+ collapsible = TRUE,
+ collapsed = TRUE,
+ width = "100%",
+ p("Represent data points connected by lines, commonly used for time series of continuous data.")),
+ box(
+ title = strong("Contour Plot"),
+ status = "primary",
+ collapsible = TRUE,
+ collapsed = TRUE,
+ width = "100%",
+ p("Contour plots: Visualize 3D data on a 2D plane, using contour lines to represent levels of a continuous variable.")),
+ box(
+ title = strong("Heat Maps"),
+ status = "primary",
+ collapsible = TRUE,
+ collapsed = TRUE,
+ width = "100%",
+ p("Use colors to represent values in a matrix or grid, providing a visual summary of patterns or intensities."))
+
+ )
+ ),
+ #### simple visualization Page ----
+ tabItem(
+ tabName = 'VisualOne',
+ tabsetPanel(
+ type = 'tabs',
+ ###### Single Variable ----
+ tabPanel(
+ 'Single Variable',
+ h2('One Variable Visualization'),
+ p('This section illustrates R code for data
+ visualization includes plot() and ggplot() with one Variable'),
+ br(),
+ sidebarLayout(
+ sidebarPanel(
+ id="sidebar",
+
+ ##### select between plot and ggplot
+ selectInput(
+ inputId="plotType", label="Select Plot Method",
+ choices = c('plot', 'ggplot'),
+ selected = 'plot'
+ ),
+ ##### select datasets
+ selectInput(
+ inputId="dataset", label="Select Dataset:",
+ choices= c('cars', 'trees'),
+ selected = 'cars'
+ ),
+ ##### variable options for 'car' dataset
+ conditionalPanel(
+ condition = "input.dataset == 'cars'",
+ selectInput(
+ inputId="carsVariable",
+ label="Select Variables",
+ choices = c("speed", "dist"),
+ selected = 'speed')
+ ),
+ ##### variable option for 'trees' dataset
+ conditionalPanel(
+ condition = "input.dataset == 'trees'",
+ selectInput(
+ inputId="treesVariable", label="Select Variables",
+ choices = c("Girth", "Height", "Volume"),
+ selected = 'Girth')
+ ),
+
+ br(),
+ conditionalPanel(
+ condition = "input.dataset == 'cars'",
+ box(
+ title = strong("CAR DATASET"),
+ status = "primary",
+ collapsible = TRUE,
+ collapsed = TRUE,
+ width = "100%",
+ tags$li("The speed variable represents different levels of speed (unit - m/hr)"),
+ tags$li('The distance variable represents different levels of distance or displacement (unit - Feet)'))
+ ),
+ conditionalPanel(
+ condition = "input.dataset == 'trees'",
+ box(
+ title = strong("TREES DATASET"),
+ status = "primary",
+ collapsible = TRUE,
+ collapsed = TRUE,
+ width = "100%",
+ tags$li("Girth: Girth typically refers to the circumference or the distance around the trunk of a tree. (unit - inches)"),
+ tags$li("Height: Height represents the vertical measurement of trees. (unit - Feet) "),
+ tags$li('Volume: Volume likely represents the estimated volume of each tree. (unit - cubic Feet)'))
+ ),
+
+
+ ),
+ mainPanel(
+ fluidRow(
+ column(6,
+ plotOutput(
+ outputId="oneDensity",
+ width="150%",
+ height="350px")%>%
+ withSpinner(color="#FFFFFF")),
+ ),
+ tags$strong('R Code: '),
+ fluidRow(
+ column(width = 10, uiOutput(outputId="DensityoneCode")),
+ ),
+
+ br(),
+ br(),
+
+ fluidRow(
+ column(6,
+ plotOutput(
+ outputId="onehist",
+ width="150%",
+ height="350px")%>%
+ withSpinner(color="#FFFFFF")),
+ ),
+ tags$strong('R Code: '),
+ fluidRow(
+ column(width = 10, uiOutput(outputId="HistogramoneCode")),
+ ),
+
+
+
+
+
+ br(),
+ br(),
+ fluidRow(
+ column(6,
+ plotOutput(
+ outputId="onebar",
+ width="180%",
+ height="350px")%>%
+ withSpinner(color="#FFFFFF")),
+ ),
+ tags$strong('R Code: '),
+ fluidRow(
+ column(width = 10, uiOutput(outputId="BarCode")),
+ ),
+
+
+ br(),
+ br(),
+ fluidRow(
+ column(6,
+ plotOutput(
+ outputId="oneqq",
+ width="180%",
+ height="350px")%>%
+ withSpinner(color="#1E7B14")
+ ),
+ column(
+ width = 8,
+ tags$strong('R code: '),
+ uiOutput('qqCode'),
+
+
+ )
+ ),
+
+
+
+ )
+ )
+ ),
+ ##### Two variables -----
+ tabPanel(title='Two Variables', value='panel2',
+ h2('Two Variables Visualization'),
+ p('This section illustrates R code for data
+ visualization uses ggplot() with Two Variables'),
+ br(),
+ sidebarLayout(
+ sidebarPanel(
+ id="sidebar",
+ ###### select continuous variable 1
+
+ selectInput(
+ inputId="continuous1",
+ label="Select First Continuous Variable as X:",
+ choices= c('Sepal.Length',
+ 'Sepal.Width'),
+ selected = 'Sepal.Length'),
+ selectInput(
+ inputId="continuous2",
+ label="Select Second Continuous Variable as Y:",
+ choices= c('Petal.Length',
+ 'Petal.Width'),
+ selected = 'Petal.Length'),
+ selectInput(inputId="CategoryVar",
+ label="Select Categorical Variable:",
+ choices= 'Species',
+ selected = 'Species'),
+ br(),
+ box(
+ title = strong("DATASET"),
+ status = "primary",
+ collapsible = TRUE,
+ collapsed = TRUE,
+ width = "100%",
+ tags$li("Sepal.Length: This represents the length of the sepal, which is one of the outermost floral parts in the iris flower, typically measured in millimeters."),
+ tags$li("Sepal.Width: It denotes the width or breadth of the sepal of the iris flower, usually measured in millimeters."),
+ tags$li('Petal.Length: This variable signifies the length of the petal, which is one of the inner floral parts in the iris flower, measured in millimeters.'),
+ tags$li("Petal.Width: It represents the width or breadth of the petal of the iris flower, typically measured in millimeters.")),
+
+
+
+
+ ),
+ mainPanel(
+
+ fluidRow(
+ column(6,
+ plotOutput(
+ outputId="twoscatter",
+ width="200%",
+ height="400px")%>%
+ withSpinner(color="#FFFFFF")),
+ ),
+ tags$strong('R Code: '),
+ fluidRow(
+ column(width = 10, uiOutput(outputId="twoscattercode")),
+ ),
+ br(),
+ br(),
+ fluidRow(
+ column(
+ 6,plotOutput(
+ outputId="logTransformation",
+ width="200%",
+ height="350px")%>%
+ withSpinner(color="#FFFFFF"))
+ ),
+ tags$strong('R Code: '),
+ fluidRow(
+ column(width = 10,
+ uiOutput(outputId="logTransformationCode"))
+ ),
+ br(),
+ br(),
+ fluidRow(
+ column(6,
+ plotOutput(
+ outputId="twobar",
+ width="200%",
+ height="350px")%>%
+ withSpinner(color="#FFFFFF")),
+ ),
+ tags$strong('R Code: '),
+ fluidRow(
+ column(width = 10, uiOutput(outputId="twobarcode")),
+ ),
+ br(),
+ br(),
+ fluidRow(
+ column(6,
+ plotOutput(
+ outputId="twobox",
+ width="200%",
+ height="350px")%>%
+ withSpinner(color="#FFFFFF"))
+ ),
+ tags$strong('R Code: '),
+ fluidRow(
+ column(width = 10, uiOutput(outputId="twoboxcode"))
+ )
+ )
+ )
+ ),
+ ##### exercises page ----
+ tabPanel(
+ title='Exercises',
+ value='panel2',
+ fluidRow(
+ column(6,
+ verticalLayout(
+ h2("Instructions"),
+ wellPanel(
+ style = "background-color: #FFFFFF",
+ tags$div(
+ tags$ul(
+ tags$li("You can try the following questions"),
+ tags$li(
+ "Test your code with the following R script
+ box with the RMarkDown output under
+ the 'Knitted Output' header"
+ ),
+ tags$li(
+ "Try questions randomly drawn from the question bank."
+ ),
+ tags$li(
+ "Uncomment the sample code to start to explore what the code produces."
+ )
+ ),
+ style = "background-color: #FFFFFF")),
+ h2("Exercises"),
+ uiOutput('progress'),
+ wellPanel(
+ style = "background-color: #FFFFFF",
+ uiOutput("question")%>%
+ withSpinner(color="#FFFFFF"),
+ uiOutput("options"),
+ br(),
+ selectInput(
+ "answer",
+ "Select your answer",
+ c("","A", "B", "C")
+ ),
+ uiOutput("mark"),
+ tags$style(type='text/css',
+ '#question{font-size: 15px;
+ background-color: #FFFFFF;color: black;}',
+ '.well { padding: 10px; margin-bottom: 15px;
+ max-width: 1000px; }')
+ ),
+ fluidPage(
+ fluidRow(
+ column(12, align="center",
+ div(
+ style="display: inline-block",
+ actionButton(
+ inputId = 'submit',
+ label = 'Submit', disabled = TRUE,
+ style="success")
+ ),
+ div(
+ style="display:
+ inline-block;
+ vertical-align:top; width: 30px;",
+ HTML("
")
+ ),
+ div(
+ style="display: inline-block",
+ bsButton(inputId = "nextq",
+ label = "Next", disabled = TRUE)
+ ),
+ div(
+ style="display:
+ inline-block;vertical-align:top;
+ width: 30px;",
+ HTML("
")
+ ),
+ div(
+ style="display: inline-block",
+ bsButton(
+ inputId = "reset",
+ label = "Restart",
+ style="danger", disabled = TRUE))
+ )
+ )
+ ),
+
+ # Live Code
+
+ h2("Try Your Code"),
+ aceEditor(
+ outputId = "rmd",
+ mode = "markdown",
+ value = initialAceText,
+ theme = "xcode",
+ wordWrap = TRUE
+ ),
+
+ column(6,
+ withBusyIndicatorUI(
+ actionButton("eval", "Run")))
+ )),
+ br(),
+ column(6,
+ h2("Knitted Output"),
+ htmlOutput("knitDoc")
+ )
+ )
+ )
+ )
+ ),
+####Advanced ----
+tabItem(
+ tabName = 'exp4',
+ tabsetPanel(
+ type = 'tabs',
+ ##### Maps ----
+ tabPanel(
+ 'Maps',
+ br(),
+ box(
+ title = NULL,
+ style = 'background-color: #FFFFFF',
+ width = NULL,
+ height = NULL,
+ ###### plotly option
+ selectInput(
+ inputId = 'mapsOp',
+ label = 'Make a US/World Map with ggplot2',
+ choices = c('US Map - ggplot2', 'US Map - plotly'),
+ selected = 'US Map'
+ ),
+ bsPopover(
+ id = 'mapsOp',
+ title = " ",
+ content = 'mUSMap takes in one dataframe that includes
+ information about different US states and
+ returns this data or a ggplot object constructed with the data.
+ mWorldMap does the same but it takes in one dataframe that
+ includes information about different countries.',
+ trigger = 'click'
+ ),
+ ###### plot option
+ conditionalPanel(
+ 'input.mapsOp == "US Map - ggplot2"',
+ selectInput(
+ inputId = 'usMap1',
+ label = 'Plot Option',
+ choices = c('borders', 'frame')
+ ),
+ selectInput(
+ inputId = 'usMap2',
+ label = 'Style Option',
+ choices = c('compact', 'real'))
+ )
+ ),
+ conditionalPanel(
+ 'input.mapsOp == "US Map - ggplot2"',
+ div(style = "background-color: #FFFFFF",
+ tags$strong('R code: '),
+ uiOutput('usMapOut2'),
+ br(),
+ fluidRow(
+ column(12, align="center",
+ plotOutput('usMapOut1', width="80%")
+ )
+ ),
+ br()
+ )
+ ),
+ conditionalPanel(
+ 'input.mapsOp == "US Map - plotly"',
+ div(style = "background-color: #FFFFFF",
+ tags$strong('R code: '),
+ uiOutput('plotlyUScode'),
+ br(),
+ fluidRow(
+ column(12, align="center",
+ plotlyOutput('plotlyUSMap', width='80%'))
+ ),
+ br()
+ )
+ )
+ ),
+ ##### 3D Plots ----
+ tabPanel(
+ '3D Plots',
+ br(),
+ fluidRow(
+ column(
+ width = 12,
+ box(
+ title = NULL,
+ style = 'background-color: #FFFFFF',
+ width = NULL,
+ height = NULL,
+ selectInput(
+ inputId = 'Exsel',
+ label = '3D Plot Type',
+ choices = c('Normal Simulation via Plotly',
+ '3D Basic Scatter Plot',
+ '3D Texts Plot'),
+ selected = 'Normal Simulation via Plotly',
+ multiple = FALSE),
+ #b. normal simulation via plotly
+ conditionalPanel(
+ 'input.Exsel == "Normal Simulation via Plotly"',
+ sliderInput(
+ inputId = 'Exsel1',
+ label = 'Please Select Your Sample Size',
+ min = 0,
+ max = 100,
+ value = 30,
+ step = 1,
+ ticks = TRUE
+ )
+ ),
+ #b. Basic Scatter Plot
+ conditionalPanel(
+ 'input.Exsel == "3D Basic Scatter Plot"',
+ selectInput(
+ inputId = 'basicX',
+ label = 'Variable for X-Axis',
+ choices = c('Sepal.Length', 'Sepal.Width',
+ 'Petal.Length', 'Petal.Width'),
+ selected = 'Sepal.Length', multiple = FALSE
+ ),
+ selectInput(
+ inputId = 'basicY',
+ label = 'Variable for Y-Axis',
+ choices = c('Sepal.Length', 'Sepal.Width',
+ 'Petal.Length', 'Petal.Width'),
+ selected = 'Sepal.Width', multiple = FALSE
+ ),
+ selectInput(
+ inputId = 'basicZ',
+ label = 'Variable for Z-Axis',
+ choices = c('Sepal.Length', 'Sepal.Width',
+ 'Petal.Length', 'Petal.Width'),
+ selected = 'Petal.Length', multiple = FALSE
+ )
+ ),
+ #c. 3D Plots with Confidence Intervals
+ conditionalPanel(
+ 'input.Exsel == "3D Plots with Confidence Intervals"',
+ selectInput(
+ inputId = 'CIX',
+ label = 'Variable for X-Axis',
+ choices = c('Sepal.Length', 'Sepal.Width',
+ 'Petal.Length', 'Petal.Width'),
+ selected = 'Sepal.Length', multiple = FALSE
+ ),
+ selectInput(
+ inputId = 'CIY',
+ label = 'Variable for Y-Axis',
+ choices = c('Sepal.Length', 'Sepal.Width',
+ 'Petal.Length', 'Petal.Width'),
+ selected = 'Sepal.Width', multiple = FALSE
+ ),
+ selectInput(
+ inputId = 'CIZ',
+ label = 'Variable for Z-Axis',
+ choices = c('Sepal.Length', 'Sepal.Width',
+ 'Petal.Length', 'Petal.Width'),
+ selected = 'Petal.Length', multiple = FALSE
+ )
+ )
+ )
+ )
+ ),
+ fluidRow(
+ column(width = 12,
+ box(title = NULL,
+ style = 'background-color: #FFFFFF',
+ width = NULL,
+ height = NULL,
+ #a. Normal Simulation via Plotly
+ conditionalPanel(
+ 'input.Exsel == "Normal Simulation via Plotly"',
+ tags$strong('R code: '),
+ uiOutput('ExCode'),
+ br(),
+ plotlyOutput('plotly1'),
+ br(),
+ verbatimTextOutput("hover"),
+ verbatimTextOutput("click")
+ ),
+ #b. Basic Scatter Plot
+ conditionalPanel(
+ 'input.Exsel == "3D Basic Scatter Plot"',
+ tags$strong('R code: '),
+ uiOutput('basicRcode'),
+ br(),
+ tableOutput('bspTable'),
+ plotOutput('bspOut1')
+ ),
+ #e. 3D Texts Plot
+ conditionalPanel(
+ 'input.Exsel == "3D Texts Plot"',
+ tags$strong('R code: '),
+ uiOutput('textRcode'),
+ br(),
+ tableOutput('textTable'),
+ plotOutput('textOut')
+ ) # conditional panel
+ )#box
+ )# column
+ )#fluidrow
+ ),#tabpanel
+ ##### 2D Line Plots ----
+ tabPanel(
+ '2D Line Plots',
+ br(),
+ fluidRow(
+ column(width = 12,
+ box(title = NULL,
+ style = 'background-color: #FFFFFF',
+ width = NULL,
+ height = NULL,
+ sliderInput(
+ inputId = 'LPsel1',
+ label = 'Please Set the Maximum of X-Axis',
+ min = 0,
+ max = 200,
+ value = 80,
+ step = 1,
+ ticks = TRUE
+ ),
+ numericInput(
+ inputId = 'LPnum1',
+ label = 'Theoretical Mean of trace 0',
+ value = 10,
+ step = 1
+ ),
+ selectInput(
+ inputId = 'LPSEL1',
+ label = 'Please Select Your First Graph Mode',
+ choices = c('Lines', 'Markers')),
+ numericInput(
+ inputId = 'LPnum2',
+ label = 'Theoretical Mean of trace 1',
+ value = -10,
+ step = 1
+ ),
+ selectInput(
+ inputId = 'LPSEL2',
+ label = 'Please Select Your Second Graph Mode',
+ choices = c('Lines', 'Markers'))
+ )
+ )
+ ),
+ fluidRow(
+ column(width = 12,
+ box(title = NULL,
+ style = 'background-color: #FFFFFF',
+ width = NULL, height = NULL,
+ tags$strong('R code: '),
+ uiOutput('LPCode'),
+ br(),
+ plotlyOutput('plotly2')
+ )
+ )
+ )
+ ),
+ ##### Contour Plots & Heat Maps ----
+ tabPanel(
+ 'Contour Plots & Heatmaps',
+ br(),
+ sidebarLayout(
+ sidebarPanel(
+
+ id="sidebarmap",
+ div('Heat maps and contour plots are visualization techniques to show
+ data density on a map. They are particularly helpful when you have
+ a lot of data points on the map and are mainly interested in their
+ overall distribution.'),
+ br(),
+ selectInput(
+ inputId = 'chSel',
+ label = 'Please Select Your Display Option',
+ choices = c('', 'Contour Plots', 'Heatmaps'),
+ selected = 'Contour Plots'),
+ #contour plots
+ conditionalPanel(
+ 'input.chSel == "Contour Plots"',
+ selectInput(
+ inputId = 'chSel2',
+ label = 'View An Example',
+ choices = c('Volcano', 'Protein-Protein Interaction')
+ ),
+ conditionalPanel(
+ 'input.chSel2 == "Volcano"',
+ checkboxInput(
+ inputId = 'contourLabel',
+ label = 'Add Contour Labels',
+ value = FALSE)
+ )
+ ),
+ #heat maps
+ conditionalPanel(
+ 'input.chSel == "Heatmaps"',
+ selectInput(
+ inputId = 'heat1',
+ label = 'View An Example',
+ choices = c('Volcano', 'Cars'
+ )
+ ),
+ conditionalPanel(
+ 'input.heat1 == "Volcano"',
+ sliderTextInput(
+ inputId = 'heatmapCol',
+ label = 'Please Select Your Colorscale',
+ choices = c('purple+green', 'yellow+red', 'pink+purple',
+ 'white+black'),
+ grid = TRUE
+ )
+ )
+ )
+ ),
+ mainPanel(
+ box(title = NULL,
+ style = 'background-color: #FFFFFF',
+ width = NULL,
+ height = NULL,
+ conditionalPanel(
+ 'input.chSel == "Contour Plots"',
+ conditionalPanel(
+ 'input.chSel2 == "Volcano"',
+ tags$b(
+ 'In this section, we will use an embedded dataset named Volcano.
+ It is a matrix containing 87 rows and 61 columns.'),
+ br(),
+ br(),
+ tags$strong('R Code: '),
+ uiOutput('CPCode1'), #volcano code
+ br(),
+ plotlyOutput('plotly3') #volcano plot
+ ),
+ conditionalPanel(
+ 'input.chSel2 == "Protein-Protein Interaction"',
+ plotOutput('proteinInt')
+ )
+ ),
+ conditionalPanel(
+ 'input.chSel == "Heatmaps"',
+ conditionalPanel(
+ 'input.heat1 == "Volcano"',
+ tags$strong('R Code: '),
+ uiOutput('CPCode2'),
+ br(),
+ plotlyOutput('plotly4')
+ ),
+ conditionalPanel('input.heat1 == "Cars"',
+ plotlyOutput('cars1')
+ )
+ )
+ ) # box
+ ) #mainpanel
+ ) # sidebarlayout
+ )# tabpanel
+ )
+),
+
+#### Set up the References Page ----
+tabItem(
+ tabName = "References",
+ withMathJax(),
+ h2("References"),
+ p(class = "hangingindent",
+ "Attali, D. (2020).
+ shinyjs: Easily Improve the User Experience of Your Shiny Apps in Seconds, R package.
+ Available from https://CRAN.R-project.org/package=shinyjs"),
+ p(class = "hangingindent",
+ "Bailey, E. (2015).
+ shinyBS: Twitter Bootstrap Components for Shiny, R package.
+ Available from https://CRAN.R-project.org/package=shinyBS"),
+ p(class = "hangingindent",
+ "Carey R. (2019).
+ rlocker: Learning Locker for Shiny, R package.
+ Available from https://github.com/rpc5102/rlocker"),
+ p(class = "hangingindent",
+ "Carey, R. and Hatfield, N. (2020). boastUtils: BOAST Utilities. R
+ package version 0.1.4.
+ https://github.com/EducationShinyAppTeam/boastUtils"),
+ p(class = "hangingindent",
+ "Chang, W. and Borges Ribeiro, B. (2018),
+ shinydashboard: Create Dashboards with 'Shiny', R package.
+ Available from https://CRAN.R-project.org/package=shinydashboard"),
+ p(class = "hangingindent",
+ "Chang, W., Cheng, J., Allaire, J., Xie, Y., and MchPherson, J. (2020),
+ shiny: Web Application Framework for R, R package.
+ Available from https://CRAN.R-project.org/package=shiny"),
+ p(class = "hangingindent",
+ "Lu,H.,Lu,L.,and Skolnick, J.(2003). Protein-Protein interaction dataset.[Text file].
+ Available from https://pubmed.ncbi.nlm.nih.gov/12609891/"),
+ p(class = "hangingindent",
+ "Molecular Organisation and Assembly in Cells(2007). Contour Plots of Matrix Data.
+ University of Warwick: Warwick, UK.
+ Available from
+ https://warwick.ac.uk/fac/sci/moac/people/students/peter_cock/r/matrix_contour/#references"),
+ p(class = "hangingindent",
+ "Nijs, V., Fang, F., Trestle Technology, LLC and Allen, J. (2019).
+ shinyAce: Ace Editor Bindings for Shiny, R package.
+ Available from https://CRAN.R-project.org/package=shinyAce"),
+ p(class = "hangingindent",
+ "Perrier, V., Meyer, F., and Granjon, D. (2020).
+ shinyWidgets: Custom Inputs Widgets for Shiny, R package.
+ Available from https://CRAN.R-project.org/package=shinyWidgets"),
+ p(class = "hangingindent",
+ "Sali, A. and Attali D. (2020). shinycssloaders: Add CSS Loading
+ Animations to 'shiny' Outputs, R package.
+ https://CRAN.R-project.org/package=shinycssloaders"),
+ p(class = "hangingindent",
+ "Sievert, C. (2020).
+ plotly: Interactive Web-Based Data Visualization with R, plotly, and
+ shiny. Chapman and Hall/CRC Florida, 2020."),
+ p(class = "hangingindent",
+ "Wickham, H., ggplot2: Elegant Graphics for Data Analysis, R package.
+ Springer-Verlag New York, 2016."
+ ),
+ br(),
+ br(),
+ br(),
+ boastUtils::copyrightInfo()
+)
+ )
+ )
+ )
+)
+
+# Define server logic ----
+
+server <- function(input, output, session) {
+ output$dataTable <- DT::renderDataTable({
+ if(input$dataset == "cars")
+ datatable(cars[1:10, ], options = list(pageLength = 10))
+ else
+ datatable(trees[1:10, ], options = list(pageLength = 10))
+ })
+ output$Previewiris <-
+ DT::renderDataTable({
+ datatable(iris[1:10, ], options = list(pageLength = 10))
+ })
+ ###### KNITR
+ observeEvent(input$eval, {
+ withBusyIndicatorServer("eval", {
+ output$knitDoc <- renderUI({
+ isolate(
+ HTML(
+ knit2html(
+ text = input$rmd,
+ template = FALSE,
+ quiet = TRUE
+ )
+ ))
+
+ })
+
+ output$output <- renderPrint({
+ return(isolate(eval(parse(text = input$code))))
+ })
+ })
+ })
+
+
+
+ output$output <- renderPrint({
+ input$eval
+ return(isolate(eval(parse(text = input$code))))
+ })
+
+ observeEvent(input$info0, {
+ sendSweetAlert(
+ session = session,
+ title = "Instructions:",
+ text = "Move the sliders or select from the dropdown menus and view the R
+ code that produces the results.",
+ type = NULL
+ )
+ })
+ observeEvent(input$info, {
+ sendSweetAlert(
+ session = session,
+ title = "Instructions:",
+ text = "Select the variables or the dataset to be used. Select answers
+ for the exercise.",
+ type = NULL
+ )
+ })
+ observeEvent(input$go2p, {
+ updateTabItems(session, 'pages', 'prerequisite')
+ })
+
+ observeEvent(input$next2, {
+ updateTabsetPanel(session, 'VisualOne', selected = 'panel2')
+ })
+ ### simple visualization Page ----
+ #### single variable ----
+ output$oneDensity <-
+ renderCachedPlot({
+ if (input$dataset == 'cars') {
+ if (input$carsVariable == 'speed') {
+ if (input$plotType == 'plot') {
+ plot(density(cars$speed),
+ main = "Density Plot",
+ xlab = "Speed (mph)",
+ ylab = "Density")
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(speed), data = cars) +
+ geom_density(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ ggtitle('Density Plot') +
+ xlab("Speed(mph)") +
+ ylab("Density")
+ }
+ }
+ else if (input$carsVariable == 'dist') {
+ if (input$plotType == 'plot') {
+ plot(density(cars$dist),
+ main = "Density Plot",
+ xlab = "dist (Feet)",
+ ylab = "Density")
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(dist), data = cars) +
+ geom_density(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ ggtitle('Density Plot') +
+ xlab("dist (Feet)") +
+ ylab("Density")
+ }
+ }
+ }
+ else if (input$dataset == 'trees') {
+ if (input$treesVariable == 'Girth') {
+ if (input$plotType == 'plot') {
+ plot(density(trees$Girth),
+ main = "Density Plot",
+ xlab = "Girth(inches)",
+ ylab = "Density")
+
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(Girth), data = trees) +
+ geom_density(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ ggtitle('Density Plot') +
+ xlab("Girth(inches)") +
+ ylab("Density")
+ }
+ }
+ else if (input$treesVariable == 'Height') {
+ if (input$plotType == 'plot') {
+ plot(density(trees$Height),
+ main = "Density Plot",
+ xlab = "Height(Feet)",
+ ylab = "Density")
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(Height), data = trees) +
+ geom_density(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ ggtitle('Density Plot') +
+ xlab("Height(Feet)") +
+ ylab("Density")
+
+ }
+
+ }
+ else if (input$treesVariable == 'Volume') {
+ if (input$plotType == 'plot') {
+ plot(density(trees$Volume),
+ main = "Density Plot",
+ xlab = "Volume(Cubic Feet)",
+ ylab = "Density")
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(Volume), data = trees) +
+ geom_density(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ ggtitle('Density Plot') +
+ xlab("Volume(Cubic Feet)") +
+ ylab("Density")
+
+ }
+
+ }
+ }
+ },
+ cacheKeyExpr = {
+ list(input$dataset,
+ input$carsVariable,
+ input$plotType,
+ input$treesVariable)
+ }
+ )
+
+ output$onehist <- renderCachedPlot({
+ if (input$dataset == 'cars') {
+ if (input$carsVariable == 'speed') {
+ if (input$plotType == 'plot') {
+ hist(cars$speed,
+ main = "Histogram",
+ xlab = "Speed(mph)",
+ ylab = "count")
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(speed), data = cars) +
+ geom_histogram(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ ggtitle("Histogram") +
+ xlab("Speed(mph)")+
+ ylab("count")
+ }
+ }
+ else if (input$carsVariable == 'dist') {
+ if (input$plotType == 'plot') {
+ hist(cars$dist,
+ main = "Histogram",
+ xlab = "Dist(Feet)",
+ ylab = "count")
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(dist), data = cars) +
+ geom_histogram(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ ggtitle("Histogram")+
+ xlab("Dist(Feet)")+
+ ylab("count")
+ }
+
+ }
+ }
+ else if (input$dataset == 'trees') {
+ if (input$treesVariable == 'Girth') {
+ if (input$plotType == 'plot') {
+ hist(trees$Girth,
+ main = "Histogram",
+ xlab = "Girth(Inches)",
+ ylab = "count")
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(Girth), data = trees) +
+ geom_histogram(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ ggtitle("Histogram") +
+ xlab("Girth(Inches)")+
+ ylab("count")
+ }
+ }
+ else if (input$treesVariable == 'Height') {
+ if (input$plotType == 'plot') {
+ hist(trees$Height,
+ main = "Histogram",
+ xlab = "Height(Feet)",
+ ylab = "count")
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(Height), data = trees) +
+ geom_histogram(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ ggtitle("Histogram") +
+ xlab("Height(Feet)") +
+ ylab("count")
+ }
+ }
+ else if (input$treesVariable == 'Volume') {
+ if (input$plotType == 'plot') {
+ hist(trees$Volume,
+ main = "Histogram",
+ xlab = "Volume(Cubic Feet)",
+ ylab = "count")
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(Volume), data = trees) +
+ geom_histogram(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ ggtitle("Histogram") +
+ xlab("Volume(Cubic Feet)")+
+ ylab("count")
+ }
+
+ }
+ }
+ },
+ cacheKeyExpr = {
+ list(input$dataset,
+ input$plotType,
+ input$carsVariable,
+ input$treesVariable)
+ })
+
+ output$onebar <-
+ renderCachedPlot({
+ if (input$dataset == 'cars') {
+ if (input$carsVariable == 'speed') {
+ if (input$plotType == 'plot') {
+ barplot(cars$speed,
+ main = "Bar Plot",
+ xlab = "Speed (mph)")
+
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(speed), data = cars) +
+ geom_freqpoly(bins = 30) +
+ geom_area(
+ stat = "bin",
+ bins = 30,
+ color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4
+ ) +
+ ggtitle('Frequency polygon') +
+ xlab("Speed(mph)")
+ }
+ }
+ else if (input$carsVariable == 'dist') {
+ if (input$plotType == 'plot') {
+ barplot(cars$dist,
+ main = "Bar Plot",
+ xlab = "Dist (Feet)")
+
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(dist), data = cars) +
+ geom_freqpoly(bins = 30) +
+ geom_area(
+ stat = "bin",
+ bins = 30,
+ color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4
+ ) +
+ ggtitle('Frequency polygon') +
+ xlab("Dist(Feet)")
+ }
+
+ }
+ }
+ else if (input$dataset == 'trees') {
+ if (input$treesVariable == 'Girth') {
+ if (input$plotType == 'plot') {
+ barplot(trees$Girth,
+ main = "Bar Plot",
+ xlab = "Girth(Inches)",
+ ylab = "count")
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(Girth), data = trees) +
+ geom_freqpoly(bins = 30) +
+ geom_area(
+ stat = "bin",
+ bins = 30,
+ color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4
+ ) +
+ ggtitle('Frequency polygon') +
+ xlab("Girth(Inches)") +
+ ylab("count")
+ }
+ }
+ else if (input$treesVariable == 'Height') {
+ if (input$plotType == 'plot') {
+ barplot(trees$Height,
+ main = "Bar Plot",
+ xlab = "Height(Feet)",
+ ylab = "Count")
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(Height), data = trees) +
+ geom_freqpoly(bins = 30) +
+ geom_area(
+ stat = "bin",
+ bins = 30,
+ color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4
+ ) +
+ ggtitle('Frequency polygon') +
+ xlab("Height(Feet)")+
+ ylab("Count")
+ }
+
+ }
+ else if (input$treesVariable == 'Volume') {
+ if (input$plotType == 'plot') {
+ barplot(trees$Volume,
+ main = "Bar Plot",
+ xlab = "Volume(Cubic Feet)",
+ ylab = "Count" )
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(Volume), data = trees) +
+ geom_freqpoly(bins = 30) +
+ geom_area(
+ stat = "bin",
+ bins = 30,
+ color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4
+ ) +
+ ggtitle('Frequency polygon') +
+ xlab("Volume(Cubic Feet)")+
+ ylab("Count")
+
+ }
+ }
+ }
+ }, cacheKeyExpr = {
+ list(input$dataset,
+ input$plotType,
+ input$carsVariable,
+ input$treesVariable)
+ })
+
+ output$oneqq <-
+ renderCachedPlot({
+ if (input$dataset == 'cars') {
+ if (input$carsVariable == 'speed') {
+ if (input$plotType == 'plot') {
+ qqnorm(cars$speed)
+ qqline(cars$speed, col = 'red')
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(sample = speed), data = cars) +
+ stat_qq(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ stat_qq_line(color = 'red')
+ }
+ }
+ else if (input$carsVariable == 'dist') {
+ if (input$plotType == 'plot') {
+ qqnorm(cars$dist)
+ qqline(cars$dist, col = 'red')
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(sample = dist), data = cars) +
+ stat_qq(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ stat_qq_line(color = 'red')
+ }
+ }
+ }
+ else if (input$dataset == 'trees') {
+ if (input$treesVariable == 'Girth') {
+ if (input$plotType == 'plot') {
+ qqnorm(trees$Girth)
+ qqline(trees$Girth, col = 'red')
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(sample = Girth), data = trees) +
+ stat_qq(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ stat_qq_line(color = 'red')
+ }
+ }
+ else if (input$treesVariable == 'Height') {
+ if (input$plotType == 'plot') {
+ qqnorm(trees$Height)
+ qqline(trees$Height, col = 'red')
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(sample = Height), data = trees) +
+ stat_qq(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ stat_qq_line(color = 'red')
+ }
+ }
+ else if (input$treesVariable == 'Volume') {
+ if (input$plotType == 'plot') {
+ qqnorm(trees$Volume)
+ qqline(trees$Volume, col = 'red')
+ }
+ else if (input$plotType == 'ggplot') {
+ ggplot(aes(sample = Volume), data = trees) +
+ stat_qq(color = "darkblue",
+ fill = "lightblue",
+ alpha = 0.4) +
+ stat_qq_line(color = 'red')
+ }
+ }
+ }
+ }, cacheKeyExpr = {
+ list(input$dataset,
+ input$plotType,
+ input$carsVariable,
+ input$treesVariable)
+ })
+
+ output$DensityoneCode <- renderText({
+ if (input$dataset == 'cars') {
+ if (input$plotType == 'plot') {
+ code <- paste0(
+ 'plot(density(',
+ input$carsVariable,
+ ', data = ',
+ input$dataset,
+ '))'
+ )
+ } else if (input$plotType == 'ggplot') {
+ code <- paste0(
+ "ggplot(aes(",
+ input$carsVariable,
+ "), data = cars) + ",
+ "geom_density(color = 'darkblue', fill = 'lightblue', alpha = 0.4) + ",
+ "ggtitle('Density Plot')"
+ )
+ }
+ } else {
+ if (input$plotType == 'plot') {
+ code <- paste0(
+ 'plot(density(',
+ input$dataset,
+ '$',
+ input$treesVariable,
+ '))'
+ )
+ } else if (input$plotType == 'ggplot') {
+ code <- paste0(
+ "ggplot(aes(",
+ input$treesVariable,
+ "), data = trees) + ",
+ "geom_density(color = 'darkblue', fill = 'lightblue', alpha = 0.4) + ",
+ "ggtitle('Density Plot')"
+ )
+ }
+ }
+
+ code
+ })
+
+
+
+ output$HistogramoneCode <- renderText({
+ if (input$dataset == 'cars') {
+ if (input$plotType == 'plot') {
+ code <- paste0(
+ 'hist(',
+ input$carsVariable,
+ ', data = ',
+ input$dataset,
+ ')'
+ )
+ } else {
+ code <- paste0(
+ "ggplot(aes(",
+ input$carsVariable,
+ "), data = cars) + ",
+ "geom_histogram(color = 'darkblue', fill = 'lightblue', alpha = 0.4) + ",
+ "ggtitle('Histogram')"
+ )
+ }
+ } else {
+ if (input$plotType == 'plot') {
+ code <- paste0(
+ 'hist(',
+ input$treesVariable,
+ ', data = ',
+ input$dataset,
+ ')'
+ )
+ } else {
+ code <- paste0(
+ "ggplot(aes(",
+ input$treesVariable,
+ "), data = trees) + ",
+ "geom_histogram(color = 'darkblue', fill = 'lightblue', alpha = 0.4) + ",
+ "ggtitle('Histogram')"
+ )
+ }
+ }
+
+ code
+ })
+
+ output$BarCode <- renderText({
+ if (input$dataset == 'cars') {
+ if (input$plotType == 'plot') {
+ code <- paste0(
+ 'barplot(',
+ input$carsVariable,
+ ', data = ',
+ input$dataset,
+ ')'
+ )
+ } else {
+ code <- paste0(
+ "ggplot(aes(",
+ input$carsVariable,
+ "), data = cars) + ",
+ "geom_freqpoly(bins = 30) + ",
+ "geom_area(stat = 'bin', bins = 30, color = 'darkblue', fill = 'lightblue', alpha = 0.4) + ",
+ "ggtitle('Frequency polygon')"
+ )
+ }
+ } else {
+ if (input$plotType == 'plot') {
+ code <- paste0(
+ 'barplot(',
+ input$treesVariable,
+ ', data = ',
+ input$dataset,
+ ')'
+ )
+ } else {
+ code <- paste0(
+ "ggplot(aes(",
+ input$treesVariable,
+ "), data = trees) + ",
+ "geom_freqpoly(bins = 30) + ",
+ "geom_area(stat = 'bin', bins = 30, color = 'darkblue', fill = 'lightblue', alpha = 0.4) + ",
+ "ggtitle('Frequency polygon')"
+ )
+ }
+ }
+
+ code
+ })
+
+ output$qqCode <- renderText({
+ if (input$dataset == 'cars') {
+ if (input$plotType == 'plot') {
+ code <- paste0(
+ 'qqnorm(',
+ input$carsVariable,
+ ', data = ',
+ input$dataset,
+ ')\n',
+ 'qqline(',
+ input$carsVariable,
+ ', data = ',
+ input$dataset,
+ ')'
+ )
+ } else {
+ code <- paste0(
+ "ggplot(aes(sample = ",
+ input$carsVariable,
+ "), data = cars) + ",
+ "stat_qq(color = 'darkblue', fill = 'lightblue', alpha = 0.4) + ",
+ "stat_qq_line(color = 'red')"
+ )
+ }
+ } else {
+ if (input$plotType == 'plot') {
+ code <- paste0(
+ 'qqnorm(',
+ input$treesVariable,
+ ', data = ',
+ input$dataset,
+ ')\n',
+ 'qqline(',
+ input$treesVariable,
+ ', data = ',
+ input$dataset,
+ ')'
+ )
+ } else {
+ code <- paste0(
+ "ggplot(aes(sample = ",
+ input$treesVariable,
+ "), data = trees) + ",
+ "stat_qq(color = 'darkblue', fill = 'lightblue', alpha = 0.4) + ",
+ "stat_qq_line(color = 'red')"
+ )
+ }
+ }
+
+ code
+ })
+
+ #### Two Variables ----
+ output$twoscatter <- renderCachedPlot({
+ if (input$continuous1 == 'Sepal.Length') {
+ if (input$continuous2 == 'Petal.Length') {
+ ggplot(aes(Sepal.Length, Petal.Length), data = iris) +
+ geom_point(aes(colour = factor(Species))) +
+ geom_smooth(aes(colour = factor(Species)),
+ linetype = 'twodash',
+ size = 0.8) +
+ ggtitle("Scatter Plot") +
+ xlab("Sepal.Length(millimeters)") +
+ ylab("Petal.Length(millimeters)")
+ }
+ else if (input$continuous2 == 'Petal.Width') {
+ ggplot(aes(Sepal.Length, Petal.Width), data = iris) +
+ geom_point(aes(colour = factor(Species))) +
+ geom_smooth(aes(colour = factor(Species)),
+ linetype = 'twodash',
+ size = 0.8) +
+ ggtitle("Scatter Plot") +
+ xlab("Sepal.Length(millimeters)") +
+ ylab("Petal.Width(millimeters)")
+ }
+ }
+ else if (input$continuous1 == 'Sepal.Width') {
+ if (input$continuous2 == 'Petal.Length') {
+ ggplot(aes(Sepal.Width, Petal.Length), data = iris) +
+ geom_point(aes(colour = factor(Species))) +
+ geom_smooth(aes(colour = factor(Species)),
+ linetype = 'twodash',
+ size = 0.8) +
+ ggtitle("Scatter Plot") +
+ xlab("Sepal.Width(millimeters)") +
+ ylab("Petal.Length(millimeters)")
+ }
+ else if (input$continuous2 == 'Petal.Width') {
+ ggplot(aes(Sepal.Width, Petal.Width), data = iris) +
+ geom_point(aes(colour = factor(Species))) +
+ geom_smooth(aes(colour = factor(Species)),
+ linetype = 'twodash',
+ size = 0.8) +
+ ggtitle("Scatter Plot") +
+ xlab("Sepal.Width(millimeters)") +
+ ylab("Petal.Width(millimeters)")
+ }
+ }
+ }, cacheKeyExpr = {
+ list(input$continuous1, input$continuous2)
+ })
+
+
+ output$logTransformation <- renderCachedPlot({
+ if (input$continuous1 == 'Sepal.Length') {
+ if (input$continuous2 == 'Petal.Length') {
+ ggplot(aes(Sepal.Length, Petal.Length), data = iris) +
+ geom_point(aes(colour = factor(Species))) +
+ coord_trans(x = "log2", y = "log2") +
+ ggtitle("Log Transformation")+
+ xlab("Sepal.Length(millimeters)") +
+ ylab("Petal.Length(millimeters)")
+ }
+ else if (input$continuous2 == 'Petal.Width') {
+ ggplot(aes(Sepal.Length, Petal.Width), data = iris) +
+ geom_point(aes(colour = factor(Species))) +
+ coord_trans(x = "log2", y = "log2") +
+ ggtitle("Log Transformation") +
+ xlab("Sepal.Length(millimeters)") +
+ ylab("Petal.Width(millimeters)")
+ #sunflowerplot(Sepal.Length~Petal.Width, data=iris, main="SunflowerPlot")
+ }
+ }
+ else if (input$continuous1 == 'Sepal.Width') {
+ if (input$continuous2 == 'Petal.Length') {
+ ggplot(aes(Sepal.Width, Petal.Length), data = iris) +
+ geom_point(aes(colour = factor(Species))) +
+ coord_trans(x = "log2", y = "log2") +
+ ggtitle("Log Transformation") +
+ xlab("Sepal.Width(millimeters)") +
+ ylab("Petal.Length(millimeters)")
+ }
+ else if (input$continuous2 == 'Petal.Width') {
+ ggplot(aes(Sepal.Width, Petal.Width), data = iris) +
+ geom_point(aes(colour = factor(Species))) +
+ coord_trans(x = "log2", y = "log2") +
+ ggtitle("Log Transformation") +
+ xlab("Sepal.Width(millimeters)") +
+ ylab("Petal.Width(millimeters)")
+ #sunflowerplot(Sepal.Width~Petal.Width, data=iris, main="SunflowerPlot")
+ }
+ }
+ }, cacheKeyExpr = {
+ list(input$continuous1, input$continuous2)
+ })
+
+ output$twobar <- renderCachedPlot({
+ if (input$continuous1 == 'Sepal.Length') {
+ if (input$continuous2 == 'Petal.Length') {
+ ggplot(data = iris,
+ aes(
+ x = Sepal.Length,
+ y = Petal.Length,
+ fill = factor(Species)
+ )) +
+ geom_bar(stat = "identity") +
+ ggtitle('Bar Plot')+
+ xlab("Sepal.Length(millimeters)") +
+ ylab("Petal.Length(millimeters)")
+ }
+ else if (input$continuous2 == 'Petal.Width') {
+ ggplot(data = iris,
+ aes(
+ x = Sepal.Length,
+ y = Petal.Width,
+ fill = factor(Species)
+ )) +
+ geom_bar(stat = "identity") +
+ ggtitle('Bar Plot') +
+ xlab("Sepal.Length(millimeters)") +
+ ylab("Petal.Width(millimeters)")
+ }
+ }
+ else if (input$continuous1 == 'Sepal.Width') {
+ if (input$continuous2 == 'Petal.Length') {
+ ggplot(data = iris,
+ aes(
+ x = Sepal.Width,
+ y = Petal.Length,
+ fill = factor(Species)
+ )) +
+ geom_bar(stat = "identity") +
+ ggtitle('Bar Plot') +
+ xlab("Sepal.Width(millimeters)") +
+ ylab("Petal.Length(millimeters)")
+ }
+ else if (input$continuous2 == 'Petal.Width') {
+ ggplot(data = iris,
+ aes(
+ x = Sepal.Width,
+ y = Petal.Width,
+ fill = factor(Species)
+ )) +
+ geom_bar(stat = "identity") +
+ ggtitle('Bar Plot') +
+ xlab("Sepal.Width(millimeters)") +
+ ylab("Petal.Width(millimeters)")
+ }
+ }
+ }, cacheKeyExpr = {
+ list(input$continuous1, input$continuous2)
+ })
+
+
+ output$twobox <- renderCachedPlot({
+ if (input$continuous1 == 'Sepal.Length') {
+ if (input$continuous2 == 'Petal.Length') {
+ ggplot(data = iris,
+ aes(
+ x = Sepal.Length,
+ y = Petal.Length,
+ color = Species
+ )) +
+ geom_boxplot() +
+ ggtitle('Boxplot')+
+ xlab("Sepal.Length(millimeters)") +
+ ylab("Petal.Length(millimeters)")
+ }
+ else if (input$continuous2 == 'Petal.Width') {
+ ggplot(data = iris,
+ aes(
+ x = Sepal.Length,
+ y = Petal.Width,
+ color = Species
+ )) +
+ geom_boxplot() +
+ ggtitle('Boxplot') +
+ xlab("Sepal.Length(millimeters)") +
+ ylab("Petal.Width(millimeters)")
+ }
+ }
+ else if (input$continuous1 == 'Sepal.Width') {
+ if (input$continuous2 == 'Petal.Length') {
+ ggplot(data = iris,
+ aes(
+ x = Sepal.Width,
+ y = Petal.Length,
+ color = Species
+ )) +
+ geom_boxplot() +
+ ggtitle('Boxplot') +
+ xlab("Sepal.Width(millimeters)") +
+ ylab("Petal.Length(millimeters)")
+ }
+ else if (input$continuous2 == 'Petal.Width') {
+ ggplot(data = iris,
+ aes(
+ x = Sepal.Width,
+ y = Petal.Width,
+ color = Species
+ )) +
+ geom_boxplot() +
+ ggtitle('Boxplot') +
+ xlab("Sepal.Width(millimeters)") +
+ ylab("Petal.Width(millimeters)")
+ }
+ }
+ }, cacheKeyExpr = {
+ list(input$continuous1, input$continuous2)
+ })
+
+ output$twoscattercode <- renderUI({
+ tags$code(
+ "ggplot(aes(",
+ input$continuous1,
+ ',',
+ input$continuous2,
+ "), data=iris)+
+ geom_point(aes(colour = factor(Species)))+
+ geom_smooth(aes(colour = factor(Species)), linetype='twodash', size=0.8)+
+ ggtitle('Scatter Plot')",
+ seq = ''
+ )
+ })
+
+ output$logTransformationCode <- renderUI({
+ tags$code(
+ "ggplot(aes(",
+ input$continuous1,
+ ',',
+ input$continuous2,
+ "), data=iris)+
+ geom_point(aes(colour = factor(Species)))+
+ coord_trans(x='log2', y='log2')+
+ ggtitle('Log Transformation')",
+ seq = ''
+ )
+ })
+
+ output$twobarcode <- renderUI({
+ tags$code(
+ "ggplot(data=iris, aes(",
+ input$continuous1,
+ ',',
+ input$continuous2,
+ "fill=factor(Species)))+
+ geom_bar(stat='identity')+
+ ggtitle('Bar Plot')",
+ seq = ''
+ )
+ })
+
+ output$twoboxcode <- renderUI({
+ tags$code(
+ "ggplot(data=iris, aes(",
+ input$continuous1,
+ ',',
+ input$continuous2,
+ "color=Species)) +
+ geom_boxplot()+
+ ggtitle('Boxplot')",
+ seq = ''
+ )
+ })
+
+
+ #### Exercises Part ----
+
+ observeEvent(input$nextq, {
+ updateSelectInput(session,
+ "answer",
+ "pick an answer from below",
+ c("", "A", "B", "C"))
+
+ output$mark <- renderUI({
+ img(src = NULL, width = 30)
+ })
+ disable("submit")
+ })
+
+
+ ###### question bank
+ value <- reactiveValues(index = 1,
+ mistake = 0,
+ correct = 0)
+ ans <- as.matrix(bank[1:14, 6])
+ index_list <- reactiveValues(list = sample(2:14, 10, replace = FALSE))
+
+ observeEvent(input$nextq, {
+ value$answerbox <- value$index
+ index_list$list = index_list$list[-1]
+ value$index <- index_list$list[1]
+ value$answerbox <- value$index
+
+ updateButton(session, "nextq", disabled = TRUE)
+ updateButton(session, "submit", disabled = FALSE)
+ })
+
+ output$question <- renderUI({
+ h4(bank[value$index, 2])
+ })
+
+ output$options <- renderUI({
+ str1 <- paste("A.", bank[value$index, 3])
+ str2 <- paste("B.", bank[value$index, 4])
+ str3 <- paste("C.", bank[value$index, 5])
+ HTML(paste(str1, str2, str3, sep = '
'))
+ })
+
+
+ observeEvent(input$answer, {
+ req(input$answer, input$answer != '')
+ answer <- isolate(input$answer)
+ enable("submit")
+ })
+
+
+ getResponseText <- function(index, answer) {
+ if (answer == 'A') {
+ key = 3
+ } else if (answer == 'B') {
+ key = 4
+ } else {
+ key = 5
+ }
+ return(bank[index, key])
+ }
+
+ observeEvent(input$submit, {
+ if (length(index_list$list) == 1) {
+ updateButton(session, "nextq", disabled = TRUE)
+ updateButton(session, "submit", disabled = TRUE)
+ updateButton(session, "reset", disabled = FALSE)
+ }
+ else{
+ updateButton(session, "nextq", disabled = FALSE)
+ updateButton(session, "submit", disabled = TRUE)
+ updateButton(session, "reset", disabled = FALSE)
+ }
+ answer <- isolate(input$answer)
+
+ output$mark <- boastUtils::renderIcon(
+ icon = ifelse(any(answer == ans[value$index, 1]),
+ "correct",
+ "incorrect"),
+ width = 50)
+ })
+
+ observeEvent(input$reset, {
+ updateButton(session, "submit", disabled = FALSE)
+ updateButton(session, "reset", disable = TRUE)
+ updateSelectInput(session,
+ "answer",
+ "pick an answer from below",
+ c("", "A", "B", "C"))
+ index_list$list <-
+ c(index_list$list, sample(2:14, 10, replace = FALSE))
+ value$index <- 1
+ value$answerbox = value$index
+ ans <- as.matrix(bank[1:14, 6])
+ output$mark <- renderUI({
+ img(src = NULL, width = 30)
+ })
+
+ })
+ ### advanced visualization ----
+ #### Maps ----
+ #a. usMap
+ output$usMapOut1 <- renderCachedPlot({
+ USArrests2 <- USArrests %>% rownames_to_column(var = "state")
+ # USArrests2 <- USArrests %>% st_as_sf()
+ mUSMap(
+ data = USArrests2,
+ key = "state",
+ fill = "UrbanPop",
+ plot = input$usMap1,
+ style = input$usMap2
+ )
+ }, cacheKeyExpr = {
+ list(input$usMap1, input$usMap2)
+ })
+
+ output$usMapOut2 <- renderUI ({
+ tags$code(
+ 'mUSMap(USArrests2, key = "state", fill = "UrbanPop", plot = "',
+ input$usMap1,
+ '", style = "',
+ input$usMap2,
+ '")'
+ )
+ })
+
+ #plotly US Map - code
+ output$plotlyUScode <- renderUI ({
+ tags$code('p <- plot_geo(df, locationmode = "USA-states", sizes = c(1, 250))')
+ })
+
+ #plotly US Map
+ output$plotlyUSMap <- renderPlotly({
+ df <-
+ read.csv(
+ 'https://raw.githubusercontent.com/plotly/datasets/master/2014_us_cities.csv'
+ )
+ df$q <- with(df, cut(pop, quantile(pop)))
+ levels(df$q) <-
+ paste(c("1st", "2nd", "3rd", "4th", "5th"), "Quantile")
+ df$q <- as.ordered(df$q)
+
+ g <- list(
+ scope = 'usa',
+ projection = list(type = 'albers usa'),
+ showland = TRUE,
+ landcolor = toRGB("gray85"),
+ subunitwidth = 1,
+ countrywidth = 1,
+ subunitcolor = toRGB("white"),
+ countrycolor = toRGB("white")
+ )
+
+ p <-
+ plot_geo(df, locationmode = 'USA-states', sizes = c(1, 250)) %>%
+ add_markers(
+ x = ~ lon,
+ y = ~ lat,
+ size = ~ pop,
+ color = ~ q,
+ hoverinfo = "text",
+ text = ~ paste(df$name, "
", df$pop / 1e6, " million")
+ ) %>%
+ layout(
+ title = '2014 US city populations
(Click legend to toggle)', geo = g
+ )
+ g
+ p
+ })
+
+
+ #### 3D Plots ----
+ #a. Normal Simulation via Plotly
+ output$plotly1 <- renderPlotly ({
+ plot_ly(
+ x = rnorm(input$Exsel1),
+ y = rnorm(input$Exsel1),
+ z = rnorm(input$Exsel1),
+ type = 'scatter3d',
+ mode = 'markers'
+ )
+ })
+
+ output$ExCode <- renderUI ({
+ tags$code(
+ 'plot_ly(x = rnorm(',
+ input$Exsel1,
+ '), y = rnorm(',
+ input$Exsel1,
+ '), z = rnorm(',
+ input$Exsel1,
+ '), type = "scatter3d", mode = "markers")'
+ )
+ })
+
+
+ output$hover <- renderPrint({
+ dataHover <- event_data("plotly_hover")
+ if (is.null(dataHover)) {
+ "Hover events appear here (unhover to clear)"
+ }
+ else {
+ dataHover
+ }
+ })
+
+ output$click <- renderPrint({
+ dataClick <- event_data("plotly_click")
+ if (is.null(dataClick)) {
+ "Click events appear here (double-click to clear)"
+ }
+ else {
+ dataClick
+ }
+ })
+
+ #b. Basic Scatter Plot
+ output$basicRcode <- renderUI ({
+ tags$code(
+ 'scatter3D(x, y, z, clab = c("Sepal", "Width (cm)"),
+ xlab = input$basicX, ylab = input$basicY, zlab = input$basicZ)'
+ )
+ })
+
+ output$bspTable <- renderTable ({
+ head(iris)
+ })
+
+ output$bspOut1 <- renderPlot({
+ x <- iris[, input$basicX]
+ y <- iris[, input$basicY]
+ z <- iris[, input$basicZ]
+ scatter3D(
+ x,
+ y,
+ z,
+ clab = c("Sepal", "Width (cm)"),
+ xlab = input$basicX,
+ ylab = input$basicY,
+ zlab = input$basicZ
+ )
+ })
+
+ #e. 3D Texts Plot
+ output$textRcode <- renderUI ({
+ tags$code(
+ 'with(USArrests, text3D(Murder, Assault, Rape,
+ labels = rownames(USArrests), colvar = UrbanPop,
+ col = gg.col(100), theta = 60, phi = 20,
+ xlab = "Murder", ylab = "Assault", zlab = "Rape",
+ main = "USA arrests", cex = 0.6,
+ bty = "g", ticktype = "detailed", d = 2,
+ clab = c("Urban","Pop"), adj = 0.5, font = 2))'
+ )
+ })
+
+ output$textTable <- renderTable ({
+ head(USArrests)
+ })
+
+ output$textOut <- renderPlot ({
+ data(USArrests)
+ with(
+ USArrests,
+ text3D(
+ Murder,
+ Assault,
+ Rape,
+ labels = rownames(USArrests),
+ colvar = UrbanPop,
+ col = gg.col(100),
+ theta = 60,
+ phi = 20,
+ xlab = "Murder",
+ ylab = "Assault",
+ zlab = "Rape",
+ main = "USA arrests",
+ cex = 0.6,
+ bty = "g",
+ ticktype = "detailed",
+ d = 2,
+ clab = c("Urban", "Pop"),
+ adj = 0.5,
+ font = 2
+ )
+ )
+ })
+
+ #### 2D Line Plots ----
+ output$plotly2 <- renderPlotly ({
+ trace_0 <-
+ rnorm(as.numeric(input$LPsel1), mean = as.numeric(input$LPnum1))
+ trace_1 <-
+ rnorm(as.numeric(input$LPsel1), mean = as.numeric(input$LPnum2))
+ x = c(1:as.numeric(input$LPsel1))
+ data <- data.frame(x, trace_0, trace_1)
+ if (input$LPSEL1 == 'Lines' & input$LPSEL2 == 'Lines') {
+ plot_ly(
+ data,
+ x = ~ x,
+ y = ~ trace_0,
+ name = 'trace 0',
+ type = 'scatter',
+ mode = 'lines'
+ ) %>%
+ add_trace(y = ~ trace_1,
+ name = 'trace 1',
+ mode = 'lines')
+ }
+ else if (input$LPSEL1 == 'Markers' &
+ input$LPSEL2 == 'Markers') {
+ plot_ly(
+ data,
+ x = ~ x,
+ y = ~ trace_0,
+ name = 'trace 0',
+ type = 'scatter',
+ mode = 'markers'
+ ) %>%
+ add_trace(y = ~ trace_1,
+ name = 'trace 1',
+ mode = 'markers')
+ }
+ else if (input$LPSEL1 == 'Lines' & input$LPSEL2 == 'Markers') {
+ plot_ly(
+ data,
+ x = ~ x,
+ y = ~ trace_0,
+ name = 'trace 0',
+ type = 'scatter',
+ mode = 'lines'
+ ) %>%
+ add_trace(y = ~ trace_1,
+ name = 'trace 1',
+ mode = 'markers')
+ }
+ else {
+ plot_ly(
+ data,
+ x = ~ x,
+ y = ~ trace_0,
+ name = 'trace 0',
+ type = 'scatter',
+ mode = 'markers'
+ ) %>%
+ add_trace(y = ~ trace_1,
+ name = 'trace 1',
+ mode = 'lines')
+ }
+ })
+
+ output$LPCode <- renderUI ({
+ tags$code(
+ 'plot_ly(data, x = ~x, y = ~trace_0, name = "trace 0",
+ type = "scatter", mode = "lines") %>%
+ add_trace(y = ~trace_1, name = "trace 1", mode = "markers + lines")'
+ )
+ })
+
+ #### Contour Plots and Heatmaps ----
+ #contour plot
+ output$proteinInt <- renderPlot ({
+ potentials <-
+ as.matrix(read.table(
+ "MULTIPOT_lu.txt",
+ row.names = 1,
+ header = TRUE
+ ))
+ matrix.axes <- function(data) {
+ # Do the rows, las=2 for text perpendicular to the axis
+ x <- (1:dim(data)[1] - 1) / (dim(data)[1] - 1)
+
+ axis(
+ side = 1,
+ at = x,
+ labels = rownames(data),
+ las = 2
+ )
+
+ # Do the columns
+ x <- (1:dim(data)[2] - 1) / (dim(data)[2] - 1)
+
+ axis(
+ side = 2,
+ at = x,
+ labels = colnames(data),
+ las = 2
+ )
+
+ }
+ filled.contour(potentials,
+ plot.axes = matrix.axes(potentials),
+ main = "Protein-Protein Interaction Potential")
+ })
+
+ output$plotly3 <- renderPlotly({
+ if (input$contourLabel == FALSE) {
+ plot_ly(z = volcano,
+ type = "contour",
+ colors = colorRamp(c("purple", "green")))
+ }
+ else {
+ plot_ly(
+ z = volcano,
+ type = "contour",
+ colors = colorRamp(c("purple", "green")),
+ contours = list(showlabels = TRUE)
+ )
+ }
+ })
+
+ #contour plot r code
+ output$CPCode1 <- renderUI ({
+ if (input$contourLabel == FALSE) {
+ tags$code(
+ 'plot_ly(z = volcano, type = "contour",
+ colors = colorRamp(c("purple", "green")))'
+ )
+ }
+ else {
+ tags$code(
+ 'plot_ly(z = volcano, type = "contour",
+ colors = colorRamp(c("purple", "green")),
+ contours = list(showlabels = TRUE))'
+ )
+ }
+ })
+
+ #heatmap
+ output$plotly4 <- renderPlotly({
+ if (input$heatmapCol == 'purple+green') {
+ plot_ly(z = volcano,
+ type = "heatmap",
+ colors = colorRamp(c("purple", "green")))
+ }
+ else if (input$heatmapCol == 'yellow+red') {
+ plot_ly(z = volcano,
+ type = "heatmap",
+ colors = colorRamp(c("yellow", "red")))
+ }
+ else if (input$heatmapCol == 'pink+purple') {
+ plot_ly(z = volcano,
+ type = "heatmap",
+ colors = colorRamp(c("pink", "purple")))
+ }
+ else {
+ plot_ly(z = volcano,
+ type = "heatmap",
+ colors = colorRamp(c("white", "black")))
+ }
+ })
+
+ #heatmaps r code
+ output$CPCode2 <- renderUI ({
+ if (input$heatmapCol == 'purple+green') {
+ tags$code(
+ 'plot_ly(z = volcano, type = "heatmap",
+ colors = colorRamp(c("purple", "green")))'
+ )
+ }
+ else if (input$heatmapCol == 'yellow+red') {
+ tags$code('plot_ly(z = volcano, type = "heatmap",
+ colors = colorRamp(c("yellow", "red")))')
+ }
+ else if (input$heatmapCol == 'pink+purple') {
+ tags$code('plot_ly(z = volcano, type = "heatmap",
+ colors = colorRamp(c("pink", "purple")))')
+ }
+ else {
+ tags$code('plot_ly(z = volcano, type = "heatmap",
+ colors = colorRamp(c("white", "black")))')
+ }
+ })
+
+ output$cars1 <- renderPlotly ({
+ head(mtcars)
+ data = as.matrix(mtcars)
+ data = apply(data, 2, function(x) {
+ x / mean(x)
+ })
+ plot_ly(
+ x = colnames(data),
+ y = rownames(data),
+ z = data,
+ type = "heatmap"
+ )
+ })
+
+}
+# Boast App Call ----
+boastUtils::boastApp(ui = ui, server = server)
diff --git a/coverpic.png b/coverpic.png
deleted file mode 100644
index 4af7f56..0000000
Binary files a/coverpic.png and /dev/null differ
diff --git a/LICENSE.md b/docs/LICENSE.md
similarity index 100%
rename from LICENSE.md
rename to docs/LICENSE.md
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..51f715d
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,9 @@
+# Data Visualization
+
+[](https://creativecommons.org/licenses/by-nc-sa/4.0/) 
+
+
+
+# APP DESCRIPTION
+The goal of the app is to provide users with a comprehensive introduction to data visualization, covering both basic and advanced techniques using ggplot, Rplot, and other tools.
+
diff --git a/docs/screenshot.PNG b/docs/screenshot.PNG
new file mode 100644
index 0000000..762ad86
Binary files /dev/null and b/docs/screenshot.PNG differ
diff --git a/figure/unnamed-chunk-3-1.png b/figure/unnamed-chunk-3-1.png
new file mode 100644
index 0000000..2a5f3b7
Binary files /dev/null and b/figure/unnamed-chunk-3-1.png differ
diff --git a/figure/unnamed-chunk-4-1.png b/figure/unnamed-chunk-4-1.png
new file mode 100644
index 0000000..2a5f3b7
Binary files /dev/null and b/figure/unnamed-chunk-4-1.png differ
diff --git a/figure/unnamed-chunk-5-1.png b/figure/unnamed-chunk-5-1.png
index 7a3b328..2a5f3b7 100644
Binary files a/figure/unnamed-chunk-5-1.png and b/figure/unnamed-chunk-5-1.png differ
diff --git a/figure/unnamed-chunk-9-1.png b/figure/unnamed-chunk-9-1.png
new file mode 100644
index 0000000..be15535
Binary files /dev/null and b/figure/unnamed-chunk-9-1.png differ
diff --git a/manifest.json b/manifest.json
deleted file mode 100644
index 0c8d035..0000000
--- a/manifest.json
+++ /dev/null
@@ -1,3906 +0,0 @@
-{
- "version": 1,
- "locale": "en_US",
- "platform": "3.6.1",
- "metadata": {
- "appmode": "shiny",
- "primary_rmd": null,
- "primary_html": null,
- "content_category": null,
- "has_parameters": false
- },
- "packages": {
- "BH": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "BH",
- "Type": "Package",
- "Title": "Boost C++ Header Files",
- "Version": "1.69.0-1",
- "Date": "2019-01-07",
- "Author": "Dirk Eddelbuettel, John W. Emerson and Michael J. Kane",
- "Maintainer": "Dirk Eddelbuettel ",
- "Description": "Boost provides free peer-reviewed portable C++ source \n libraries. A large part of Boost is provided as C++ template code\n which is resolved entirely at compile-time without linking. This \n package aims to provide the most useful subset of Boost libraries \n for template use among CRAN package. By placing these libraries in \n this package, we offer a more efficient distribution system for CRAN \n as replication of this code in the sources of other packages is \n avoided. As of release 1.69.0-1, the following Boost libraries are\n included: 'algorithm' 'align' 'any' 'atomic' 'bimap' 'bind'\n 'circular_buffer' 'compute' 'concept' 'config' 'container' 'date_time'\n 'detail' 'dynamic_bitset' 'exception' 'filesystem' 'flyweight' 'foreach'\n 'functional' 'fusion' 'geometry' 'graph' 'heap' 'icl' 'integer'\n 'interprocess' 'intrusive' 'io' 'iostreams' 'iterator' 'math' 'move' 'mpl'\n 'multiprcecision' 'numeric' 'pending' 'phoenix' 'preprocessor'\n 'propery_tree' 'random' 'range' 'scope_exit' 'smart_ptr' 'sort' 'spirit'\n 'tuple' 'type_traits' 'typeof' 'unordered' 'utility' 'uuid'.",
- "License": "BSL-1.0",
- "BugReports": "https://github.com/eddelbuettel/bh/issues",
- "NeedsCompilation": "no",
- "Packaged": "2019-01-07 12:00:43.681885 UTC; edd",
- "Repository": "CRAN",
- "Date/Publication": "2019-01-07 19:50:25 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 19:51:17 UTC; unix"
- }
- },
- "MASS": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "MASS",
- "Priority": "recommended",
- "Version": "7.3-51.4",
- "Date": "2019-03-31",
- "Revision": "$Rev: 3496 $",
- "Depends": "R (>= 3.1.0), grDevices, graphics, stats, utils",
- "Imports": "methods",
- "Suggests": "lattice, nlme, nnet, survival",
- "Authors@R": "c(person(\"Brian\", \"Ripley\", role = c(\"aut\", \"cre\", \"cph\"),\n email = \"ripley@stats.ox.ac.uk\"),\n\t person(\"Bill\", \"Venables\", role = \"ctb\"),\n\t person(c(\"Douglas\", \"M.\"), \"Bates\", role = \"ctb\"),\n\t person(\"Kurt\", \"Hornik\", role = \"trl\",\n comment = \"partial port ca 1998\"),\n\t person(\"Albrecht\", \"Gebhardt\", role = \"trl\",\n comment = \"partial port ca 1998\"),\n\t person(\"David\", \"Firth\", role = \"ctb\"))",
- "Description": "Functions and datasets to support Venables and Ripley,\n \"Modern Applied Statistics with S\" (4th edition, 2002).",
- "Title": "Support Functions and Datasets for Venables and Ripley's MASS",
- "LazyData": "yes",
- "ByteCompile": "yes",
- "License": "GPL-2 | GPL-3",
- "URL": "http://www.stats.ox.ac.uk/pub/MASS4/",
- "Contact": "",
- "NeedsCompilation": "yes",
- "Packaged": "2019-03-31 07:00:08 UTC; ripley",
- "Author": "Brian Ripley [aut, cre, cph],\n Bill Venables [ctb],\n Douglas M. Bates [ctb],\n Kurt Hornik [trl] (partial port ca 1998),\n Albrecht Gebhardt [trl] (partial port ca 1998),\n David Firth [ctb]",
- "Maintainer": "Brian Ripley ",
- "Repository": "CRAN",
- "Date/Publication": "2019-03-31 07:55:05 UTC",
- "Built": "R 3.6.1; x86_64-apple-darwin15.6.0; 2019-07-06 02:02:14 UTC; unix"
- }
- },
- "Matrix": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "Matrix",
- "Version": "1.2-18",
- "Date": "2019-11-25",
- "Priority": "recommended",
- "Title": "Sparse and Dense Matrix Classes and Methods",
- "Contact": "Doug and Martin ",
- "Maintainer": "Martin Maechler ",
- "Authors@R": "c(person(\"Douglas\",\"Bates\", role=\"aut\")\n , person(\"Martin\",\"Maechler\", role = c(\"aut\",\"cre\"), email=\"mmaechler+Matrix@gmail.com\",\n comment = c(ORCID = \"0000-0002-8685-9910\"))\n , person(\"Timothy A.\", \"Davis\", role=\"ctb\",\n comment = c(\"SuiteSparse and 'cs' C libraries, notably CHOLMOD, AMD;\n\t\t collaborators listed in\n\t\t\tdir(pattern = '^[A-Z]+[.]txt$', full.names=TRUE,\n\t\t\t system.file('doc', 'SuiteSparse', package='Matrix'))\"))\n , person(\"Jens\", \"Oehlschlägel\", role=\"ctb\", comment=\"initial nearPD()\")\n , person(\"Jason\", \"Riedy\", role=\"ctb\",\n comment = c(\"condest() and onenormest() for octave\",\n \t \t \"Copyright: Regents of the University of California\"))\n , person(\"R Core Team\", role = \"ctb\", comment=\"base R matrix implementation\")\n )",
- "Description": "A rich hierarchy of matrix classes, including triangular,\n symmetric, and diagonal matrices, both dense and sparse and with\n pattern, logical and numeric entries. Numerous methods for and\n operations on these matrices, using 'LAPACK' and 'SuiteSparse' libraries.",
- "Depends": "R (>= 3.2.0)",
- "Imports": "methods, graphics, grid, stats, utils, lattice",
- "Suggests": "expm, MASS",
- "Enhances": "MatrixModels, graph, SparseM, sfsmisc",
- "Encoding": "UTF-8",
- "LazyData": "no",
- "LazyDataNote": "not possible, since we use data/*.R *and* our classes",
- "BuildResaveData": "no",
- "License": "GPL (>= 2) | file LICENCE",
- "URL": "http://Matrix.R-forge.R-project.org/",
- "BugReports": "https://r-forge.r-project.org/tracker/?group_id=61",
- "NeedsCompilation": "yes",
- "Packaged": "2019-11-26 17:17:19 UTC; maechler",
- "Author": "Douglas Bates [aut],\n Martin Maechler [aut, cre] (),\n Timothy A. Davis [ctb] (SuiteSparse and 'cs' C libraries, notably\n CHOLMOD, AMD; collaborators listed in dir(pattern =\n '^[A-Z]+[.]txt$', full.names=TRUE, system.file('doc',\n 'SuiteSparse', package='Matrix'))),\n Jens Oehlschlägel [ctb] (initial nearPD()),\n Jason Riedy [ctb] (condest() and onenormest() for octave, Copyright:\n Regents of the University of California),\n R Core Team [ctb] (base R matrix implementation)",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-27 15:20:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-11-28 14:16:28 UTC; unix"
- }
- },
- "R6": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "R6",
- "Title": "Encapsulated Classes with Reference Semantics",
- "Version": "2.4.1",
- "Authors@R": "person(\"Winston\", \"Chang\", role = c(\"aut\", \"cre\"), email = \"winston@stdout.org\")",
- "Description": "Creates classes with reference semantics, similar to R's built-in\n reference classes. Compared to reference classes, R6 classes are simpler\n and lighter-weight, and they are not built on S4 classes so they do not\n require the methods package. These classes allow public and private\n members, and they support inheritance, even when the classes are defined in\n different packages.",
- "Depends": "R (>= 3.0)",
- "Suggests": "knitr, microbenchmark, pryr, testthat, ggplot2, scales",
- "License": "MIT + file LICENSE",
- "URL": "https://r6.r-lib.org, https://github.com/r-lib/R6/",
- "LazyData": "true",
- "BugReports": "https://github.com/r-lib/R6/issues",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "no",
- "Packaged": "2019-11-12 20:00:15 UTC; winston",
- "Author": "Winston Chang [aut, cre]",
- "Maintainer": "Winston Chang ",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-12 22:50:03 UTC",
- "Built": "R 3.6.0; ; 2019-11-13 16:10:18 UTC; unix"
- }
- },
- "RColorBrewer": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "RColorBrewer",
- "Version": "1.1-2",
- "Date": "2014-12-07",
- "Title": "ColorBrewer Palettes",
- "Authors@R": "c(person(given = \"Erich\", family = \"Neuwirth\", role = c(\"aut\",\n \"cre\"), email = \"erich.neuwirth@univie.ac.at\"))",
- "Author": "Erich Neuwirth [aut, cre]",
- "Maintainer": "Erich Neuwirth ",
- "Depends": "R (>= 2.0.0)",
- "Description": "Provides color schemes for maps (and other graphics)\n designed by Cynthia Brewer as described at http://colorbrewer2.org",
- "License": "Apache License 2.0",
- "Packaged": "2014-12-06 23:59:42 UTC; neuwirth",
- "NeedsCompilation": "no",
- "Repository": "CRAN",
- "Date/Publication": "2014-12-07 08:28:55",
- "Built": "R 3.6.0; ; 2019-04-26 19:50:52 UTC; unix"
- }
- },
- "Rcpp": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "Rcpp",
- "Title": "Seamless R and C++ Integration",
- "Version": "1.0.3",
- "Date": "2019-11-08",
- "Author": "Dirk Eddelbuettel, Romain Francois, JJ Allaire, Kevin Ushey, Qiang Kou,\n Nathan Russell, Douglas Bates and John Chambers",
- "Maintainer": "Dirk Eddelbuettel ",
- "Description": "The 'Rcpp' package provides R functions as well as C++ classes which\n offer a seamless integration of R and C++. Many R data types and objects can be\n mapped back and forth to C++ equivalents which facilitates both writing of new\n code as well as easier integration of third-party libraries. Documentation\n about 'Rcpp' is provided by several vignettes included in this package, via the\n 'Rcpp Gallery' site at , the paper by Eddelbuettel and\n Francois (2011, ), the book by Eddelbuettel (2013,\n ) and the paper by Eddelbuettel and Balamuta (2018,\n ); see 'citation(\"Rcpp\")' for details.",
- "Depends": "R (>= 3.0.0)",
- "Imports": "methods, utils",
- "Suggests": "RUnit, inline, rbenchmark, knitr, rmarkdown, pinp, pkgKitten\n(>= 0.1.2)",
- "VignetteBuilder": "knitr",
- "URL": "http://www.rcpp.org, http://dirk.eddelbuettel.com/code/rcpp.html,\nhttps://github.com/RcppCore/Rcpp",
- "License": "GPL (>= 2)",
- "BugReports": "https://github.com/RcppCore/Rcpp/issues",
- "MailingList": "Please send questions and comments regarding Rcpp to\nrcpp-devel@lists.r-forge.r-project.org",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "yes",
- "Packaged": "2019-11-08 18:25:32.94843 UTC; edd",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-08 23:44:12",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-11-10 16:42:16 UTC; unix"
- }
- },
- "RgoogleMaps": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "RgoogleMaps",
- "Type": "Package",
- "Title": "Overlays on Static Maps",
- "Version": "1.4.4",
- "Date": "2019-08-15",
- "Depends": "R (>= 2.10)",
- "Imports": "graphics, stats, utils, grDevices, methods, png",
- "Suggests": "PBSmapping, maptools, sp, loa, RColorBrewer, leaflet",
- "Author": "Markus Loecher ",
- "URL": "http://rgooglemaps.r-forge.r-project.org/QuickTutorial.html",
- "Maintainer": "Markus Loecher ",
- "Description": "Serves two purposes: (i) Provide a\n comfortable R interface to query the Google server for static\n maps, and (ii) Use the map as a background image to overlay\n plots within R. This requires proper coordinate scaling.",
- "License": "GPL",
- "LazyLoad": "yes",
- "Repository": "CRAN",
- "Repository/R-Forge/Project": "rgooglemaps",
- "Repository/R-Forge/Revision": "20",
- "Repository/R-Forge/DateTimeStamp": "2017-02-09 15:29:12",
- "Date/Publication": "2019-08-20 12:40:05 UTC",
- "NeedsCompilation": "no",
- "Packaged": "2019-08-20 11:25:59 UTC; loecherm",
- "Built": "R 3.6.0; ; 2019-08-21 14:33:54 UTC; unix"
- }
- },
- "askpass": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "askpass",
- "Type": "Package",
- "Title": "Safe Password Entry for R, Git, and SSH",
- "Version": "1.1",
- "Authors@R": "person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), \n email = \"jeroen@berkeley.edu\", comment = c(ORCID = \"0000-0002-4035-0289\"))",
- "Description": "Cross-platform utilities for prompting the user for credentials or a \n passphrase, for example to authenticate with a server or read a protected key.\n Includes native programs for MacOS and Windows, hence no 'tcltk' is required. \n Password entry can be invoked in two different ways: directly from R via the \n askpass() function, or indirectly as password-entry back-end for 'ssh-agent' \n or 'git-credential' via the SSH_ASKPASS and GIT_ASKPASS environment variables.\n Thereby the user can be prompted for credentials or a passphrase if needed \n when R calls out to git or ssh.",
- "License": "MIT + file LICENSE",
- "URL": "https://github.com/jeroen/askpass#readme",
- "BugReports": "https://github.com/jeroen/askpass/issues",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "Imports": "sys (>= 2.1)",
- "RoxygenNote": "6.1.1",
- "Suggests": "testthat",
- "Language": "en-US",
- "NeedsCompilation": "yes",
- "Packaged": "2019-01-13 12:08:17 UTC; jeroen",
- "Author": "Jeroen Ooms [aut, cre] ()",
- "Maintainer": "Jeroen Ooms ",
- "Repository": "CRAN",
- "Date/Publication": "2019-01-13 12:50:03 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 22:26:39 UTC; unix"
- }
- },
- "assertthat": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "assertthat",
- "Title": "Easy Pre and Post Assertions",
- "Version": "0.2.1",
- "Authors@R": "\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", c(\"aut\", \"cre\"))",
- "Description": "An extension to stopifnot() that makes it easy to declare \n the pre and post conditions that you code should satisfy, while also \n producing friendly error messages so that your users know what's gone\n wrong.",
- "License": "GPL-3",
- "Imports": "tools",
- "Suggests": "testthat, covr",
- "RoxygenNote": "6.0.1",
- "Collate": "'assert-that.r' 'on-failure.r' 'assertions-file.r'\n'assertions-scalar.R' 'assertions.r' 'base.r'\n'base-comparison.r' 'base-is.r' 'base-logical.r' 'base-misc.r'\n'utils.r' 'validate-that.R'",
- "NeedsCompilation": "no",
- "Packaged": "2019-03-21 13:11:01 UTC; hadley",
- "Author": "Hadley Wickham [aut, cre]",
- "Maintainer": "Hadley Wickham ",
- "Repository": "CRAN",
- "Date/Publication": "2019-03-21 14:53:46 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 19:49:57 UTC; unix"
- }
- },
- "backports": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "backports",
- "Type": "Package",
- "Title": "Reimplementations of Functions Introduced Since R-3.0.0",
- "Version": "1.1.5",
- "Authors@R": "c(\n person(\"Michel\", \"Lang\", NULL, \"michellang@gmail.com\",\n role = c(\"cre\", \"aut\"), comment = c(ORCID = \"0000-0001-9754-0393\")),\n person(\"R Core Team\", role = \"aut\"))",
- "Maintainer": "Michel Lang ",
- "Description": "\n Functions introduced or changed since R v3.0.0 are re-implemented in this\n package. The backports are conditionally exported in order to let R resolve\n the function name to either the implemented backport, or the respective base\n version, if available. Package developers can make use of new functions or\n arguments by selectively importing specific backports to\n support older installations.",
- "URL": "https://github.com/r-lib/backports",
- "BugReports": "https://github.com/r-lib/backports/issues",
- "License": "GPL-2 | GPL-3",
- "NeedsCompilation": "yes",
- "ByteCompile": "yes",
- "Depends": "R (>= 3.0.0)",
- "Imports": "utils",
- "Encoding": "UTF-8",
- "RoxygenNote": "6.1.1",
- "Packaged": "2019-10-02 18:35:28 UTC; michel",
- "Author": "Michel Lang [cre, aut] (),\n R Core Team [aut]",
- "Repository": "CRAN",
- "Date/Publication": "2019-10-02 20:20:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-10-03 14:31:42 UTC; unix"
- }
- },
- "base64enc": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "base64enc",
- "Version": "0.1-3",
- "Title": "Tools for base64 encoding",
- "Author": "Simon Urbanek ",
- "Maintainer": "Simon Urbanek ",
- "Depends": "R (>= 2.9.0)",
- "Enhances": "png",
- "Description": "This package provides tools for handling base64 encoding. It is more flexible than the orphaned base64 package.",
- "License": "GPL-2 | GPL-3",
- "URL": "http://www.rforge.net/base64enc",
- "NeedsCompilation": "yes",
- "Packaged": "2015-02-04 20:31:00 UTC; svnuser",
- "Repository": "CRAN",
- "Date/Publication": "2015-07-28 08:03:37",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:50:57 UTC; unix"
- }
- },
- "bitops": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "bitops",
- "Version": "1.0-6",
- "Date": "2013-08-17",
- "Author": "S original by Steve Dutky initial R\n port and extensions by Martin Maechler; revised and modified\n by Steve Dutky",
- "Maintainer": "Martin Maechler ",
- "Title": "Bitwise Operations",
- "Description": "Functions for bitwise operations on integer vectors.",
- "License": "GPL (>= 2)",
- "Packaged": "2013-08-17 15:58:57 UTC; maechler",
- "NeedsCompilation": "yes",
- "Repository": "CRAN",
- "Date/Publication": "2013-08-17 21:10:34",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:55:48 UTC; unix"
- }
- },
- "broom": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Type": "Package",
- "Package": "broom",
- "Title": "Convert Statistical Analysis Objects into Tidy Tibbles",
- "Version": "0.5.2",
- "Authors@R": "\n c(person(given = \"David\",\n family = \"Robinson\",\n role = \"aut\",\n email = \"admiral.david@gmail.com\"),\n person(given = \"Alex\",\n family = \"Hayes\",\n role = c(\"aut\", \"cre\"),\n email = \"alexpghayes@gmail.com\",\n comment = c(ORCID = \"0000-0002-4985-5160\")),\n person(given = \"Matthieu\",\n family = \"Gomez\",\n role = \"ctb\",\n email = \"mattg@princeton.edu\"),\n person(given = \"Boris\",\n family = \"Demeshev\",\n role = \"ctb\",\n email = \"boris.demeshev@gmail.com\"),\n person(given = \"Dieter\",\n family = \"Menne\",\n role = \"ctb\",\n email = \"dieter.menne@menne-biomed.de\"),\n person(given = \"Benjamin\",\n family = \"Nutter\",\n role = \"ctb\",\n email = \"nutter@battelle.org\"),\n person(given = \"Luke\",\n family = \"Johnston\",\n role = \"ctb\",\n email = \"luke.johnston@mail.utoronto.ca\"),\n person(given = \"Ben\",\n family = \"Bolker\",\n role = \"ctb\",\n email = \"bolker@mcmaster.ca\"),\n person(given = \"Francois\",\n family = \"Briatte\",\n role = \"ctb\",\n email = \"f.briatte@gmail.com\"),\n person(given = \"Jeffrey\",\n family = \"Arnold\",\n role = \"ctb\",\n email = \"jeffrey.arnold@gmail.com\"),\n person(given = \"Jonah\",\n family = \"Gabry\",\n role = \"ctb\",\n email = \"jsg2201@columbia.edu\"),\n person(given = \"Luciano\",\n family = \"Selzer\",\n role = \"ctb\",\n email = \"luciano.selzer@gmail.com\"),\n person(given = \"Gavin\",\n family = \"Simpson\",\n role = \"ctb\",\n email = \"ucfagls@gmail.com\"),\n person(given = \"Jens\",\n family = \"Preussner\",\n role = \"ctb\",\n email = \" jens.preussner@mpi-bn.mpg.de\"),\n person(given = \"Jay\",\n family = \"Hesselberth\",\n role = \"ctb\",\n email = \"jay.hesselberth@gmail.com\"),\n person(given = \"Hadley\",\n family = \"Wickham\",\n role = \"ctb\",\n email = \"hadley@rstudio.com\"),\n person(given = \"Matthew\",\n family = \"Lincoln\",\n role = \"ctb\",\n email = \"matthew.d.lincoln@gmail.com\"),\n person(given = \"Alessandro\",\n family = \"Gasparini\",\n role = \"ctb\",\n email = \"ag475@leicester.ac.uk\"),\n person(given = \"Lukasz\",\n family = \"Komsta\",\n role = \"ctb\",\n email = \"lukasz.komsta@umlub.pl\"),\n person(given = \"Frederick\",\n family = \"Novometsky\",\n role = \"ctb\"),\n person(given = \"Wilson\",\n family = \"Freitas\",\n role = \"ctb\"),\n person(given = \"Michelle\",\n family = \"Evans\",\n role = \"ctb\"),\n person(given = \"Jason Cory\",\n family = \"Brunson\",\n role = \"ctb\",\n email = \"cornelioid@gmail.com\"),\n person(given = \"Simon\",\n family = \"Jackson\",\n role = \"ctb\",\n email = \"drsimonjackson@gmail.com\"),\n person(given = \"Ben\",\n family = \"Whalley\",\n role = \"ctb\",\n email = \"ben.whalley@plymouth.ac.uk\"),\n person(given = \"Michael\",\n family = \"Kuehn\",\n role = \"ctb\",\n email = \"mkuehn10@gmail.com\"),\n person(given = \"Jorge\",\n family = \"Cimentada\",\n role = \"ctb\",\n email = \"cimentadaj@gmail.com\"),\n person(given = \"Erle\",\n family = \"Holgersen\",\n role = \"ctb\",\n email = \"erle.holgersen@gmail.com\"),\n person(given = \"Karl\",\n family = \"Dunkle Werner\",\n role = \"ctb\"))",
- "Description": "Summarizes key information about statistical\n objects in tidy tibbles. This makes it easy to report results, create\n plots and consistently work with large numbers of models at once.\n Broom provides three verbs that each provide different types of\n information about a model. tidy() summarizes information about model\n components such as coefficients of a regression. glance() reports\n information about an entire model, such as goodness of fit measures\n like AIC and BIC. augment() adds information about individual\n observations to a dataset, such as fitted values or influence\n measures.",
- "License": "MIT + file LICENSE",
- "URL": "http://github.com/tidyverse/broom",
- "BugReports": "http://github.com/tidyverse/broom/issues",
- "Depends": "R (>= 3.1)",
- "Imports": "backports, dplyr, generics (>= 0.0.2), methods, nlme, purrr,\nreshape2, stringr, tibble, tidyr",
- "Suggests": "AER, akima, AUC, bbmle, betareg, biglm, binGroup, boot, brms,\nbtergm, car, caret, coda, covr, e1071, emmeans, ergm, gam (>=\n1.15), gamlss, gamlss.data, gamlss.dist, geepack, ggplot2,\nglmnet, gmm, Hmisc, irlba, joineRML, Kendall, knitr, ks,\nLahman, lavaan, lfe, lme4, lmodel2, lmtest, lsmeans, maps,\nmaptools, MASS, Matrix, mclust, mgcv, muhaz, multcomp, network,\nnnet, orcutt (>= 2.2), ordinal, plm, plyr, poLCA, psych,\nquantreg, rgeos, rmarkdown, robust, rsample, rstan, rstanarm,\nsp, speedglm, statnet.common, survey, survival, testthat,\ntseries, xergm, zoo",
- "VignetteBuilder": "knitr",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "no",
- "Packaged": "2019-04-07 19:01:07 UTC; alex",
- "Author": "David Robinson [aut],\n Alex Hayes [aut, cre] (),\n Matthieu Gomez [ctb],\n Boris Demeshev [ctb],\n Dieter Menne [ctb],\n Benjamin Nutter [ctb],\n Luke Johnston [ctb],\n Ben Bolker [ctb],\n Francois Briatte [ctb],\n Jeffrey Arnold [ctb],\n Jonah Gabry [ctb],\n Luciano Selzer [ctb],\n Gavin Simpson [ctb],\n Jens Preussner [ctb],\n Jay Hesselberth [ctb],\n Hadley Wickham [ctb],\n Matthew Lincoln [ctb],\n Alessandro Gasparini [ctb],\n Lukasz Komsta [ctb],\n Frederick Novometsky [ctb],\n Wilson Freitas [ctb],\n Michelle Evans [ctb],\n Jason Cory Brunson [ctb],\n Simon Jackson [ctb],\n Ben Whalley [ctb],\n Michael Kuehn [ctb],\n Jorge Cimentada [ctb],\n Erle Holgersen [ctb],\n Karl Dunkle Werner [ctb]",
- "Maintainer": "Alex Hayes ",
- "Repository": "CRAN",
- "Date/Publication": "2019-04-07 19:52:53 UTC",
- "Built": "R 3.6.0; ; 2019-04-27 05:14:02 UTC; unix"
- }
- },
- "checkmate": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "checkmate",
- "Type": "Package",
- "Title": "Fast and Versatile Argument Checks",
- "Description": "Tests and assertions to perform frequent argument checks. A\n substantial part of the package was written in C to minimize any worries\n about execution time overhead.",
- "Version": "1.9.4",
- "Authors@R": "c(\n person(\"Michel\", \"Lang\", NULL, \"michellang@gmail.com\",\n role = c(\"cre\", \"aut\"), comment = c(ORCID = \"0000-0001-9754-0393\")),\n person(\"Bernd\", \"Bischl\", NULL, \"bernd_bischl@gmx.net\", role = \"ctb\")\n )",
- "URL": "https://github.com/mllg/checkmate",
- "URLNote": "https://github.com/mllg/checkmate",
- "BugReports": "https://github.com/mllg/checkmate/issues",
- "NeedsCompilation": "yes",
- "ByteCompile": "yes",
- "Encoding": "UTF-8",
- "Depends": "R (>= 3.0.0)",
- "Imports": "backports (>= 1.1.0), utils",
- "Suggests": "R6, bit, fastmatch, data.table (>= 1.9.8), devtools, ggplot2,\nknitr, magrittr, microbenchmark, rmarkdown, testthat (>=\n0.11.0), tibble",
- "License": "BSD_3_clause + file LICENSE",
- "VignetteBuilder": "knitr",
- "RoxygenNote": "6.1.1",
- "Collate": "'AssertCollection.R' 'allMissing.R' 'anyInfinite.R'\n'anyMissing.R' 'anyNaN.R' 'asInteger.R' 'assert.R' 'helper.R'\n'makeExpectation.R' 'makeTest.R' 'makeAssertion.R'\n'checkAccess.R' 'checkArray.R' 'checkAtomic.R'\n'checkAtomicVector.R' 'checkBit.R' 'checkCharacter.R'\n'checkChoice.R' 'checkClass.R' 'checkComplex.R' 'checkCount.R'\n'checkDataFrame.R' 'checkDataTable.R' 'checkDate.R'\n'checkDirectoryExists.R' 'checkDisjunct.R' 'checkDouble.R'\n'checkEnvironment.R' 'checkFALSE.R' 'checkFactor.R'\n'checkFileExists.R' 'checkFlag.R' 'checkFormula.R'\n'checkFunction.R' 'checkInt.R' 'checkInteger.R'\n'checkIntegerish.R' 'checkList.R' 'checkLogical.R'\n'checkMatrix.R' 'checkMultiClass.R' 'checkNamed.R'\n'checkNames.R' 'checkNull.R' 'checkNumber.R' 'checkNumeric.R'\n'checkOS.R' 'checkPOSIXct.R' 'checkPathForOutput.R' 'checkR6.R'\n'checkRaw.R' 'checkScalar.R' 'checkScalarNA.R'\n'checkSetEqual.R' 'checkString.R' 'checkSubset.R' 'checkTRUE.R'\n'checkTibble.R' 'checkVector.R' 'coalesce.R' 'isIntegerish.R'\n'matchArg.R' 'qassert.R' 'qassertr.R' 'vname.R' 'wfwl.R'\n'zzz.R'",
- "Packaged": "2019-07-04 07:57:30 UTC; lang",
- "Author": "Michel Lang [cre, aut] (),\n Bernd Bischl [ctb]",
- "Maintainer": "Michel Lang ",
- "Repository": "CRAN",
- "Date/Publication": "2019-07-04 16:20:16 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-07-05 14:22:22 UTC; unix"
- }
- },
- "cli": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "cli",
- "Title": "Helpers for Developing Command Line Interfaces",
- "Version": "1.1.0",
- "Authors@R": "c(\n person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", c(\"aut\", \"cre\")),\n person(\"Hadley\", \"Wickham\", role = c(\"ctb\")),\n person(\"Kirill\", \"Müller\", role = c(\"ctb\"))\n )",
- "Description": "A suite of tools designed to build attractive command line\n interfaces ('CLIs'). Includes tools for drawing rules, boxes, trees, and\n 'Unicode' symbols with 'ASCII' alternatives.",
- "License": "MIT + file LICENSE",
- "LazyData": "true",
- "URL": "https://github.com/r-lib/cli#readme",
- "BugReports": "https://github.com/r-lib/cli/issues",
- "RoxygenNote": "6.1.1",
- "Depends": "R (>= 2.10)",
- "Imports": "assertthat, crayon (>= 1.3.4), methods, utils",
- "Suggests": "covr, fansi, mockery, testthat, webshot, withr",
- "Encoding": "UTF-8",
- "NeedsCompilation": "no",
- "Packaged": "2019-03-19 09:55:47 UTC; gaborcsardi",
- "Author": "Gábor Csárdi [aut, cre],\n Hadley Wickham [ctb],\n Kirill Müller [ctb]",
- "Maintainer": "Gábor Csárdi ",
- "Repository": "CRAN",
- "Date/Publication": "2019-03-19 10:43:26 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 22:26:42 UTC; unix"
- }
- },
- "clipr": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Type": "Package",
- "Package": "clipr",
- "Title": "Read and Write from the System Clipboard",
- "Version": "0.7.0",
- "Authors@R": "\n c(person(given = \"Matthew\",\n family = \"Lincoln\",\n role = c(\"aut\", \"cre\"),\n email = \"matthew.d.lincoln@gmail.com\",\n comment = c(ORCID = \"0000-0002-4387-3384\")),\n person(given = \"Louis\",\n family = \"Maddox\",\n role = \"ctb\"),\n person(given = \"Steve\",\n family = \"Simpson\",\n role = \"ctb\"),\n person(given = \"Jennifer\",\n family = \"Bryan\",\n role = \"ctb\"))",
- "Description": "Simple utility functions to read from and write to\n the Windows, OS X, and X11 clipboards.",
- "License": "GPL-3",
- "URL": "https://github.com/mdlincoln/clipr",
- "BugReports": "https://github.com/mdlincoln/clipr/issues",
- "Imports": "utils",
- "Suggests": "covr, knitr, rmarkdown, rstudioapi (>= 0.5), testthat (>=\n2.0.0)",
- "VignetteBuilder": "knitr",
- "Encoding": "UTF-8",
- "Language": "en-US",
- "LazyData": "TRUE",
- "RoxygenNote": "6.1.1",
- "SystemRequirements": "xclip (https://github.com/astrand/xclip) or xsel\n(http://www.vergenet.net/~conrad/software/xsel/) for accessing\nthe X11 clipboard",
- "NeedsCompilation": "no",
- "Packaged": "2019-07-23 02:33:48 UTC; admin",
- "Author": "Matthew Lincoln [aut, cre] (),\n Louis Maddox [ctb],\n Steve Simpson [ctb],\n Jennifer Bryan [ctb]",
- "Maintainer": "Matthew Lincoln ",
- "Repository": "CRAN",
- "Date/Publication": "2019-07-23 05:00:03 UTC",
- "Built": "R 3.6.0; ; 2019-07-24 12:46:00 UTC; unix"
- }
- },
- "colorspace": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "colorspace",
- "Version": "1.4-1",
- "Date": "2019-03-18",
- "Title": "A Toolbox for Manipulating and Assessing Colors and Palettes",
- "Authors@R": "c(person(given = \"Ross\", family = \"Ihaka\", role = \"aut\", email = \"ihaka@stat.auckland.ac.nz\"),\n person(given = \"Paul\", family = \"Murrell\", role = \"aut\", email = \"paul@stat.auckland.ac.nz\",\n comment = c(ORCID = \"0000-0002-3224-8858\")),\n person(given = \"Kurt\", family = \"Hornik\", role = \"aut\", email = \"Kurt.Hornik@R-project.org\",\n\t\t comment = c(ORCID = \"0000-0003-4198-9911\")),\n person(given = c(\"Jason\", \"C.\"), family = \"Fisher\", role = \"aut\", email = \"jfisher@usgs.gov\",\n comment = c(ORCID = \"0000-0001-9032-8912\")),\n person(given = \"Reto\", family = \"Stauffer\", role = \"aut\", email = \"Reto.Stauffer@uibk.ac.at\",\n comment = c(ORCID = \"0000-0002-3798-5507\")),\n person(given = c(\"Claus\", \"O.\"), family = \"Wilke\", role = \"aut\", email = \"wilke@austin.utexas.edu\",\n comment = c(ORCID = \"0000-0002-7470-9261\")),\n person(given = c(\"Claire\", \"D.\"), family = \"McWhite\", role = \"aut\", email = \"claire.mcwhite@utmail.utexas.edu\",\n comment = c(ORCID = \"0000-0001-7346-3047\")),\n person(given = \"Achim\", family = \"Zeileis\", role = c(\"aut\", \"cre\"), email = \"Achim.Zeileis@R-project.org\",\n comment = c(ORCID = \"0000-0003-0918-3766\")))",
- "Description": "Carries out mapping between assorted color spaces including RGB, HSV, HLS,\n CIEXYZ, CIELUV, HCL (polar CIELUV), CIELAB and polar CIELAB.\n\t Qualitative, sequential, and diverging color palettes based on HCL colors\n\t are provided along with corresponding ggplot2 color scales.\n\t Color palette choice is aided by an interactive app (with either a Tcl/Tk\n\t or a shiny GUI) and shiny apps with an HCL color picker and a\n\t color vision deficiency emulator. Plotting functions for displaying\n\t and assessing palettes include color swatches, visualizations of the\n\t HCL space, and trajectories in HCL and/or RGB spectrum. Color manipulation\n\t functions include: desaturation, lightening/darkening, mixing, and\n\t simulation of color vision deficiencies (deutanomaly, protanomaly, tritanomaly).",
- "Depends": "R (>= 3.0.0), methods",
- "Imports": "graphics, grDevices, stats",
- "Suggests": "datasets, utils, KernSmooth, MASS, kernlab, mvtnorm, vcd,\ntcltk, shiny, shinyjs, ggplot2, dplyr, scales, grid, png, jpeg,\nknitr, rmarkdown, RColorBrewer, rcartocolor, scico, viridis,\nwesanderson",
- "VignetteBuilder": "knitr",
- "License": "BSD_3_clause + file LICENSE",
- "URL": "http://colorspace.R-Forge.R-project.org, http://hclwizard.org/",
- "BugReports": "http://colorspace.R-Forge.R-project.org/contact.html",
- "LazyData": "yes",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "yes",
- "Packaged": "2019-03-18 09:11:41 UTC; zeileis",
- "Author": "Ross Ihaka [aut],\n Paul Murrell [aut] (),\n Kurt Hornik [aut] (),\n Jason C. Fisher [aut] (),\n Reto Stauffer [aut] (),\n Claus O. Wilke [aut] (),\n Claire D. McWhite [aut] (),\n Achim Zeileis [aut, cre] ()",
- "Maintainer": "Achim Zeileis ",
- "Repository": "CRAN",
- "Date/Publication": "2019-03-18 14:43:29 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:50:52 UTC; unix"
- }
- },
- "crayon": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "crayon",
- "Title": "Colored Terminal Output",
- "Version": "1.3.4",
- "Authors@R": "c(\n person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\",\n role = c(\"aut\", \"cre\")),\n person(\n \"Brodie\", \"Gaslam\", email=\"brodie.gaslam@yahoo.com\",\n role=c(\"ctb\"))\n )",
- "Description": "Colored terminal output on terminals that support 'ANSI'\n color and highlight codes. It also works in 'Emacs' 'ESS'. 'ANSI'\n color support is automatically detected. Colors and highlighting can\n be combined and nested. New styles can also be created easily.\n This package was inspired by the 'chalk' 'JavaScript' project.",
- "License": "MIT + file LICENSE",
- "LazyData": "true",
- "URL": "https://github.com/r-lib/crayon#readme",
- "BugReports": "https://github.com/r-lib/crayon/issues",
- "Collate": "'ansi-256.r' 'combine.r' 'string.r' 'utils.r'\n'crayon-package.r' 'disposable.r' 'has_ansi.r' 'has_color.r'\n'styles.r' 'machinery.r' 'parts.r' 'print.r' 'style-var.r'\n'show.r' 'string_operations.r'",
- "Imports": "grDevices, methods, utils",
- "Suggests": "mockery, rstudioapi, testthat, withr",
- "RoxygenNote": "6.0.1.9000",
- "Encoding": "UTF-8",
- "NeedsCompilation": "no",
- "Packaged": "2017-09-15 18:14:04 UTC; gaborcsardi",
- "Author": "Gábor Csárdi [aut, cre],\n Brodie Gaslam [ctb]",
- "Maintainer": "Gábor Csárdi ",
- "Repository": "CRAN",
- "Date/Publication": "2017-09-16 19:49:46 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 19:49:57 UTC; unix"
- }
- },
- "crosstalk": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "crosstalk",
- "Type": "Package",
- "Title": "Inter-Widget Interactivity for HTML Widgets",
- "Version": "1.0.0",
- "Authors@R": "c(\n person(\"Joe\", \"Cheng\", role = c(\"aut\", \"cre\"), email = \"joe@rstudio.com\"),\n person(family = \"RStudio\", role = \"cph\"),\n person(family = \"jQuery Foundation\", role = \"cph\",\n comment = \"jQuery library and jQuery UI library\"),\n person(family = \"jQuery contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"jQuery library; authors listed in inst/www/shared/jquery-AUTHORS.txt\"),\n person(\"Mark\", \"Otto\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(\"Jacob\", \"Thornton\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(family = \"Bootstrap contributors\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(family = \"Twitter, Inc\", role = \"cph\",\n comment = \"Bootstrap library\"),\n person(\"Brian\", \"Reavis\", role = c(\"ctb\", \"cph\"),\n comment = \"selectize.js library\"),\n person(\"Kristopher Michael\", \"Kowal\", role = c(\"ctb\", \"cph\"),\n comment = \"es5-shim library\"),\n person(family = \"es5-shim contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"es5-shim library\"),\n person(\"Denis\", \"Ineshin\", role = c(\"ctb\", \"cph\"),\n comment = \"ion.rangeSlider library\"),\n person(\"Sami\", \"Samhuri\", role = c(\"ctb\", \"cph\"),\n comment = \"Javascript strftime library\")\n )",
- "Description": "Provides building blocks for allowing HTML widgets to communicate\n with each other, with Shiny or without (i.e. static .html files). Currently\n supports linked brushing and filtering.",
- "License": "MIT + file LICENSE",
- "Imports": "htmltools (>= 0.3.5), jsonlite, lazyeval, R6, shiny (>= 0.11),\nggplot2",
- "URL": "https://rstudio.github.io/crosstalk/",
- "BugReports": "https://github.com/rstudio/crosstalk/issues",
- "RoxygenNote": "5.0.1",
- "NeedsCompilation": "no",
- "Packaged": "2016-12-20 20:01:51 UTC; jcheng",
- "Author": "Joe Cheng [aut, cre],\n RStudio [cph],\n jQuery Foundation [cph] (jQuery library and jQuery UI library),\n jQuery contributors [ctb, cph] (jQuery library; authors listed in\n inst/www/shared/jquery-AUTHORS.txt),\n Mark Otto [ctb] (Bootstrap library),\n Jacob Thornton [ctb] (Bootstrap library),\n Bootstrap contributors [ctb] (Bootstrap library),\n Twitter, Inc [cph] (Bootstrap library),\n Brian Reavis [ctb, cph] (selectize.js library),\n Kristopher Michael Kowal [ctb, cph] (es5-shim library),\n es5-shim contributors [ctb, cph] (es5-shim library),\n Denis Ineshin [ctb, cph] (ion.rangeSlider library),\n Sami Samhuri [ctb, cph] (Javascript strftime library)",
- "Maintainer": "Joe Cheng ",
- "Repository": "CRAN",
- "Date/Publication": "2016-12-21 08:30:32",
- "Built": "R 3.6.0; ; 2019-04-27 04:15:50 UTC; unix"
- }
- },
- "curl": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "curl",
- "Type": "Package",
- "Title": "A Modern and Flexible Web Client for R",
- "Version": "4.2",
- "Authors@R": "c(\n person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"jeroen@berkeley.edu\",\n comment = c(ORCID = \"0000-0002-4035-0289\")),\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", role = \"ctb\"),\n person(\"RStudio\", role = \"cph\")\n )",
- "Description": "The curl() and curl_download() functions provide highly\n configurable drop-in replacements for base url() and download.file() with\n better performance, support for encryption (https, ftps), gzip compression,\n authentication, and other 'libcurl' goodies. The core of the package implements a\n framework for performing fully customized requests where data can be processed\n either in memory, on disk, or streaming via the callback or connection\n interfaces. Some knowledge of 'libcurl' is recommended; for a more-user-friendly\n web client see the 'httr' package which builds on this package with http\n specific tools and logic.",
- "License": "MIT + file LICENSE",
- "SystemRequirements": "libcurl: libcurl-devel (rpm) or\nlibcurl4-openssl-dev (deb).",
- "URL": "https://jeroen.cran.dev/curl (docs)\nhttps://github.com/jeroen/curl#readme (devel)\nhttps://curl.haxx.se/libcurl/ (upstream)",
- "BugReports": "https://github.com/jeroen/curl/issues",
- "Suggests": "askpass, spelling, testthat (>= 1.0.0), knitr, jsonlite,\nrmarkdown, magrittr, httpuv (>= 1.4.4), webutils",
- "VignetteBuilder": "knitr",
- "Depends": "R (>= 3.0.0)",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "Encoding": "UTF-8",
- "Language": "en-US",
- "NeedsCompilation": "yes",
- "Packaged": "2019-09-24 10:59:35 UTC; jeroen",
- "Author": "Jeroen Ooms [aut, cre] (),\n Hadley Wickham [ctb],\n RStudio [cph]",
- "Maintainer": "Jeroen Ooms ",
- "Repository": "CRAN",
- "Date/Publication": "2019-09-24 12:20:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-09-26 13:35:57 UTC; unix"
- }
- },
- "data.table": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "data.table",
- "Version": "1.12.6",
- "Title": "Extension of `data.frame`",
- "Authors@R": "c(\n person(\"Matt\",\"Dowle\", role=c(\"aut\",\"cre\"), email=\"mattjdowle@gmail.com\"),\n person(\"Arun\",\"Srinivasan\", role=\"aut\", email=\"arunkumar.sriniv@gmail.com\"),\n person(\"Jan\",\"Gorecki\", role=\"ctb\"),\n person(\"Michael\",\"Chirico\", role=\"ctb\"),\n person(\"Pasha\",\"Stetsenko\", role=\"ctb\"),\n person(\"Tom\",\"Short\", role=\"ctb\"),\n person(\"Steve\",\"Lianoglou\", role=\"ctb\"),\n person(\"Eduard\",\"Antonyan\", role=\"ctb\"),\n person(\"Markus\",\"Bonsch\", role=\"ctb\"),\n person(\"Hugh\",\"Parsonage\", role=\"ctb\"),\n person(\"Scott\",\"Ritchie\", role=\"ctb\"),\n person(\"Kun\",\"Ren\", role=\"ctb\"),\n person(\"Xianying\",\"Tan\", role=\"ctb\"),\n person(\"Rick\",\"Saporta\", role=\"ctb\"),\n person(\"Otto\",\"Seiskari\", role=\"ctb\"),\n person(\"Xianghui\",\"Dong\", role=\"ctb\"),\n person(\"Michel\",\"Lang\", role=\"ctb\"),\n person(\"Watal\",\"Iwasaki\", role=\"ctb\"),\n person(\"Seth\",\"Wenchel\", role=\"ctb\"),\n person(\"Karl\",\"Broman\", role=\"ctb\"),\n person(\"Tobias\",\"Schmidt\", role=\"ctb\"),\n person(\"David\",\"Arenburg\", role=\"ctb\"),\n person(\"Ethan\",\"Smith\", role=\"ctb\"),\n person(\"Francois\",\"Cocquemas\", role=\"ctb\"),\n person(\"Matthieu\",\"Gomez\", role=\"ctb\"),\n person(\"Philippe\",\"Chataignon\", role=\"ctb\"),\n person(\"Declan\",\"Groves\", role=\"ctb\"),\n person(\"Daniel\",\"Possenriede\", role=\"ctb\"),\n person(\"Felipe\",\"Parages\", role=\"ctb\"),\n person(\"Denes\",\"Toth\", role=\"ctb\"),\n person(\"Mus\",\"Yaramaz-David\", role=\"ctb\"),\n person(\"Ayappan\",\"Perumal\", role=\"ctb\"),\n person(\"James\",\"Sams\", role=\"ctb\"),\n person(\"Martin\",\"Morgan\", role=\"ctb\"),\n person(\"Michael\",\"Quinn\", role=\"ctb\"),\n person(\"@javrucebo\",\"\", role=\"ctb\"),\n person(\"@marc-outins\",\"\", role=\"ctb\"),\n person(\"Roy\",\"Storey\", role=\"ctb\"),\n person(\"Manish\",\"Saraswat\", role=\"ctb\"),\n person(\"Morgan\",\"Jacob\", role=\"ctb\"),\n person(\"Michael\",\"Schubmehl\", role=\"ctb\"))",
- "Depends": "R (>= 3.1.0)",
- "Imports": "methods",
- "Suggests": "bit64, curl, R.utils, knitr, xts, nanotime, zoo, yaml",
- "SystemRequirements": "zlib",
- "Description": "Fast aggregation of large data (e.g. 100GB in RAM), fast ordered joins, fast add/modify/delete of columns by group using no copies at all, list columns, friendly and fast character-separated-value read/write. Offers a natural and flexible syntax, for faster development.",
- "License": "MPL-2.0 | file LICENSE",
- "URL": "http://r-datatable.com, https://Rdatatable.gitlab.io/data.table,\nhttps://github.com/Rdatatable/data.table",
- "BugReports": "https://github.com/Rdatatable/data.table/issues",
- "VignetteBuilder": "knitr",
- "ByteCompile": "TRUE",
- "NeedsCompilation": "yes",
- "Packaged": "2019-10-17 19:57:26.158 UTC; mdowle",
- "Author": "Matt Dowle [aut, cre],\n Arun Srinivasan [aut],\n Jan Gorecki [ctb],\n Michael Chirico [ctb],\n Pasha Stetsenko [ctb],\n Tom Short [ctb],\n Steve Lianoglou [ctb],\n Eduard Antonyan [ctb],\n Markus Bonsch [ctb],\n Hugh Parsonage [ctb],\n Scott Ritchie [ctb],\n Kun Ren [ctb],\n Xianying Tan [ctb],\n Rick Saporta [ctb],\n Otto Seiskari [ctb],\n Xianghui Dong [ctb],\n Michel Lang [ctb],\n Watal Iwasaki [ctb],\n Seth Wenchel [ctb],\n Karl Broman [ctb],\n Tobias Schmidt [ctb],\n David Arenburg [ctb],\n Ethan Smith [ctb],\n Francois Cocquemas [ctb],\n Matthieu Gomez [ctb],\n Philippe Chataignon [ctb],\n Declan Groves [ctb],\n Daniel Possenriede [ctb],\n Felipe Parages [ctb],\n Denes Toth [ctb],\n Mus Yaramaz-David [ctb],\n Ayappan Perumal [ctb],\n James Sams [ctb],\n Martin Morgan [ctb],\n Michael Quinn [ctb],\n @javrucebo [ctb],\n @marc-outins [ctb],\n Roy Storey [ctb],\n Manish Saraswat [ctb],\n Morgan Jacob [ctb],\n Michael Schubmehl [ctb]",
- "Maintainer": "Matt Dowle ",
- "Repository": "CRAN",
- "Date/Publication": "2019-10-18 22:20:10 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-10-19 12:26:30 UTC; unix"
- }
- },
- "digest": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "digest",
- "Author": "Dirk Eddelbuettel with contributions \n by Antoine Lucas, Jarek Tuszynski, Henrik Bengtsson, Simon Urbanek,\n Mario Frasca, Bryan Lewis, Murray Stokely, Hannes Muehleisen,\n Duncan Murdoch, Jim Hester, Wush Wu, Qiang Kou, Thierry Onkelinx, \n Michel Lang, Viliam Simko, Kurt Hornik, Radford Neal, Kendon Bell,\n Matthew de Queljoe, Ion Suruceanu, and Bill Denney.",
- "Version": "0.6.23",
- "Date": "2019-11-22",
- "Maintainer": "Dirk Eddelbuettel ",
- "Title": "Create Compact Hash Digests of R Objects",
- "Description": "Implementation of a function 'digest()' for the creation \n of hash digests of arbitrary R objects (using the 'md5', 'sha-1', 'sha-256', \n 'crc32', 'xxhash', 'murmurhash' and 'spookyhash' algorithms) permitting easy\n comparison of R language objects, as well as functions such as'hmac()' to\n create hash-based message authentication code. Please note that this package\n is not meant to be deployed for cryptographic purposes for which more\n comprehensive (and widely tested) libraries such as 'OpenSSL' should be\n used.",
- "URL": "http://dirk.eddelbuettel.com/code/digest.html",
- "BugReports": "https://github.com/eddelbuettel/digest/issues",
- "Depends": "R (>= 3.1.0)",
- "Imports": "utils",
- "License": "GPL (>= 2)",
- "Suggests": "tinytest, knitr, rmarkdown",
- "VignetteBuilder": "knitr",
- "NeedsCompilation": "yes",
- "Packaged": "2019-11-22 16:44:22.218585 UTC; edd",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-23 09:40:07 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-11-24 14:32:07 UTC; unix"
- }
- },
- "dplyr": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Type": "Package",
- "Package": "dplyr",
- "Title": "A Grammar of Data Manipulation",
- "Version": "0.8.3",
- "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0003-4757-117X\")),\n person(\"Romain\", \"Fran\\u00e7ois\", role = \"aut\", comment = c(ORCID = \"0000-0002-2444-4226\")),\n person(\"Lionel\", \"Henry\", role = \"aut\"),\n person(\"Kirill\", \"M\\u00fcller\", role = \"aut\", comment = c(ORCID = \"0000-0002-1416-3412\")),\n person(\"RStudio\", role = c(\"cph\", \"fnd\"))\n )",
- "Description": "A fast, consistent tool for working with data frame like objects,\n both in memory and out of memory.",
- "License": "MIT + file LICENSE",
- "URL": "http://dplyr.tidyverse.org, https://github.com/tidyverse/dplyr",
- "BugReports": "https://github.com/tidyverse/dplyr/issues",
- "Depends": "R (>= 3.2.0)",
- "Imports": "assertthat (>= 0.2.0), glue (>= 1.3.0), magrittr (>= 1.5),\nmethods, pkgconfig, R6, Rcpp (>= 1.0.1), rlang (>= 0.4.0),\ntibble (>= 2.0.0), tidyselect (>= 0.2.5), utils",
- "Suggests": "bit64, callr, covr, crayon (>= 1.3.4), DBI, dbplyr, dtplyr,\nggplot2, hms, knitr, Lahman, lubridate, MASS, mgcv,\nmicrobenchmark, nycflights13, rmarkdown, RMySQL, RPostgreSQL,\nRSQLite, testthat, withr, broom, purrr, readr",
- "LinkingTo": "BH, plogr (>= 0.2.0), Rcpp (>= 1.0.1)",
- "VignetteBuilder": "knitr",
- "Encoding": "UTF-8",
- "LazyData": "yes",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "yes",
- "Packaged": "2019-07-04 05:04:15 UTC; romainfrancois",
- "Author": "Hadley Wickham [aut, cre] (),\n Romain François [aut] (),\n Lionel Henry [aut],\n Kirill Müller [aut] (),\n RStudio [cph, fnd]",
- "Maintainer": "Hadley Wickham ",
- "Repository": "CRAN",
- "Date/Publication": "2019-07-04 15:50:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-07-05 14:52:22 UTC; unix"
- }
- },
- "ellipsis": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "ellipsis",
- "Version": "0.3.0",
- "Title": "Tools for Working with ...",
- "Description": "The ellipsis is a powerful tool for extending functions. Unfortunately \n this power comes at a cost: misspelled arguments will be silently ignored. \n The ellipsis package provides a collection of functions to catch problems\n and alert the user.",
- "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", role = c(\"aut\", \"cre\")),\n person(\"RStudio\", role = \"cph\")\n )",
- "License": "GPL-3",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "URL": "https://ellipsis.r-lib.org, https://github.com/r-lib/ellipsis",
- "BugReports": "https://github.com/r-lib/ellipsis/issues",
- "Depends": "R (>= 3.2)",
- "Imports": "rlang (>= 0.3.0)",
- "Suggests": "covr, testthat",
- "NeedsCompilation": "yes",
- "Packaged": "2019-09-20 20:15:40 UTC; jhester",
- "Author": "Hadley Wickham [aut, cre],\n RStudio [cph]",
- "Maintainer": "Hadley Wickham ",
- "Repository": "CRAN",
- "Date/Publication": "2019-09-20 20:40:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-09-21 17:00:58 UTC; unix"
- }
- },
- "evaluate": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "evaluate",
- "Type": "Package",
- "Title": "Parsing and Evaluation Tools that Provide More Details than the\nDefault",
- "Version": "0.14",
- "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", role = \"aut\"),\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Michael\", \"Lawrence\", role = \"ctb\"),\n person(\"Thomas\", \"Kluyver\", role = \"ctb\"),\n person(\"Jeroen\", \"Ooms\", role = \"ctb\"),\n person(\"Barret\", \"Schloerke\", role = \"ctb\"),\n person(\"Adam\", \"Ryczkowski\", role = \"ctb\"),\n person(\"Hiroaki\", \"Yutani\", role = \"ctb\"),\n person(\"Michel\", \"Lang\", role = \"ctb\"),\n person(\"Karolis\", \"Koncevičius\", role = \"ctb\")\n )",
- "Description": "Parsing and evaluation tools that make it easy to recreate the\n command line behaviour of R.",
- "License": "MIT + file LICENSE",
- "URL": "https://github.com/r-lib/evaluate",
- "BugReports": "https://github.com/r-lib/evaluate/issues",
- "Depends": "R (>= 3.0.2)",
- "Imports": "methods",
- "Suggests": "testthat, lattice, ggplot2",
- "RoxygenNote": "6.1.1",
- "Encoding": "UTF-8",
- "NeedsCompilation": "no",
- "Packaged": "2019-05-28 15:30:02 UTC; yihui",
- "Author": "Hadley Wickham [aut],\n Yihui Xie [aut, cre] (),\n Michael Lawrence [ctb],\n Thomas Kluyver [ctb],\n Jeroen Ooms [ctb],\n Barret Schloerke [ctb],\n Adam Ryczkowski [ctb],\n Hiroaki Yutani [ctb],\n Michel Lang [ctb],\n Karolis Koncevičius [ctb]",
- "Maintainer": "Yihui Xie ",
- "Repository": "CRAN",
- "Date/Publication": "2019-05-28 15:50:02 UTC",
- "Built": "R 3.6.0; ; 2019-05-29 12:00:04 UTC; unix"
- }
- },
- "fansi": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "fansi",
- "Title": "ANSI Control Sequence Aware String Functions",
- "Description": "Counterparts to R string manipulation functions that account for\n the effects of ANSI text formatting control sequences.",
- "Version": "0.4.0",
- "Authors@R": "c(\n person(\"Brodie\", \"Gaslam\", email=\"brodie.gaslam@yahoo.com\",\n role=c(\"aut\", \"cre\")),\n person(\"Elliott\", \"Sales De Andrade\", role=\"ctb\"),\n person(family=\"R Core Team\",\n email=\"R-core@r-project.org\", role=\"cph\",\n comment=\"UTF8 byte length calcs from src/util.c\"\n ))",
- "Depends": "R (>= 3.1.0)",
- "License": "GPL (>= 2)",
- "LazyData": "true",
- "URL": "https://github.com/brodieG/fansi",
- "BugReports": "https://github.com/brodieG/fansi/issues",
- "VignetteBuilder": "knitr",
- "Suggests": "unitizer, knitr, rmarkdown",
- "RoxygenNote": "6.1.0.9000",
- "Encoding": "UTF-8",
- "Collate": "'constants.R' 'fansi-package.R' 'has.R' 'internal.R' 'load.R'\n'misc.R' 'nchar.R' 'strip.R' 'strwrap.R' 'strtrim.R'\n'strsplit.R' 'substr2.R' 'tohtml.R' 'unhandled.R'",
- "NeedsCompilation": "yes",
- "Packaged": "2018-10-04 19:06:14 UTC; bg",
- "Author": "Brodie Gaslam [aut, cre],\n Elliott Sales De Andrade [ctb],\n R Core Team [cph] (UTF8 byte length calcs from src/util.c)",
- "Maintainer": "Brodie Gaslam ",
- "Repository": "CRAN",
- "Date/Publication": "2018-10-05 05:10:12 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:49:57 UTC; unix"
- }
- },
- "farver": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "farver",
- "Type": "Package",
- "Title": "High Performance Colour Space Manipulation",
- "Version": "2.0.1",
- "Authors@R": "\n c(person(given = \"Thomas Lin\",\n family = \"Pedersen\",\n role = c(\"cre\", \"aut\"),\n email = \"thomasp85@gmail.com\",\n comment = c(ORCID = \"0000-0002-5147-4711\")),\n person(given = \"Berendea\",\n family = \"Nicolae\",\n role = \"aut\",\n comment = \"Author of the ColorSpace C++ library\"),\n person(given = \"Romain\", \n family = \"François\", \n role = \"aut\", \n email = \"romain@purrple.cat\",\n comment = c(ORCID = \"0000-0002-2444-4226\")) \n )",
- "Maintainer": "Thomas Lin Pedersen ",
- "Description": "The encoding of colour can be handled in many different ways, using\n different colour spaces. As different colour spaces have different uses,\n efficient conversion between these representations are important. The \n 'farver' package provides a set of functions that gives access to very fast\n colour space conversion and comparisons implemented in C++, and offers \n speed improvements over the 'convertColor' function in the 'grDevices' \n package.",
- "License": "MIT + file LICENSE",
- "Encoding": "UTF-8",
- "SystemRequirements": "C++11",
- "RoxygenNote": "6.1.1",
- "URL": "https://github.com/thomasp85/farver",
- "BugReports": "https://github.com/thomasp85/farver/issues",
- "Suggests": "testthat (>= 2.1.0), covr",
- "NeedsCompilation": "yes",
- "Packaged": "2019-11-13 19:27:13 UTC; thomas",
- "Author": "Thomas Lin Pedersen [cre, aut]\n (),\n Berendea Nicolae [aut] (Author of the ColorSpace C++ library),\n Romain François [aut] ()",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-13 22:20:13 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-11-14 17:12:39 UTC; unix"
- }
- },
- "fastmap": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "fastmap",
- "Title": "Fast Implementation of a Key-Value Store",
- "Version": "1.0.1",
- "Authors@R": "c(\n person(\"Winston\", \"Chang\", email = \"winston@rstudio.com\", role = c(\"aut\", \"cre\")),\n person(given = \"RStudio\", role = c(\"cph\", \"fnd\")),\n person(given = \"Tessil\", role = \"cph\", comment = \"hopscotch_map library\")\n )",
- "Description": "Fast implementation of a key-value store. Environments are commonly\n used as key-value stores, but every time a new key is used, it is added to\n R's global symbol table, causing a small amount of memory leakage. This can\n be problematic in cases where many different keys are used. Fastmap avoids\n this memory leak issue by implementing the map using data structures in C++.",
- "License": "MIT + file LICENSE",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "Suggests": "testthat (>= 2.1.1)",
- "URL": "https://r-lib.github.io/fastmap/, https://github.com/r-lib/fastmap",
- "BugReports": "https://github.com/r-lib/fastmap/issues",
- "NeedsCompilation": "yes",
- "Packaged": "2019-10-07 23:14:48 UTC; winston",
- "Author": "Winston Chang [aut, cre],\n RStudio [cph, fnd],\n Tessil [cph] (hopscotch_map library)",
- "Maintainer": "Winston Chang ",
- "Repository": "CRAN",
- "Date/Publication": "2019-10-08 05:20:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-10-09 15:56:47 UTC; unix"
- }
- },
- "generics": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "generics",
- "Version": "0.0.2",
- "Title": "Common S3 Generics not Provided by Base R Methods Related to\nModel Fitting",
- "Description": "In order to reduce potential package dependencies and conflicts, \n generics provides a number of commonly used S3 generics.",
- "Authors@R": "c(\n person(\"Max\", \"Kuhn\", , \"max@rstudio.com\", c(\"aut\", \"cre\")),\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", \"aut\"),\n person(\"Davis\", \"Vaughan\", , \"davis@rstudio.com\", \"aut\"),\n person(\"RStudio\", role = \"cph\"))",
- "License": "GPL-2",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "URL": "https://github.com/r-lib/generics",
- "BugReports": "https://github.com/r-lib/generics",
- "Depends": "R (>= 3.1)",
- "Suggests": "covr, pkgload, testthat, tibble",
- "Imports": "methods",
- "NeedsCompilation": "no",
- "Packaged": "2018-11-29 13:00:32 UTC; max",
- "Author": "Max Kuhn [aut, cre],\n Hadley Wickham [aut],\n Davis Vaughan [aut],\n RStudio [cph]",
- "Maintainer": "Max Kuhn ",
- "Repository": "CRAN",
- "Date/Publication": "2018-11-29 13:20:03 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 19:51:33 UTC; unix"
- }
- },
- "ggdendro": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "ggdendro",
- "Authors@R": "c(person(\"Andrie\", \"de Vries\", role=c(\"aut\", \"cre\"),\n email=\"apdevries@gmail.com\"), person(c(\"Brian\", \"D.\"), \"Ripley\", role =\n c(\"aut\"), comment = \"author of package tree\"))",
- "License": "GPL-2 | GPL-3",
- "Title": "Create Dendrograms and Tree Diagrams Using 'ggplot2'",
- "LazyData": "true",
- "LazyLoad": "true",
- "ByteCompile": "true",
- "Description": "This is a set of tools for dendrograms and\n tree plots using 'ggplot2'. The 'ggplot2' philosophy is to\n clearly separate data from the presentation.\n Unfortunately the plot method for dendrograms plots\n directly to a plot device without exposing the data.\n The 'ggdendro' package resolves this by making available\n functions that extract the dendrogram plot data. The package\n provides implementations for tree, rpart, as well as diana and agnes\n cluster diagrams.",
- "Version": "0.1-20",
- "URL": "https://github.com/andrie/ggdendro",
- "BugReports": "https://github.com/andrie/ggdendro/issues",
- "Date": "2016-04-27",
- "Imports": "MASS, ggplot2(>= 0.9.2)",
- "Suggests": "rpart(>= 4.0-0), tree, testthat, knitr, cluster, scales",
- "VignetteBuilder": "knitr",
- "RoxygenNote": "5.0.1",
- "NeedsCompilation": "no",
- "Packaged": "2016-04-27 10:47:14 UTC; adevries",
- "Author": "Andrie de Vries [aut, cre],\n Brian D. Ripley [aut] (author of package tree)",
- "Maintainer": "Andrie de Vries ",
- "Repository": "CRAN",
- "Date/Publication": "2016-04-27 18:28:33",
- "Built": "R 3.6.0; ; 2019-04-27 04:16:04 UTC; unix"
- }
- },
- "ggformula": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "ggformula",
- "Title": "Formula Interface to the Grammar of Graphics",
- "Description": "Provides a formula interface to 'ggplot2' graphics.",
- "Type": "Package",
- "Version": "0.9.2",
- "Authors@R": "c(\n person(\"Daniel\", \"Kaplan\", email = \"kaplan@macalester.edu\", role = c(\"aut\")),\n person(\"Randall\", \"Pruim\", email = \"rpruim@calvin.edu\", role = c(\"aut\",\"cre\"))\n )",
- "License": "MIT + file LICENSE",
- "LazyData": "TRUE",
- "LazyLoad": "TRUE",
- "Depends": "R (>= 3.1), ggplot2 (>= 3.0), ggstance (>= 0.3.1)",
- "Imports": "mosaicCore, rlang, magrittr, tibble, stringr, tidyr, grid",
- "Suggests": "mosaicData, dplyr, lattice, mosaic, mosaicModel, testthat,\nvdiffr, knitr, rmarkdown, lubridate, survival, broom, scales,\nmaps, maptools, rgeos, sf, purrr, ggthemes, covr, ggplot2movies",
- "VignetteBuilder": "knitr",
- "RoxygenNote": "6.1.1",
- "Encoding": "UTF-8",
- "URL": "https://github.com/ProjectMOSAIC/ggformula",
- "BugReports": "https://github.com/ProjectMOSAIC/ggformula/issues",
- "Collate": "'MIpop-doc.R' 'formula2aes.R' 'gf_aux.R' 'gf_dist.R'\n'layer_factory.R' 'gf_function2d.R' 'gf_functions.R'\n'ggstance.R' 'ggstrings.R' 'newplots.R' 'reexports.R'\n'scales.R' 'utils.R' 'zzz.R'",
- "NeedsCompilation": "no",
- "Packaged": "2019-09-05 14:32:54 UTC; rpruim",
- "Author": "Daniel Kaplan [aut],\n Randall Pruim [aut, cre]",
- "Maintainer": "Randall Pruim ",
- "Repository": "CRAN",
- "Date/Publication": "2019-09-05 15:10:02 UTC",
- "Built": "R 3.6.0; ; 2019-09-06 12:34:36 UTC; unix"
- }
- },
- "ggmap": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "ggmap",
- "Version": "3.0.0",
- "Title": "Spatial Visualization with ggplot2",
- "Description": "A collection of functions to visualize spatial data and models\n on top of static maps from various online sources (e.g Google Maps and Stamen\n Maps). It includes tools common to those tasks, including functions for\n geolocation and routing.",
- "URL": "https://github.com/dkahle/ggmap",
- "BugReports": "https://github.com/dkahle/ggmap/issues",
- "Authors@R": "c(person(\"David\", \"Kahle\", email = \"david.kahle@gmail.com\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-9999-1558\")),\n person(\"Hadley\", \"Wickham\", email = \"h.wickham@gmail.com\", role = \"aut\", comment = c(ORCID = \"0000-0003-4757-117X\")),\n person(\"Scott\", \"Jackson\", email = \"scottmmjackson@gmail.com\", role = \"aut\"),\n person(\"Mikko\", \"Korpela\", email = \"mvkorpel@iki.fi\", role = \"ctb\"))",
- "Depends": "R (>= 3.1.0), ggplot2 (>= 2.2.0)",
- "Imports": "RgoogleMaps, png, plyr, rjson, jpeg, digest, scales, dplyr,\nbitops, grid, glue, httr, stringr, purrr, magrittr, tibble,\ntidyr",
- "Suggests": "MASS, hexbin, testthat",
- "License": "GPL-2",
- "LazyData": "true",
- "RoxygenNote": "6.1.0",
- "Encoding": "UTF-8",
- "NeedsCompilation": "no",
- "Packaged": "2019-02-05 09:19:03 UTC; ligges",
- "Author": "David Kahle [aut, cre] (),\n Hadley Wickham [aut] (),\n Scott Jackson [aut],\n Mikko Korpela [ctb]",
- "Maintainer": "David Kahle ",
- "Repository": "CRAN",
- "Date/Publication": "2019-02-05 10:19:04",
- "Built": "R 3.6.0; ; 2019-04-27 04:18:37 UTC; unix"
- }
- },
- "ggplot2": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "ggplot2",
- "Version": "3.2.1",
- "Title": "Create Elegant Data Visualisations Using the Grammar of Graphics",
- "Description": "A system for 'declaratively' creating graphics,\n based on \"The Grammar of Graphics\". You provide the data, tell 'ggplot2'\n how to map variables to aesthetics, what graphical primitives to use,\n and it takes care of the details.",
- "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", c(\"aut\", \"cre\")),\n person(\"Winston\", \"Chang\", , role = \"aut\"),\n person(\"Lionel\", \"Henry\", , role = \"aut\"),\n person(\"Thomas Lin\", \"Pedersen\", role = \"aut\"),\n person(\"Kohske\", \"Takahashi\", role = \"aut\"),\n person(\"Claus\", \"Wilke\", role = \"aut\"),\n person(\"Kara\", \"Woo\", role = \"aut\"),\n person(\"Hiroaki\", \"Yutani\", role = \"aut\"),\n person(\"RStudio\", role = c(\"cph\"))\n )",
- "Depends": "R (>= 3.2)",
- "Imports": "digest, grDevices, grid, gtable (>= 0.1.1), lazyeval, MASS,\nmgcv, reshape2, rlang (>= 0.3.0), scales (>= 0.5.0), stats,\ntibble, viridisLite, withr (>= 2.0.0)",
- "Suggests": "covr, dplyr, ggplot2movies, hexbin, Hmisc, knitr, lattice,\nmapproj, maps, maptools, multcomp, munsell, nlme, profvis,\nquantreg, rgeos, rmarkdown, rpart, sf (>= 0.7-3), svglite (>=\n1.2.0.9001), testthat (>= 0.11.0), vdiffr (>= 0.3.0)",
- "Enhances": "sp",
- "License": "GPL-2 | file LICENSE",
- "URL": "http://ggplot2.tidyverse.org, https://github.com/tidyverse/ggplot2",
- "BugReports": "https://github.com/tidyverse/ggplot2/issues",
- "LazyData": "true",
- "Collate": "'ggproto.r' 'ggplot-global.R' 'aaa-.r' 'aes-calculated.r'\n'aes-colour-fill-alpha.r' 'aes-group-order.r'\n'aes-linetype-size-shape.r' 'aes-position.r' 'compat-plyr.R'\n'utilities.r' 'aes.r' 'legend-draw.r' 'geom-.r'\n'annotation-custom.r' 'annotation-logticks.r' 'geom-polygon.r'\n'geom-map.r' 'annotation-map.r' 'geom-raster.r'\n'annotation-raster.r' 'annotation.r' 'autolayer.r' 'autoplot.r'\n'axis-secondary.R' 'backports.R' 'bench.r' 'bin.R' 'coord-.r'\n'coord-cartesian-.r' 'coord-fixed.r' 'coord-flip.r'\n'coord-map.r' 'coord-munch.r' 'coord-polar.r'\n'coord-quickmap.R' 'coord-sf.R' 'coord-transform.r' 'data.R'\n'facet-.r' 'facet-grid-.r' 'facet-null.r' 'facet-wrap.r'\n'fortify-lm.r' 'fortify-map.r' 'fortify-multcomp.r'\n'fortify-spatial.r' 'fortify.r' 'stat-.r' 'geom-abline.r'\n'geom-rect.r' 'geom-bar.r' 'geom-bin2d.r' 'geom-blank.r'\n'geom-boxplot.r' 'geom-col.r' 'geom-path.r' 'geom-contour.r'\n'geom-count.r' 'geom-crossbar.r' 'geom-segment.r'\n'geom-curve.r' 'geom-defaults.r' 'geom-ribbon.r'\n'geom-density.r' 'geom-density2d.r' 'geom-dotplot.r'\n'geom-errorbar.r' 'geom-errorbarh.r' 'geom-freqpoly.r'\n'geom-hex.r' 'geom-histogram.r' 'geom-hline.r' 'geom-jitter.r'\n'geom-label.R' 'geom-linerange.r' 'geom-point.r'\n'geom-pointrange.r' 'geom-quantile.r' 'geom-rug.r' 'geom-sf.R'\n'geom-smooth.r' 'geom-spoke.r' 'geom-text.r' 'geom-tile.r'\n'geom-violin.r' 'geom-vline.r' 'ggplot2.r' 'grob-absolute.r'\n'grob-dotstack.r' 'grob-null.r' 'grouping.r' 'guide-colorbar.r'\n'guide-legend.r' 'guides-.r' 'guides-axis.r' 'guides-grid.r'\n'hexbin.R' 'labeller.r' 'labels.r' 'layer.r' 'layer-sf.R'\n'layout.R' 'limits.r' 'margins.R' 'performance.R'\n'plot-build.r' 'plot-construction.r' 'plot-last.r' 'plot.r'\n'position-.r' 'position-collide.r' 'position-dodge.r'\n'position-dodge2.r' 'position-identity.r' 'position-jitter.r'\n'position-jitterdodge.R' 'position-nudge.R' 'position-stack.r'\n'quick-plot.r' 'range.r' 'save.r' 'scale-.r' 'scale-alpha.r'\n'scale-brewer.r' 'scale-colour.r' 'scale-continuous.r'\n'scale-date.r' 'scale-discrete-.r' 'scale-gradient.r'\n'scale-grey.r' 'scale-hue.r' 'scale-identity.r'\n'scale-linetype.r' 'scale-manual.r' 'scale-shape.r'\n'scale-size.r' 'scale-type.R' 'scale-viridis.r' 'scales-.r'\n'stat-bin.r' 'stat-bin2d.r' 'stat-bindot.r' 'stat-binhex.r'\n'stat-boxplot.r' 'stat-contour.r' 'stat-count.r'\n'stat-density-2d.r' 'stat-density.r' 'stat-ecdf.r'\n'stat-ellipse.R' 'stat-function.r' 'stat-identity.r'\n'stat-qq-line.R' 'stat-qq.r' 'stat-quantile.r'\n'stat-sf-coordinates.R' 'stat-sf.R' 'stat-smooth-methods.r'\n'stat-smooth.r' 'stat-sum.r' 'stat-summary-2d.r'\n'stat-summary-bin.R' 'stat-summary-hex.r' 'stat-summary.r'\n'stat-unique.r' 'stat-ydensity.r' 'summarise-plot.R'\n'summary.r' 'theme-elements.r' 'theme.r' 'theme-defaults.r'\n'theme-current.R' 'translate-qplot-ggplot.r'\n'translate-qplot-lattice.r' 'utilities-break.r'\n'utilities-grid.r' 'utilities-help.r' 'utilities-matrix.r'\n'utilities-resolution.r' 'utilities-table.r'\n'utilities-tidy-eval.R' 'zxx.r' 'zzz.r'",
- "VignetteBuilder": "knitr",
- "RoxygenNote": "6.1.1",
- "Encoding": "UTF-8",
- "NeedsCompilation": "no",
- "Packaged": "2019-08-09 20:11:46 UTC; thomas",
- "Author": "Hadley Wickham [aut, cre],\n Winston Chang [aut],\n Lionel Henry [aut],\n Thomas Lin Pedersen [aut],\n Kohske Takahashi [aut],\n Claus Wilke [aut],\n Kara Woo [aut],\n Hiroaki Yutani [aut],\n RStudio [cph]",
- "Maintainer": "Hadley Wickham ",
- "Repository": "CRAN",
- "Date/Publication": "2019-08-10 22:30:13 UTC",
- "Built": "R 3.6.0; ; 2019-08-11 11:45:27 UTC; unix"
- }
- },
- "ggrepel": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "ggrepel",
- "Version": "0.8.1",
- "Authors@R": "c(\n person(\"Kamil\", \"Slowikowski\", email = \"kslowikowski@gmail.com\", role = c(\"aut\", \"cre\"), comment = c(ORCID = \"0000-0002-2843-6370\")),\n person(\"Alicia\", \"Schep\", role = \"ctb\", comment = c(ORCID = \"0000-0002-3915-0618\")),\n person(\"Sean\", \"Hughes\", role = \"ctb\"),\n person(\"Saulius\", \"Lukauskas\", role = \"ctb\"),\n person(\"Jean-Olivier\", \"Irisson\", role = \"ctb\", comment = c(ORCID = \"0000-0003-4920-3880\")),\n person(\"Zhian N\", \"Kamvar\", role = \"ctb\", comment = c(ORCID = \"0000-0003-1458-7108\")),\n person(\"Thompson\", \"Ryan\", role = \"ctb\", comment = c(ORCID = \"0000-0002-0450-8181\")),\n person(\"Dervieux\", \"Christophe\", role = \"ctb\", comment = c(ORCID = \"0000-0003-4474-2498\")),\n person(\"Yutani\", \"Hiroaki\", role = \"ctb\"),\n person(\"Pierre\", \"Gramme\", role = \"ctb\")\n )",
- "Title": "Automatically Position Non-Overlapping Text Labels with\n'ggplot2'",
- "Description": "Provides text and label geoms for 'ggplot2' that help to avoid\n overlapping text labels. Labels repel away from each other and away from the\n data points.",
- "Depends": "R (>= 3.0.0), ggplot2 (>= 2.2.0)",
- "Imports": "grid, Rcpp, scales (>= 0.3.0)",
- "Suggests": "knitr, rmarkdown, testthat, gridExtra, devtools, prettydoc",
- "VignetteBuilder": "knitr",
- "License": "GPL-3 | file LICENSE",
- "URL": "http://github.com/slowkow/ggrepel",
- "BugReports": "http://github.com/slowkow/ggrepel/issues",
- "RoxygenNote": "6.0.1",
- "LinkingTo": "Rcpp",
- "Encoding": "UTF-8",
- "NeedsCompilation": "yes",
- "Packaged": "2019-05-07 02:07:00 UTC; slowikow",
- "Author": "Kamil Slowikowski [aut, cre] (),\n Alicia Schep [ctb] (),\n Sean Hughes [ctb],\n Saulius Lukauskas [ctb],\n Jean-Olivier Irisson [ctb] (),\n Zhian N Kamvar [ctb] (),\n Thompson Ryan [ctb] (),\n Dervieux Christophe [ctb] (),\n Yutani Hiroaki [ctb],\n Pierre Gramme [ctb]",
- "Maintainer": "Kamil Slowikowski ",
- "Repository": "CRAN",
- "Date/Publication": "2019-05-07 08:00:06 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-05-08 11:00:06 UTC; unix"
- }
- },
- "ggstance": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "ggstance",
- "Title": "Horizontal 'ggplot2' Components",
- "Version": "0.3.3",
- "Authors@R": "c(\n person(\"Lionel\", \"Henry\", , \"lionel@rstudio.com\", role = c(\"aut\", \"cre\")),\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", \"aut\"),\n person(\"Winston\", \"Chang\", , \"winston@rstudio.com\", \"aut\"),\n person(\"RStudio\", role = \"cph\")\n )",
- "Description": "A 'ggplot2' extension that provides flipped components:\n horizontal versions of 'Stats' and 'Geoms', and vertical versions\n of 'Positions'.",
- "Depends": "R (>= 3.1.0)",
- "Imports": "ggplot2 (>= 3.2.0), plyr, rlang, withr (>= 2.0.0)",
- "Suggests": "Hmisc, testthat, vdiffr (>= 0.3.0)",
- "License": "GPL-3",
- "LazyData": "true",
- "Encoding": "UTF-8",
- "RoxygenNote": "6.1.1",
- "Collate": "'flip-aes.R' 'geom-barh.R' 'legend-draw.R' 'geom-boxploth.R'\n'geom-colh.R' 'geom-crossbarh.R' 'geom-errorbarh.R'\n'geom-histogramh.R' 'geom-linerangeh.R' 'geom-pointrangeh.R'\n'geom-violinh.R' 'ggstance.R' 'position-dodgev.R'\n'position-dodge2v.R' 'position-jitterdodgev.R'\n'position-stackv.R' 'position.R' 'stat-binh.R'\n'stat-boxploth.R' 'stat-counth.R' 'stat-summaryh.R'\n'stat-xdensity.R'",
- "NeedsCompilation": "no",
- "Packaged": "2019-08-19 12:17:29 UTC; lionel",
- "Author": "Lionel Henry [aut, cre],\n Hadley Wickham [aut],\n Winston Chang [aut],\n RStudio [cph]",
- "Maintainer": "Lionel Henry ",
- "Repository": "CRAN",
- "Date/Publication": "2019-08-19 13:30:03 UTC",
- "Built": "R 3.6.0; ; 2019-08-20 14:05:34 UTC; unix"
- }
- },
- "glue": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "glue",
- "Title": "Interpreted String Literals",
- "Version": "1.3.1",
- "Authors@R": "person(\"Jim\", \"Hester\", email = \"james.f.hester@gmail.com\", role = c(\"aut\", \"cre\"))",
- "Description": "An implementation of interpreted string literals, inspired by\n Python's Literal String Interpolation and Docstrings\n and Julia's Triple-Quoted String Literals\n .",
- "Depends": "R (>= 3.1)",
- "Imports": "methods",
- "Suggests": "testthat, covr, magrittr, crayon, knitr, rmarkdown, DBI,\nRSQLite, R.utils, forcats, microbenchmark, rprintf, stringr,\nggplot2, dplyr, withr",
- "License": "MIT + file LICENSE",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "URL": "https://github.com/tidyverse/glue",
- "BugReports": "https://github.com/tidyverse/glue/issues",
- "VignetteBuilder": "knitr",
- "ByteCompile": "true",
- "NeedsCompilation": "yes",
- "Packaged": "2019-03-11 21:03:11 UTC; jhester",
- "Author": "Jim Hester [aut, cre]",
- "Maintainer": "Jim Hester ",
- "Repository": "CRAN",
- "Date/Publication": "2019-03-12 22:30:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:50:38 UTC; unix"
- }
- },
- "gridExtra": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "gridExtra",
- "Authors@R": "c(person(\"Baptiste\", \"Auguie\",\n email = \"baptiste.auguie@gmail.com\",\n role = c(\"aut\", \"cre\")), person(\"Anton\", \"Antonov\",\n email = \"tonytonov@gmail.com\",\n role = c(\"ctb\")))",
- "License": "GPL (>= 2)",
- "Title": "Miscellaneous Functions for \"Grid\" Graphics",
- "Type": "Package",
- "Description": "Provides a number of user-level functions to work with \"grid\"\n graphics, notably to arrange multiple grid-based plots on a page, and draw\n tables.",
- "Version": "2.3",
- "VignetteBuilder": "knitr",
- "Imports": "gtable, grid, grDevices, graphics, utils",
- "Suggests": "ggplot2, egg, lattice, knitr, testthat",
- "RoxygenNote": "6.0.1",
- "NeedsCompilation": "no",
- "Packaged": "2017-09-08 22:52:09 UTC; baptiste",
- "Author": "Baptiste Auguie [aut, cre],\n Anton Antonov [ctb]",
- "Maintainer": "Baptiste Auguie ",
- "Repository": "CRAN",
- "Date/Publication": "2017-09-09 14:12:08 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 19:51:13 UTC; unix"
- }
- },
- "gtable": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "gtable",
- "Title": "Arrange 'Grobs' in Tables",
- "Version": "0.3.0",
- "Authors@R": "\n c(person(given = \"Hadley\",\n family = \"Wickham\",\n role = c(\"aut\", \"cre\"),\n email = \"hadley@rstudio.com\"),\n person(given = \"Thomas Lin\",\n family = \"Pedersen\",\n role = \"aut\",\n email = \"thomas.pedersen@rstudio.com\"),\n person(given = \"RStudio\",\n role = \"cph\"))",
- "Description": "Tools to make it easier to work with \"tables\" of\n 'grobs'. The 'gtable' package defines a 'gtable' grob class that specifies a\n grid along with a list of grobs and their placement in the grid. Further the\n package makes it easy to manipulate and combine 'gtable' objects so that \n complex compositions can be build up sequentially.",
- "License": "GPL-2",
- "Depends": "R (>= 3.0)",
- "Imports": "grid",
- "Suggests": "covr, testthat, knitr, rmarkdown, ggplot2, profvis",
- "Encoding": "UTF-8",
- "RoxygenNote": "6.1.1",
- "Collate": "'new-data-frame.r' 'add-grob.r' 'add-rows-cols.r'\n'add-space.r' 'grid.r' 'gtable-layouts.r' 'gtable-package.R'\n'gtable.r' 'rbind-cbind.r' 'utils.r' 'trim.r' 'filter.r'\n'align.r' 'padding.r' 'z.r'",
- "URL": "https://github.com/r-lib/gtable",
- "BugReports": "https://github.com/r-lib/gtable/issues",
- "VignetteBuilder": "knitr",
- "NeedsCompilation": "no",
- "Packaged": "2019-03-25 14:56:43 UTC; thomas",
- "Author": "Hadley Wickham [aut, cre],\n Thomas Lin Pedersen [aut],\n RStudio [cph]",
- "Maintainer": "Hadley Wickham ",
- "Repository": "CRAN",
- "Date/Publication": "2019-03-25 19:50:02 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 19:50:48 UTC; unix"
- }
- },
- "hexbin": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "hexbin",
- "Version": "1.28.0",
- "Title": "Hexagonal Binning Routines",
- "Author": "Dan Carr , ported by Nicholas\n Lewin-Koh and Martin Maechler ,\n\t\tcontains copies of lattice functions written by Deepayan Sarkar \n\t\t",
- "Maintainer": "Edzer Pebesma ",
- "Depends": "R (>= 2.0.1), methods",
- "Imports": "lattice, grid, graphics, grDevices, stats, utils",
- "Suggests": "marray, affy, Biobase, limma",
- "Description": "Binning and plotting functions for hexagonal bins.",
- "Collate": "lattice.R BTC.R BTY.R grid.hexagons.R grid.hexlegend.R hbox.R\nhdiffplot.R hexbinList.R hexbinplot.R hexbin.s4.R hexpanel.R\nhexplom.R hexPlotMA.R hexutil.R hexViewport.R HO.R LINGRAY.R\nLOCS.R MAG.R RB.R smoothHexbin.R",
- "License": "GPL-2",
- "NeedsCompilation": "yes",
- "URL": "http://github.com/edzer/hexbin",
- "Packaged": "2019-11-11 21:41:23 UTC; edzer",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-11 22:50:08 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-11-12 14:54:04 UTC; unix"
- }
- },
- "highr": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "highr",
- "Type": "Package",
- "Title": "Syntax Highlighting for R Source Code",
- "Version": "0.8",
- "Authors@R": "c(person(\"Christopher\", \"Gandrud\", role = \"ctb\"),\n person(\"Qiang\", \"Li\", role = \"ctb\"),\n person(\"Yixuan\", \"Qiu\", role = \"aut\"),\n person(\"Yihui\", \"Xie\", email = \"xie@yihui.name\", role = c(\"aut\", \"cre\")))",
- "Maintainer": "Yihui Xie ",
- "Description": "Provides syntax highlighting for R source code. Currently it\n supports LaTeX and HTML output. Source code of other languages is supported\n via Andre Simon's highlight package ().",
- "Depends": "R (>= 3.2.3)",
- "Suggests": "knitr, testit",
- "License": "GPL",
- "URL": "https://github.com/yihui/highr",
- "BugReports": "https://github.com/yihui/highr/issues",
- "VignetteBuilder": "knitr",
- "RoxygenNote": "6.0.1",
- "NeedsCompilation": "no",
- "Packaged": "2019-03-20 18:58:08 UTC; yihui",
- "Author": "Christopher Gandrud [ctb],\n Qiang Li [ctb],\n Yixuan Qiu [aut],\n Yihui Xie [aut, cre]",
- "Repository": "CRAN",
- "Date/Publication": "2019-03-20 21:10:33 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 19:50:34 UTC; unix"
- }
- },
- "hms": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "hms",
- "Title": "Pretty Time of Day",
- "Date": "2019-10-30",
- "Version": "0.5.2",
- "Authors@R": "c(\n person(\"Kirill\", \"Müller\", role = c(\"aut\", \"cre\"), email = \"krlmlr+r@mailbox.org\"),\n person(\"The R Consortium\", role = \"fnd\"),\n person(\"RStudio\", role = \"fnd\")\n )",
- "Description": "Implements an S3 class for storing and formatting time-of-day\n values, based on the 'difftime' class.",
- "Imports": "methods, pkgconfig, rlang, vctrs (>= 0.2.0)",
- "Suggests": "crayon, lubridate, pillar (>= 1.1.0), testthat",
- "License": "GPL-3",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "URL": "https://github.com/tidyverse/hms",
- "BugReports": "https://github.com/tidyverse/hms/issues",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "no",
- "Packaged": "2019-10-29 23:52:19 UTC; kirill",
- "Author": "Kirill Müller [aut, cre],\n The R Consortium [fnd],\n RStudio [fnd]",
- "Maintainer": "Kirill Müller ",
- "Repository": "CRAN",
- "Date/Publication": "2019-10-30 06:10:03 UTC",
- "Built": "R 3.6.1; ; 2019-11-05 15:36:11 UTC; unix"
- }
- },
- "htmltools": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "htmltools",
- "Type": "Package",
- "Title": "Tools for HTML",
- "Version": "0.4.0",
- "Author": "RStudio, Inc.",
- "Maintainer": "Joe Cheng ",
- "Description": "Tools for HTML generation and output.",
- "Depends": "R (>= 2.14.1)",
- "Imports": "utils, digest, Rcpp, rlang",
- "Suggests": "markdown, testthat, withr",
- "Enhances": "knitr",
- "License": "GPL (>= 2)",
- "URL": "https://github.com/rstudio/htmltools",
- "BugReports": "https://github.com/rstudio/htmltools/issues",
- "RoxygenNote": "6.1.1",
- "LinkingTo": "Rcpp",
- "Encoding": "UTF-8",
- "Collate": "'RcppExports.R' 'html_dependency.R' 'html_escape.R'\n'html_print.R' 'shim.R' 'utils.R' 'tags.R' 'template.R'",
- "NeedsCompilation": "yes",
- "Packaged": "2019-10-04 17:43:48 UTC; jcheng",
- "Repository": "CRAN",
- "Date/Publication": "2019-10-04 23:00:08 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-10-05 12:02:29 UTC; unix"
- }
- },
- "htmlwidgets": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "htmlwidgets",
- "Type": "Package",
- "Title": "HTML Widgets for R",
- "Version": "1.5.1",
- "Authors@R": "c(\n person(\"Ramnath\", \"Vaidyanathan\", role = c(\"aut\", \"cph\")),\n person(\"Yihui\", \"Xie\", role = c(\"aut\")),\n person(\"JJ\", \"Allaire\", role = c(\"aut\")),\n person(\"Joe\", \"Cheng\", role = c(\"aut\", \"cre\"), email = \"joe@rstudio.com\"),\n person(\"Kenton\", \"Russell\", role = c(\"aut\", \"cph\")),\n person(family = \"RStudio\", role = \"cph\")\n )",
- "Description": "A framework for creating HTML widgets that render in various\n contexts including the R console, 'R Markdown' documents, and 'Shiny'\n web applications.",
- "License": "MIT + file LICENSE",
- "VignetteBuilder": "knitr",
- "Imports": "grDevices, htmltools (>= 0.3), jsonlite (>= 0.9.16), yaml",
- "Suggests": "knitr (>= 1.8)",
- "Enhances": "shiny (>= 1.1)",
- "URL": "https://github.com/ramnathv/htmlwidgets",
- "BugReports": "https://github.com/ramnathv/htmlwidgets/issues",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "no",
- "Packaged": "2019-10-07 21:55:31 UTC; jcheng",
- "Author": "Ramnath Vaidyanathan [aut, cph],\n Yihui Xie [aut],\n JJ Allaire [aut],\n Joe Cheng [aut, cre],\n Kenton Russell [aut, cph],\n RStudio [cph]",
- "Maintainer": "Joe Cheng ",
- "Repository": "CRAN",
- "Date/Publication": "2019-10-08 08:40:02 UTC",
- "Built": "R 3.6.1; ; 2019-10-08 16:26:29 UTC; unix"
- }
- },
- "httpuv": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "httpuv",
- "Type": "Package",
- "Encoding": "UTF-8",
- "Title": "HTTP and WebSocket Server Library",
- "Version": "1.5.2",
- "Author": "Joe Cheng, Hector Corrada Bravo [ctb], Jeroen Ooms [ctb],\n Winston Chang [ctb]",
- "Copyright": "RStudio, Inc.; Joyent, Inc.; Nginx Inc.; Igor Sysoev; Niels\nProvos; Internet Systems Consortium, Inc.; Alexander Chemeris;\nBerkeley Software Design; Google Inc.; Sony Mobile\nCommunications AB; Alexander Peslyak; Free Software Foundation,\nInc.; X Consortium; Ben Noordhuis; StrongLoop, Inc.; Saúl\nIbarra Corretgé; Bert Belder; Fedor Indutny; libuv project;\nRefael Ackermann; Kenneth MacKay; Emergya; Diego Pettenò; xine\nproject, The Regents of the University of California, Dariusz\nDwornikowski",
- "Maintainer": "Joe Cheng ",
- "Description": "Provides low-level socket and protocol support for handling\n HTTP and WebSocket requests directly from within R. It is primarily\n intended as a building block for other packages, rather than making it\n particularly easy to create complete web applications using httpuv alone.\n httpuv is built on top of the libuv and http-parser C libraries, both of\n which were developed by Joyent, Inc. (See LICENSE file for libuv and\n http-parser license information.)",
- "License": "GPL (>= 2) | file LICENSE",
- "Depends": "R (>= 2.15.1)",
- "Imports": "Rcpp (>= 0.11.0), utils, R6, promises, later (>= 0.8.0)",
- "LinkingTo": "Rcpp, BH, later",
- "URL": "https://github.com/rstudio/httpuv",
- "SystemRequirements": "GNU make",
- "RoxygenNote": "6.1.1",
- "Suggests": "testthat, callr, curl, websocket",
- "Collate": "'RcppExports.R' 'httpuv.R' 'random_port.R' 'server.R'\n'static_paths.R' 'utils.R'",
- "NeedsCompilation": "yes",
- "Packaged": "2019-09-11 04:12:10 UTC; jcheng",
- "Repository": "CRAN",
- "Date/Publication": "2019-09-11 05:40:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-09-12 12:27:08 UTC; unix"
- }
- },
- "httr": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "httr",
- "Title": "Tools for Working with URLs and HTTP",
- "Version": "1.4.1",
- "Authors@R": "\n c(person(given = \"Hadley\",\n family = \"Wickham\",\n role = c(\"aut\", \"cre\"),\n email = \"hadley@rstudio.com\"),\n person(given = \"RStudio\",\n role = \"cph\"))",
- "Description": "Useful tools for working with HTTP organised by\n HTTP verbs (GET(), POST(), etc). Configuration functions make it easy\n to control additional request components (authenticate(),\n add_headers() and so on).",
- "License": "MIT + file LICENSE",
- "URL": "https://httr.r-lib.org/, https://github.com/r-lib/httr",
- "BugReports": "https://github.com/r-lib/httr/issues",
- "Depends": "R (>= 3.2)",
- "Imports": "curl (>= 3.0.0), jsonlite, mime, openssl (>= 0.8), R6",
- "Suggests": "covr, httpuv, jpeg, knitr, png, readr, rmarkdown, testthat\n(>= 0.8.0), xml2",
- "VignetteBuilder": "knitr",
- "Encoding": "UTF-8",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "no",
- "Packaged": "2019-07-30 13:44:18 UTC; hadley",
- "Author": "Hadley Wickham [aut, cre],\n RStudio [cph]",
- "Maintainer": "Hadley Wickham ",
- "Repository": "CRAN",
- "Date/Publication": "2019-08-05 14:30:02 UTC",
- "Built": "R 3.6.0; ; 2019-08-06 13:11:34 UTC; unix"
- }
- },
- "jpeg": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "jpeg",
- "Version": "0.1-8.1",
- "Title": "Read and write JPEG images",
- "Author": "Simon Urbanek ",
- "Maintainer": "Simon Urbanek ",
- "Depends": "R (>= 2.9.0)",
- "Description": "This package provides an easy and simple way to read, write and display bitmap images stored in the JPEG format. It can read and write both files and in-memory raw vectors.",
- "License": "GPL-2 | GPL-3",
- "SystemRequirements": "libjpeg",
- "URL": "http://www.rforge.net/jpeg/",
- "Packaged": "2019-10-24 14:50:27 UTC; hornik",
- "NeedsCompilation": "yes",
- "Repository": "CRAN",
- "Date/Publication": "2019-10-24 14:51:52 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-11-05 19:35:57 UTC; unix"
- }
- },
- "jsonlite": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "jsonlite",
- "Version": "1.6",
- "Title": "A Robust, High Performance JSON Parser and Generator for R",
- "License": "MIT + file LICENSE",
- "NeedsCompilation": "yes",
- "Depends": "methods",
- "Author": "Jeroen Ooms, Duncan Temple Lang, Lloyd Hilaiel",
- "URL": "https://arxiv.org/abs/1403.2805,\nhttps://www.opencpu.org/posts/jsonlite-a-smarter-json-encoder",
- "BugReports": "http://github.com/jeroen/jsonlite/issues",
- "Maintainer": "Jeroen Ooms ",
- "VignetteBuilder": "knitr, R.rsp",
- "Description": "A fast JSON parser and generator optimized for statistical data\n and the web. Started out as a fork of 'RJSONIO', but has been completely\n rewritten in recent versions. The package offers flexible, robust, high\n performance tools for working with JSON in R and is particularly powerful\n for building pipelines and interacting with a web API. The implementation is\n based on the mapping described in the vignette (Ooms, 2014). In addition to\n converting JSON data from/to R objects, 'jsonlite' contains functions to\n stream, validate, and prettify JSON data. The unit tests included with the\n package verify that all edge cases are encoded and decoded consistently for\n use with dynamic data in systems and applications.",
- "Suggests": "httr, curl, plyr, testthat, knitr, rmarkdown, R.rsp, sp",
- "RoxygenNote": "6.1.1",
- "Packaged": "2018-12-07 11:22:02 UTC; jeroen",
- "Repository": "CRAN",
- "Date/Publication": "2018-12-07 12:50:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:49:58 UTC; unix"
- }
- },
- "knitr": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "knitr",
- "Type": "Package",
- "Title": "A General-Purpose Package for Dynamic Report Generation in R",
- "Version": "1.26",
- "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Adam\", \"Vogt\", role = \"ctb\"),\n person(\"Alastair\", \"Andrew\", role = \"ctb\"),\n person(\"Alex\", \"Zvoleff\", role = \"ctb\"),\n person(\"Andre\", \"Simon\", role = \"ctb\", comment = \"the CSS files under inst/themes/ were derived from the Highlight package http://www.andre-simon.de\"),\n person(\"Aron\", \"Atkins\", role = \"ctb\"),\n person(\"Aaron\", \"Wolen\", role = \"ctb\"),\n person(\"Ashley\", \"Manton\", role = \"ctb\"),\n person(\"Atsushi\", \"Yasumoto\", role = \"ctb\", comment = c(ORCID = \"0000-0002-8335-495X\")),\n person(\"Ben\", \"Baumer\", role = \"ctb\"),\n person(\"Brian\", \"Diggs\", role = \"ctb\"),\n person(\"Brian\", \"Zhang\", role = \"ctb\"),\n person(\"Cassio\", \"Pereira\", role = \"ctb\"),\n person(\"Christophe\", \"Dervieux\", role = \"ctb\"),\n person(\"David\", \"Hugh-Jones\", role = \"ctb\"),\n person(\"David\", \"Robinson\", role = \"ctb\"),\n person(\"Doug\", \"Hemken\", role = \"ctb\"),\n person(\"Duncan\", \"Murdoch\", role = \"ctb\"),\n person(\"Elio\", \"Campitelli\", role = \"ctb\"),\n person(\"Emily\", \"Riederer\", role = \"ctb\"),\n person(\"Fabian\", \"Hirschmann\", role = \"ctb\"),\n person(\"Fitch\", \"Simeon\", role = \"ctb\"),\n person(\"Forest\", \"Fang\", role = \"ctb\"),\n person(c(\"Frank\", \"E\", \"Harrell\", \"Jr\"), role = \"ctb\", comment = \"the Sweavel package at inst/misc/Sweavel.sty\"),\n person(\"Garrick\", \"Aden-Buie\", role = \"ctb\"),\n person(\"Gregoire\", \"Detrez\", role = \"ctb\"),\n person(\"Hadley\", \"Wickham\", role = \"ctb\"),\n person(\"Hao\", \"Zhu\", role = \"ctb\"),\n person(\"Heewon\", \"Jeon\", role = \"ctb\"),\n person(\"Henrik\", \"Bengtsson\", role = \"ctb\"),\n person(\"Hiroaki\", \"Yutani\", role = \"ctb\"),\n person(\"Ian\", \"Lyttle\", role = \"ctb\"),\n person(\"Hodges\", \"Daniel\", role = \"ctb\"),\n person(\"Jake\", \"Burkhead\", role = \"ctb\"),\n person(\"James\", \"Manton\", role = \"ctb\"),\n person(\"Jared\", \"Lander\", role = \"ctb\"),\n person(\"Jason\", \"Punyon\", role = \"ctb\"),\n person(\"Javier\", \"Luraschi\", role = \"ctb\"),\n person(\"Jeff\", \"Arnold\", role = \"ctb\"),\n person(\"Jenny\", \"Bryan\", role = \"ctb\"),\n person(\"Jeremy\", \"Ashkenas\", role = c(\"ctb\", \"cph\"), comment = \"the CSS file at inst/misc/docco-classic.css\"),\n person(\"Jeremy\", \"Stephens\", role = \"ctb\"),\n person(\"Jim\", \"Hester\", role = \"ctb\"),\n person(\"Joe\", \"Cheng\", role = \"ctb\"),\n person(\"Johannes\", \"Ranke\", role = \"ctb\"),\n person(\"John\", \"Honaker\", role = \"ctb\"),\n person(\"John\", \"Muschelli\", role = \"ctb\"),\n person(\"Jonathan\", \"Keane\", role = \"ctb\"),\n person(\"JJ\", \"Allaire\", role = \"ctb\"),\n person(\"Johan\", \"Toloe\", role = \"ctb\"),\n person(\"Jonathan\", \"Sidi\", role = \"ctb\"),\n person(\"Joseph\", \"Larmarange\", role = \"ctb\"),\n person(\"Julien\", \"Barnier\", role = \"ctb\"),\n person(\"Kaiyin\", \"Zhong\", role = \"ctb\"),\n person(\"Kamil\", \"Slowikowski\", role = \"ctb\"),\n person(\"Karl\", \"Forner\", role = \"ctb\"),\n person(c(\"Kevin\", \"K.\"), \"Smith\", role = \"ctb\"),\n person(\"Kirill\", \"Mueller\", role = \"ctb\"),\n person(\"Kohske\", \"Takahashi\", role = \"ctb\"),\n person(\"Lorenz\", \"Walthert\", role = \"ctb\"),\n person(\"Lucas\", \"Gallindo\", role = \"ctb\"),\n person(\"Marius\", \"Hofert\", role = \"ctb\"),\n person(\"Martin\", \"Modrák\", role = \"ctb\"),\n person(\"Michael\", \"Chirico\", role = \"ctb\"),\n person(\"Michael\", \"Friendly\", role = \"ctb\"),\n person(\"Michal\", \"Bojanowski\", role = \"ctb\"),\n person(\"Michel\", \"Kuhlmann\", role = \"ctb\"),\n person(\"Miller\", \"Patrick\", role = \"ctb\"),\n person(\"Nacho\", \"Caballero\", role = \"ctb\"),\n person(\"Nick\", \"Salkowski\", role = \"ctb\"),\n person(\"Niels Richard\", \"Hansen\", role = \"ctb\"),\n person(\"Noam\", \"Ross\", role = \"ctb\"),\n person(\"Obada\", \"Mahdi\", role = \"ctb\"),\n person(\"Qiang\", \"Li\", role = \"ctb\"),\n person(\"Ramnath\", \"Vaidyanathan\", role = \"ctb\"),\n person(\"Richard\", \"Cotton\", role = \"ctb\"),\n person(\"Robert\", \"Krzyzanowski\", role = \"ctb\"),\n person(\"Romain\", \"Francois\", role = \"ctb\"),\n person(\"Ruaridh\", \"Williamson\", role = \"ctb\"),\n person(\"Scott\", \"Kostyshak\", role = \"ctb\"),\n person(\"Sebastian\", \"Meyer\", role = \"ctb\"),\n person(\"Sietse\", \"Brouwer\", role = \"ctb\"),\n person(c(\"Simon\", \"de\"), \"Bernard\", role = \"ctb\"),\n person(\"Sylvain\", \"Rousseau\", role = \"ctb\"),\n person(\"Taiyun\", \"Wei\", role = \"ctb\"),\n person(\"Thibaut\", \"Assus\", role = \"ctb\"),\n person(\"Thibaut\", \"Lamadon\", role = \"ctb\"),\n person(\"Thomas\", \"Leeper\", role = \"ctb\"),\n person(\"Tim\", \"Mastny\", role = \"ctb\"),\n person(\"Tom\", \"Torsney-Weir\", role = \"ctb\"),\n person(\"Trevor\", \"Davis\", role = \"ctb\"),\n person(\"Viktoras\", \"Veitas\", role = \"ctb\"),\n person(\"Weicheng\", \"Zhu\", role = \"ctb\"),\n person(\"Wush\", \"Wu\", role = \"ctb\"),\n person(\"Zachary\", \"Foster\", role = \"ctb\")\n )",
- "Maintainer": "Yihui Xie ",
- "Description": "Provides a general-purpose tool for dynamic report generation in R\n using Literate Programming techniques.",
- "Depends": "R (>= 3.2.3)",
- "Imports": "evaluate (>= 0.10), highr, markdown, stringr (>= 0.6), yaml\n(>= 2.1.19), methods, xfun, tools",
- "Suggests": "formatR, testit, digest, rgl (>= 0.95.1201), codetools,\nrmarkdown, htmlwidgets (>= 0.7), webshot, tikzDevice (>= 0.10),\ntinytex, reticulate (>= 1.4), JuliaCall (>= 0.11.1), magick,\npng, jpeg, gifski, xml2 (>= 1.2.0), httr, DBI (>= 0.4-1),\nshowtext, tibble, sass, styler (>= 1.2.0)",
- "License": "GPL",
- "URL": "https://yihui.name/knitr/",
- "BugReports": "https://github.com/yihui/knitr/issues",
- "Encoding": "UTF-8",
- "VignetteBuilder": "knitr",
- "SystemRequirements": "Package vignettes based on R Markdown v2 or\nreStructuredText require Pandoc (http://pandoc.org). The\nfunction rst2pdf() require rst2pdf\n(https://github.com/rst2pdf/rst2pdf).",
- "Collate": "'block.R' 'cache.R' 'utils.R' 'citation.R' 'hooks-html.R'\n'plot.R' 'defaults.R' 'concordance.R' 'engine.R' 'highlight.R'\n'themes.R' 'header.R' 'hooks-asciidoc.R' 'hooks-chunk.R'\n'hooks-extra.R' 'hooks-latex.R' 'hooks-md.R' 'hooks-rst.R'\n'hooks-textile.R' 'hooks.R' 'output.R' 'package.R' 'pandoc.R'\n'params.R' 'parser.R' 'pattern.R' 'rocco.R' 'spin.R' 'table.R'\n'template.R' 'utils-base64.R' 'utils-conversion.R'\n'utils-rd2html.R' 'utils-sweave.R' 'utils-upload.R'\n'utils-vignettes.R' 'zzz.R'",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "no",
- "Packaged": "2019-11-12 20:05:16 UTC; yihui",
- "Author": "Yihui Xie [aut, cre] (),\n Adam Vogt [ctb],\n Alastair Andrew [ctb],\n Alex Zvoleff [ctb],\n Andre Simon [ctb] (the CSS files under inst/themes/ were derived from\n the Highlight package http://www.andre-simon.de),\n Aron Atkins [ctb],\n Aaron Wolen [ctb],\n Ashley Manton [ctb],\n Atsushi Yasumoto [ctb] (),\n Ben Baumer [ctb],\n Brian Diggs [ctb],\n Brian Zhang [ctb],\n Cassio Pereira [ctb],\n Christophe Dervieux [ctb],\n David Hugh-Jones [ctb],\n David Robinson [ctb],\n Doug Hemken [ctb],\n Duncan Murdoch [ctb],\n Elio Campitelli [ctb],\n Emily Riederer [ctb],\n Fabian Hirschmann [ctb],\n Fitch Simeon [ctb],\n Forest Fang [ctb],\n Frank E Harrell Jr [ctb] (the Sweavel package at inst/misc/Sweavel.sty),\n Garrick Aden-Buie [ctb],\n Gregoire Detrez [ctb],\n Hadley Wickham [ctb],\n Hao Zhu [ctb],\n Heewon Jeon [ctb],\n Henrik Bengtsson [ctb],\n Hiroaki Yutani [ctb],\n Ian Lyttle [ctb],\n Hodges Daniel [ctb],\n Jake Burkhead [ctb],\n James Manton [ctb],\n Jared Lander [ctb],\n Jason Punyon [ctb],\n Javier Luraschi [ctb],\n Jeff Arnold [ctb],\n Jenny Bryan [ctb],\n Jeremy Ashkenas [ctb, cph] (the CSS file at\n inst/misc/docco-classic.css),\n Jeremy Stephens [ctb],\n Jim Hester [ctb],\n Joe Cheng [ctb],\n Johannes Ranke [ctb],\n John Honaker [ctb],\n John Muschelli [ctb],\n Jonathan Keane [ctb],\n JJ Allaire [ctb],\n Johan Toloe [ctb],\n Jonathan Sidi [ctb],\n Joseph Larmarange [ctb],\n Julien Barnier [ctb],\n Kaiyin Zhong [ctb],\n Kamil Slowikowski [ctb],\n Karl Forner [ctb],\n Kevin K. Smith [ctb],\n Kirill Mueller [ctb],\n Kohske Takahashi [ctb],\n Lorenz Walthert [ctb],\n Lucas Gallindo [ctb],\n Marius Hofert [ctb],\n Martin Modrák [ctb],\n Michael Chirico [ctb],\n Michael Friendly [ctb],\n Michal Bojanowski [ctb],\n Michel Kuhlmann [ctb],\n Miller Patrick [ctb],\n Nacho Caballero [ctb],\n Nick Salkowski [ctb],\n Niels Richard Hansen [ctb],\n Noam Ross [ctb],\n Obada Mahdi [ctb],\n Qiang Li [ctb],\n Ramnath Vaidyanathan [ctb],\n Richard Cotton [ctb],\n Robert Krzyzanowski [ctb],\n Romain Francois [ctb],\n Ruaridh Williamson [ctb],\n Scott Kostyshak [ctb],\n Sebastian Meyer [ctb],\n Sietse Brouwer [ctb],\n Simon de Bernard [ctb],\n Sylvain Rousseau [ctb],\n Taiyun Wei [ctb],\n Thibaut Assus [ctb],\n Thibaut Lamadon [ctb],\n Thomas Leeper [ctb],\n Tim Mastny [ctb],\n Tom Torsney-Weir [ctb],\n Trevor Davis [ctb],\n Viktoras Veitas [ctb],\n Weicheng Zhu [ctb],\n Wush Wu [ctb],\n Zachary Foster [ctb]",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-12 21:00:02 UTC",
- "Built": "R 3.6.0; ; 2019-11-13 16:11:45 UTC; unix"
- }
- },
- "labeling": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "labeling",
- "Type": "Package",
- "Title": "Axis Labeling",
- "Version": "0.3",
- "Date": "2014-08-22",
- "Author": "Justin Talbot",
- "Maintainer": "Justin Talbot ",
- "Description": "Provides a range of axis labeling algorithms",
- "License": "MIT + file LICENSE | Unlimited",
- "LazyLoad": "no",
- "Collate": "'labeling.R'",
- "Repository": "CRAN",
- "Repository/R-Forge/Project": "labeling",
- "Repository/R-Forge/Revision": "16",
- "Repository/R-Forge/DateTimeStamp": "2014-08-23 05:53:23",
- "Date/Publication": "2014-08-23 14:57:53",
- "Packaged": "2014-08-23 06:15:07 UTC; rforge",
- "NeedsCompilation": "no",
- "Built": "R 3.6.0; ; 2019-04-26 19:50:48 UTC; unix"
- }
- },
- "later": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "later",
- "Type": "Package",
- "Title": "Utilities for Scheduling Functions to Execute Later with Event\nLoops",
- "Version": "1.0.0",
- "Authors@R": "c(\n person(\"Joe\", \"Cheng\", role = c(\"aut\", \"cre\"), email = \"joe@rstudio.com\"),\n person(family = \"RStudio\", role = \"cph\"),\n person(\"Winston\", \"Chang\", role = c(\"aut\"), email = \"winston@rstudio.com\"),\n person(\"Marcus\", \"Geelnard\", role = c(\"ctb\", \"cph\"), comment = \"TinyCThread library, https://tinycthread.github.io/\"),\n person(\"Evan\", \"Nemerson\", role = c(\"ctb\", \"cph\"), comment = \"TinyCThread library, https://tinycthread.github.io/\")\n )",
- "Description": "Executes arbitrary R or C functions some time after the current\n time, after the R execution stack has emptied. The functions are scheduled\n in an event loop.",
- "URL": "https://github.com/r-lib/later",
- "BugReports": "https://github.com/r-lib/later/issues",
- "License": "GPL (>= 2)",
- "Imports": "Rcpp (>= 0.12.9), rlang",
- "LinkingTo": "Rcpp, BH",
- "RoxygenNote": "6.1.1",
- "Suggests": "knitr, rmarkdown, testthat",
- "VignetteBuilder": "knitr",
- "NeedsCompilation": "yes",
- "Packaged": "2019-10-03 23:31:59 UTC; jcheng",
- "Author": "Joe Cheng [aut, cre],\n RStudio [cph],\n Winston Chang [aut],\n Marcus Geelnard [ctb, cph] (TinyCThread library,\n https://tinycthread.github.io/),\n Evan Nemerson [ctb, cph] (TinyCThread library,\n https://tinycthread.github.io/)",
- "Maintainer": "Joe Cheng ",
- "Repository": "CRAN",
- "Date/Publication": "2019-10-04 05:00:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-10-05 12:17:52 UTC; unix"
- }
- },
- "lattice": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "lattice",
- "Version": "0.20-38",
- "Date": "2018-11-01",
- "Priority": "recommended",
- "Title": "Trellis Graphics for R",
- "Author": "Deepayan Sarkar ",
- "Maintainer": "Deepayan Sarkar ",
- "Description": "A powerful and elegant high-level data visualization\n system inspired by Trellis graphics, with an emphasis on\n multivariate data. Lattice is sufficient for typical graphics needs,\n and is also flexible enough to handle most nonstandard requirements.\n See ?Lattice for an introduction.",
- "Depends": "R (>= 3.0.0)",
- "Suggests": "KernSmooth, MASS, latticeExtra",
- "Imports": "grid, grDevices, graphics, stats, utils",
- "Enhances": "chron",
- "LazyLoad": "yes",
- "LazyData": "yes",
- "License": "GPL (>= 2)",
- "URL": "http://lattice.r-forge.r-project.org/",
- "BugReports": "https://github.com/deepayan/lattice/issues",
- "NeedsCompilation": "yes",
- "Packaged": "2018-11-04 11:39:05 UTC; deepayan",
- "Repository": "CRAN",
- "Date/Publication": "2018-11-04 12:50:03 UTC",
- "Built": "R 3.6.1; x86_64-apple-darwin15.6.0; 2019-07-06 02:02:13 UTC; unix"
- }
- },
- "latticeExtra": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "latticeExtra",
- "Version": "0.6-28",
- "Date": "2016-01-09",
- "Title": "Extra Graphical Utilities Based on Lattice",
- "Author": "Deepayan Sarkar , Felix Andrews ",
- "Maintainer": "Deepayan Sarkar ",
- "Description": "Building on the infrastructure provided by the lattice\n\t package, this package provides several new high-level\n\t functions and methods, as well as additional utilities\n\t such as panel and axis annotation functions.",
- "Depends": "R (>= 2.10.0), lattice, RColorBrewer",
- "Imports": "grid, stats, utils, grDevices",
- "Suggests": "maps, mapproj, deldir, tripack, zoo, MASS, quantreg, mgcv",
- "URL": "http://latticeextra.r-forge.r-project.org/",
- "LazyLoad": "yes",
- "LazyData": "yes",
- "License": "GPL (>= 2)",
- "NeedsCompilation": "no",
- "Packaged": "2016-02-09 11:06:00 UTC; deepayan",
- "Repository": "CRAN",
- "Date/Publication": "2016-02-09 14:36:31",
- "Built": "R 3.6.0; ; 2019-04-26 19:51:07 UTC; unix"
- }
- },
- "lazyeval": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "lazyeval",
- "Version": "0.2.2",
- "Title": "Lazy (Non-Standard) Evaluation",
- "Description": "An alternative approach to non-standard evaluation using\n formulas. Provides a full implementation of LISP style 'quasiquotation',\n making it easier to generate code with other code.",
- "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", ,\"hadley@rstudio.com\", c(\"aut\", \"cre\")),\n person(\"RStudio\", role = \"cph\")\n )",
- "License": "GPL-3",
- "LazyData": "true",
- "Depends": "R (>= 3.1.0)",
- "Suggests": "knitr, rmarkdown (>= 0.2.65), testthat, covr",
- "VignetteBuilder": "knitr",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "yes",
- "Packaged": "2019-03-15 14:18:01 UTC; lionel",
- "Author": "Hadley Wickham [aut, cre],\n RStudio [cph]",
- "Maintainer": "Hadley Wickham ",
- "Repository": "CRAN",
- "Date/Publication": "2019-03-15 17:50:07 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:50:46 UTC; unix"
- }
- },
- "leaflet": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "leaflet",
- "Type": "Package",
- "Title": "Create Interactive Web Maps with the JavaScript 'Leaflet'\nLibrary",
- "Version": "2.0.3",
- "Authors@R": "c(\n person(\"Joe\", \"Cheng\", email = \"joe@rstudio.com\", role = c(\"aut\", \"cre\")),\n person(\"Bhaskar\", \"Karambelkar\", role = c(\"aut\")),\n person(\"Yihui\", \"Xie\", role = c(\"aut\")),\n person(\"Hadley\", \"Wickham\", role = c(\"ctb\")),\n person(\"Kenton\", \"Russell\", role = c(\"ctb\")),\n person(\"Kent\", \"Johnson\", role = c(\"ctb\")),\n person(\"Barret\", \"Schloerke\", role = c(\"ctb\")),\n person(\"jQuery Foundation and contributors\", role = c(\"ctb\", \"cph\"), comment = \"jQuery library\"),\n person(\"Vladimir\", \"Agafonkin\", role = c(\"ctb\", \"cph\"), comment = \"Leaflet library\"),\n person(\"CloudMade\", role = c(\"cph\"), comment = \"Leaflet library\"),\n person(\"Leaflet contributors\", role = c(\"ctb\"), comment = \"Leaflet library\"),\n person(\"Brandon Copeland\", role = c(\"ctb\", \"cph\"), comment = \"leaflet-measure plugin\"),\n person(\"Joerg Dietrich\", role = c(\"ctb\", \"cph\"), comment = \"Leaflet.Terminator plugin\"),\n person(\"Benjamin Becquet\", role = c(\"ctb\", \"cph\"), comment = \"Leaflet.MagnifyingGlass plugin\"),\n person(\"Norkart AS\", role = c(\"ctb\", \"cph\"), comment = \"Leaflet.MiniMap plugin\"),\n person(\"L. Voogdt\", role = c(\"ctb\", \"cph\"), comment = \"Leaflet.awesome-markers plugin\"),\n person(\"Daniel Montague\", role = c(\"ctb\", \"cph\"), comment = \"Leaflet.EasyButton plugin\"),\n person(\"Kartena AB\", role = c(\"ctb\", \"cph\"), comment = \"Proj4Leaflet plugin\"),\n person(\"Robert Kajic\", role = c(\"ctb\", \"cph\"), comment = \"leaflet-locationfilter plugin\"),\n person(\"Mapbox\", role = c(\"ctb\", \"cph\"), comment = \"leaflet-omnivore plugin\"),\n person(\"Michael Bostock\", role = c(\"ctb\", \"cph\"), comment = \"topojson\"),\n person(\"RStudio\", role = c(\"cph\"))\n )",
- "Description": "Create and customize interactive maps using the 'Leaflet'\n JavaScript library and the 'htmlwidgets' package. These maps can be used\n directly from the R console, from 'RStudio', in Shiny applications and R Markdown\n documents.",
- "License": "GPL-3",
- "URL": "http://rstudio.github.io/leaflet/",
- "BugReports": "https://github.com/rstudio/leaflet/issues",
- "Depends": "R (>= 3.1.0)",
- "Imports": "base64enc, crosstalk, htmlwidgets, htmltools, magrittr,\nmarkdown, methods, png, RColorBrewer, raster, scales (>=\n1.0.0), sp, stats, viridis (>= 0.5.1), leaflet.providers (>=\n1.8.0)",
- "Suggests": "knitr, maps, sf, shiny, rgdal, rgeos, R6, RJSONIO, purrr,\ntestthat",
- "RoxygenNote": "6.1.1",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "NeedsCompilation": "no",
- "Packaged": "2019-11-14 18:00:03 UTC; barret",
- "Author": "Joe Cheng [aut, cre],\n Bhaskar Karambelkar [aut],\n Yihui Xie [aut],\n Hadley Wickham [ctb],\n Kenton Russell [ctb],\n Kent Johnson [ctb],\n Barret Schloerke [ctb],\n jQuery Foundation and contributors [ctb, cph] (jQuery library),\n Vladimir Agafonkin [ctb, cph] (Leaflet library),\n CloudMade [cph] (Leaflet library),\n Leaflet contributors [ctb] (Leaflet library),\n Brandon Copeland [ctb, cph] (leaflet-measure plugin),\n Joerg Dietrich [ctb, cph] (Leaflet.Terminator plugin),\n Benjamin Becquet [ctb, cph] (Leaflet.MagnifyingGlass plugin),\n Norkart AS [ctb, cph] (Leaflet.MiniMap plugin),\n L. Voogdt [ctb, cph] (Leaflet.awesome-markers plugin),\n Daniel Montague [ctb, cph] (Leaflet.EasyButton plugin),\n Kartena AB [ctb, cph] (Proj4Leaflet plugin),\n Robert Kajic [ctb, cph] (leaflet-locationfilter plugin),\n Mapbox [ctb, cph] (leaflet-omnivore plugin),\n Michael Bostock [ctb, cph] (topojson),\n RStudio [cph]",
- "Maintainer": "Joe Cheng ",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-16 05:50:05 UTC",
- "Built": "R 3.6.0; ; 2019-11-17 14:49:24 UTC; unix"
- }
- },
- "leaflet.providers": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "leaflet.providers",
- "Type": "Package",
- "Title": "Leaflet Providers",
- "Version": "1.9.0",
- "Authors@R": "c(\n person(\"Leslie\", \"Huang\", email = \"lesliehuang@nyu.edu\", role = c(\"aut\")),\n person(\"Barret\", \"Schloerke\", email = \"barret@rstudio.com\", role = c(\"ctb\", \"cre\"),\n comment = c(ORCID = \"0000-0001-9986-114X\")),\n person(\"Leaflet Providers contributors\", role = c(\"ctb\", \"cph\"), comment = \"Leaflet Providers plugin\"),\n person(\"RStudio\", role = c(\"cph\", \"fnd\"))\n )",
- "Description": "Contains third-party map tile provider information from\n 'Leaflet.js', , to be\n used with the 'leaflet' R package. Additionally, 'leaflet.providers'\n enables users to retrieve up-to-date provider information between package\n updates.",
- "License": "BSD_2_clause + file LICENSE",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "Depends": "R (>= 2.10)",
- "Suggests": "V8, jsonlite, testthat (>= 2.1.0)",
- "Language": "en-US",
- "RoxygenNote": "6.1.1",
- "URL": "https://github.com/rstudio/leaflet.providers",
- "BugReports": "https://github.com/rstudio/leaflet.providers/issues",
- "Collate": "'providers_data.R' 'get_current_providers.R'",
- "NeedsCompilation": "no",
- "Packaged": "2019-11-08 22:12:22 UTC; barret",
- "Author": "Leslie Huang [aut],\n Barret Schloerke [ctb, cre] (),\n Leaflet Providers contributors [ctb, cph] (Leaflet Providers plugin),\n RStudio [cph, fnd]",
- "Maintainer": "Barret Schloerke ",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-09 23:40:09 UTC",
- "Built": "R 3.6.0; ; 2019-11-11 01:13:46 UTC; unix"
- }
- },
- "learnr": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "learnr",
- "Type": "Package",
- "Title": "Interactive Tutorials for R",
- "Version": "0.10.0",
- "Authors@R": "c(\n person(\"Barret\", \"Schloerke\", role = c(\"aut\", \"cre\"), email = \"barret@rstudio.com\",\n comment = c(ORCID = \"0000-0001-9986-114X\")),\n person(\"JJ\", \"Allaire\", role = \"aut\", email = \"jj@rstudio.com\"),\n person(\"Barbara\", \"Borges\", role = \"aut\", email = \"barbara@rstudio.com\"),\n person(family = \"RStudio, Inc.\", role = \"cph\"),\n person(family = \"Ajax.org B.V.\", role=c(\"ctb\", \"cph\"), comment= \"Ace library\"),\n person(\"Zeno\", \"Rocha\", role = c(\"ctb\", \"cph\"), comment = \"clipboard.js library\"),\n person(\"Nick\", \"Payne\", role = c(\"ctb\", \"cph\"), comment = \"Bootbox library\"),\n person(\"Jake\", \"Archibald\", role = c(\"ctb\", \"cph\"), comment = \"idb-keyval library\")\n )",
- "Description": "Create interactive tutorials using R Markdown. Use a combination\n of narrative, figures, videos, exercises, and quizzes to create self-paced\n tutorials for learning about R and R packages.",
- "License": "Apache License (>= 2.0)",
- "URL": "https://rstudio.github.io/learnr/",
- "BugReports": "https://github.com/rstudio/learnr/issues",
- "Imports": "utils, parallel, withr, rappdirs, rprojroot, jsonlite,\nhtmltools (>= 0.3.5), htmlwidgets, evaluate, knitr (>= 1.14),\nmarkdown, shiny (>= 1.0), rmarkdown (>= 1.12.0), ellipsis (>=\n0.2.0.1), checkmate, renv (>= 0.8.0)",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "Suggests": "testthat (>= 2.1.0), callr, rlang",
- "NeedsCompilation": "no",
- "Packaged": "2019-11-08 22:15:26 UTC; barret",
- "Author": "Barret Schloerke [aut, cre] (),\n JJ Allaire [aut],\n Barbara Borges [aut],\n RStudio, Inc. [cph],\n Ajax.org B.V. [ctb, cph] (Ace library),\n Zeno Rocha [ctb, cph] (clipboard.js library),\n Nick Payne [ctb, cph] (Bootbox library),\n Jake Archibald [ctb, cph] (idb-keyval library)",
- "Maintainer": "Barret Schloerke ",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-09 05:30:20 UTC",
- "Built": "R 3.6.0; ; 2019-11-10 23:30:44 UTC; unix"
- }
- },
- "lifecycle": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "lifecycle",
- "Title": "Manage the Life Cycle of your Package Functions",
- "Version": "0.1.0",
- "Authors@R": "\n c(\n person(given = \"Lionel\", family = \"Henry\", role = c(\"aut\", \"cre\"), email = \"lionel@rstudio.com\"),\n person(given = \"RStudio\", role = \"cph\")\n )",
- "Description": "Manage the life cycle of your exported functions with\n shared conventions, documentation badges, and non-invasive\n deprecation warnings. The 'lifecycle' package defines four\n development stages (experimental, maturing, stable, and\n questioning) and three deprecation stages (soft-deprecated,\n deprecated, and defunct). It makes it easy to insert badges\n corresponding to these stages in your documentation. Usage of\n deprecated functions are signalled with increasing levels of\n non-invasive verbosity.",
- "License": "GPL-3",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "Depends": "R (>= 3.2)",
- "Imports": "glue, rlang (>= 0.4.0)",
- "Suggests": "covr, crayon, knitr, rmarkdown, testthat (>= 2.1.0)",
- "RoxygenNote": "6.1.1",
- "URL": "https://github.com/r-lib/lifecycle",
- "BugReports": "https://github.com/r-lib/lifecycle/issues",
- "VignetteBuilder": "knitr",
- "NeedsCompilation": "no",
- "Packaged": "2019-07-27 07:28:35 UTC; lionel",
- "Author": "Lionel Henry [aut, cre],\n RStudio [cph]",
- "Maintainer": "Lionel Henry ",
- "Repository": "CRAN",
- "Date/Publication": "2019-08-01 12:50:05 UTC",
- "Built": "R 3.6.0; ; 2019-08-02 17:41:50 UTC; unix"
- }
- },
- "magrittr": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "magrittr",
- "Type": "Package",
- "Title": "A Forward-Pipe Operator for R",
- "Version": "1.5",
- "Author": "Stefan Milton Bache and\n Hadley Wickham ",
- "Maintainer": "Stefan Milton Bache ",
- "Description": "Provides a mechanism for chaining commands with a\n new forward-pipe operator, %>%. This operator will forward a\n value, or the result of an expression, into the next function\n call/expression. There is flexible support for the type\n of right-hand side expressions. For more information, see\n package vignette.\n To quote Rene Magritte, \"Ceci n'est pas un pipe.\"",
- "Suggests": "testthat, knitr",
- "VignetteBuilder": "knitr",
- "License": "MIT + file LICENSE",
- "ByteCompile": "Yes",
- "Packaged": "2014-11-22 08:50:53 UTC; shb",
- "NeedsCompilation": "no",
- "Repository": "CRAN",
- "Date/Publication": "2014-11-22 19:15:57",
- "Built": "R 3.6.0; ; 2019-04-26 19:50:09 UTC; unix"
- }
- },
- "markdown": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "markdown",
- "Type": "Package",
- "Title": "Render Markdown with the C Library 'Sundown'",
- "Version": "1.1",
- "Authors@R": "c(\n person(\"JJ\", \"Allaire\", role = \"aut\"),\n person(\"Jeffrey\", \"Horner\", role = \"aut\"),\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Henrik\", \"Bengtsson\", role = \"ctb\"),\n person(\"Jim\", \"Hester\", role = \"ctb\"),\n person(\"Yixuan\", \"Qiu\", role = \"ctb\"),\n person(\"Kohske\", \"Takahashi\", role = \"ctb\"),\n person(\"Adam\", \"November\", role = \"ctb\"),\n person(\"Nacho\", \"Caballero\", role = \"ctb\"),\n person(\"Jeroen\", \"Ooms\", role = \"ctb\"),\n person(\"Thomas\", \"Leeper\", role = \"ctb\"),\n person(\"Joe\", \"Cheng\", role = \"ctb\"),\n person(\"Andrzej\", \"Oles\", role = \"ctb\"),\n person(\"Vicent\", \"Marti\", role = c(\"aut\", \"cph\"), comment = \"The Sundown library\"),\n person(\"Natacha\", \"Porte\", role = c(\"aut\", \"cph\"), comment = \"The Sundown library\"),\n person(family = \"RStudio\", role = \"cph\")\n )",
- "Description": "Provides R bindings to the 'Sundown' Markdown rendering library\n (). Markdown is a plain-text formatting\n syntax that can be converted to 'XHTML' or other formats. See\n for more information about Markdown.",
- "Depends": "R (>= 2.11.1)",
- "Imports": "utils, xfun, mime (>= 0.3)",
- "Suggests": "knitr, RCurl",
- "License": "GPL-2",
- "URL": "https://github.com/rstudio/markdown",
- "BugReports": "https://github.com/rstudio/markdown/issues",
- "VignetteBuilder": "knitr",
- "RoxygenNote": "6.1.1",
- "Encoding": "UTF-8",
- "NeedsCompilation": "yes",
- "Packaged": "2019-08-07 15:59:28 UTC; yihui",
- "Author": "JJ Allaire [aut],\n Jeffrey Horner [aut],\n Yihui Xie [aut, cre] (),\n Henrik Bengtsson [ctb],\n Jim Hester [ctb],\n Yixuan Qiu [ctb],\n Kohske Takahashi [ctb],\n Adam November [ctb],\n Nacho Caballero [ctb],\n Jeroen Ooms [ctb],\n Thomas Leeper [ctb],\n Joe Cheng [ctb],\n Andrzej Oles [ctb],\n Vicent Marti [aut, cph] (The Sundown library),\n Natacha Porte [aut, cph] (The Sundown library),\n RStudio [cph]",
- "Maintainer": "Yihui Xie ",
- "Repository": "CRAN",
- "Date/Publication": "2019-08-07 16:30:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-08-08 12:53:01 UTC; unix"
- }
- },
- "mgcv": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "mgcv",
- "Version": "1.8-31",
- "Author": "Simon Wood ",
- "Maintainer": "Simon Wood ",
- "Title": "Mixed GAM Computation Vehicle with Automatic Smoothness\nEstimation",
- "Description": "Generalized additive (mixed) models, some of their extensions and \n other generalized ridge regression with multiple smoothing \n parameter estimation by (Restricted) Marginal Likelihood, \n Generalized Cross Validation and similar, or using iterated \n nested Laplace approximation for fully Bayesian inference. See \n Wood (2017) for an overview. \n Includes a gam() function, a wide variety of smoothers, 'JAGS' \n support and distributions beyond the exponential family. ",
- "Priority": "recommended",
- "Depends": "R (>= 2.14.0), nlme (>= 3.1-64)",
- "Imports": "methods, stats, graphics, Matrix, splines, utils",
- "Suggests": "parallel, survival, MASS",
- "LazyLoad": "yes",
- "ByteCompile": "yes",
- "License": "GPL (>= 2)",
- "NeedsCompilation": "yes",
- "Packaged": "2019-11-08 21:21:15 UTC; sw283",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-09 05:30:11 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-11-10 16:24:50 UTC; unix"
- }
- },
- "mime": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "mime",
- "Type": "Package",
- "Title": "Map Filenames to MIME Types",
- "Version": "0.7",
- "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Jeffrey\", \"Horner\", role = \"ctb\"),\n person(\"Beilei\", \"Bian\", role = \"ctb\")\n )",
- "Description": "Guesses the MIME type from a filename extension using the data\n derived from /etc/mime.types in UNIX-type systems.",
- "Imports": "tools",
- "License": "GPL",
- "URL": "https://github.com/yihui/mime",
- "BugReports": "https://github.com/yihui/mime/issues",
- "LazyData": "TRUE",
- "RoxygenNote": "6.1.0",
- "Encoding": "UTF-8",
- "NeedsCompilation": "yes",
- "Packaged": "2019-06-11 19:49:18 UTC; yihui",
- "Author": "Yihui Xie [aut, cre] (),\n Jeffrey Horner [ctb],\n Beilei Bian [ctb]",
- "Maintainer": "Yihui Xie ",
- "Repository": "CRAN",
- "Date/Publication": "2019-06-11 20:10:03 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-06-12 15:54:25 UTC; unix"
- }
- },
- "misc3d": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "misc3d",
- "Title": "Miscellaneous 3D Plots",
- "Version": "0.8-4",
- "Author": "Dai Feng and Luke Tierney",
- "Maintainer": "Luke Tierney ",
- "Suggests": "rgl, tkrplot, MASS",
- "Description": "A collection of miscellaneous 3d plots, including\n isosurfaces.",
- "License": "GPL",
- "Packaged": "2013-01-25 14:23:34 UTC; luke",
- "Repository": "CRAN",
- "Date/Publication": "2013-01-25 15:57:56",
- "Built": "R 3.6.0; ; 2019-04-26 20:00:37 UTC; unix"
- }
- },
- "mosaic": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "mosaic",
- "Type": "Package",
- "Title": "Project MOSAIC Statistics and Mathematics Teaching Utilities",
- "Version": "1.5.0",
- "Description": "Data sets and utilities from Project MOSAIC () used\n to teach mathematics, statistics, computation and modeling. Funded by the\n NSF, Project MOSAIC is a community of educators working to tie together\n aspects of quantitative work that students in science, technology,\n engineering and mathematics will need in their professional lives, but\n which are usually taught in isolation, if at all.",
- "Authors@R": "c(\n person(given = \"Randall\", family = \"Pruim\", email = \"rpruim@calvin.edu\", role = c(\"aut\", \"cre\")), \n person(given = \"Daniel T.\", family = \"Kaplan\", email = \"dtkaplan@macalester.edu\", role = \"aut\"), \n person(given = \"Nicholas J.\", family = \"Horton\", email = \"nhorton@amherst.edu\", role = \"aut\")\n )",
- "Depends": "R (>= 3.0.0), dplyr, lattice (>= 0.20-21), ggformula,\nmosaicData, Matrix",
- "Imports": "mosaicCore (>= 0.5.0), ggplot2, ggrepel, lazyeval (>= 0.2.0),\nMASS, grid, tidyr, readr, methods, utils, splines,\nlatticeExtra, ggdendro, gridExtra, glue, broom, leaflet",
- "Suggests": "lubridate, fastR, magrittr, NHANES, RCurl, sp, maptools, vcd,\ntestthat, knitr, tools, parallel, mapproj, rgl, rmarkdown",
- "Enhances": "manipulate",
- "VignetteBuilder": "knitr",
- "License": "GPL (>= 2)",
- "LazyLoad": "yes",
- "LazyData": "yes",
- "URL": "https://github.com/ProjectMOSAIC/mosaic,\nhttps://projectmosaic.github.io/mosaic/",
- "BugReports": "https://github.com/ProjectMOSAIC/mosaic/issues",
- "RoxygenNote": "6.1.1",
- "Encoding": "UTF-8",
- "NeedsCompilation": "no",
- "Packaged": "2019-01-12 18:33:02 UTC; rpruim",
- "Author": "Randall Pruim [aut, cre],\n Daniel T. Kaplan [aut],\n Nicholas J. Horton [aut]",
- "Maintainer": "Randall Pruim ",
- "Repository": "CRAN",
- "Date/Publication": "2019-01-12 19:20:02 UTC",
- "Built": "R 3.6.0; ; 2019-04-27 06:25:31 UTC; unix"
- }
- },
- "mosaicCore": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "mosaicCore",
- "Type": "Package",
- "Title": "Common Utilities for Other MOSAIC-Family Packages",
- "Version": "0.6.0",
- "Date": "2018-06-23",
- "Depends": "R (>= 3.0.0),",
- "Imports": "stats, dplyr, lazyeval, rlang, tidyr, MASS",
- "Suggests": "mosaicData, mosaic, ggformula, NHANES, testthat",
- "Author": "Randall Pruim , Daniel T. Kaplan\n , Nicholas J. Horton ",
- "Maintainer": "Randall Pruim ",
- "Description": "Common utilities used in other MOSAIC-family packages are \n collected here.",
- "License": "GPL (>= 2)",
- "LazyLoad": "yes",
- "LazyData": "yes",
- "URL": "https://github.com/ProjectMOSAIC/mosaicCore",
- "BugReports": "https://github.com/ProjectMOSAIC/mosaicCore/issues",
- "RoxygenNote": "6.0.1.9000",
- "Encoding": "UTF-8",
- "NeedsCompilation": "no",
- "Packaged": "2018-06-23 23:06:48 UTC; rpruim",
- "Repository": "CRAN",
- "Date/Publication": "2018-06-24 04:17:57 UTC",
- "Built": "R 3.6.0; ; 2019-04-27 05:14:00 UTC; unix"
- }
- },
- "mosaicData": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "mosaicData",
- "Type": "Package",
- "Title": "Project MOSAIC Data Sets",
- "Version": "0.17.0",
- "Date": "2018-06-23",
- "Depends": "R (>= 3.0.0)",
- "Suggests": "lattice, mosaic, reshape2, ggplot2, dplyr, tidyr, ggformula",
- "Author": "Randall Pruim , Daniel Kaplan\n , Nicholas Horton ",
- "Maintainer": "Randall Pruim ",
- "Description": "Data sets from Project MOSAIC () used\n to teach mathematics, statistics, computation and modeling. Funded by the\n NSF, Project MOSAIC is a community of educators working to tie together\n aspects of quantitative work that students in science, technology,\n engineering and mathematics will need in their professional lives, but\n which are usually taught in isolation, if at all.",
- "License": "GPL (>= 2)",
- "LazyLoad": "yes",
- "LazyData": "yes",
- "RoxygenNote": "6.0.1.9000",
- "NeedsCompilation": "no",
- "Packaged": "2018-06-23 18:17:54 UTC; rpruim",
- "Repository": "CRAN",
- "Date/Publication": "2018-06-23 18:37:55 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 19:51:31 UTC; unix"
- }
- },
- "munsell": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "munsell",
- "Type": "Package",
- "Title": "Utilities for Using Munsell Colours",
- "Version": "0.5.0",
- "Author": "Charlotte Wickham ",
- "Maintainer": "Charlotte Wickham ",
- "Description": "Provides easy access to, and manipulation of, the Munsell \n colours. Provides a mapping between Munsell's \n original notation (e.g. \"5R 5/10\") and hexadecimal strings suitable \n for use directly in R graphics. Also provides utilities \n to explore slices through the Munsell colour tree, to transform \n Munsell colours and display colour palettes.",
- "Suggests": "ggplot2, testthat",
- "Imports": "colorspace, methods",
- "License": "MIT + file LICENSE",
- "URL": "https://cran.r-project.org/package=munsell,\nhttps://github.com/cwickham/munsell/",
- "RoxygenNote": "6.0.1",
- "NeedsCompilation": "no",
- "Packaged": "2018-06-11 23:15:15 UTC; wickhamc",
- "Repository": "CRAN",
- "Date/Publication": "2018-06-12 04:29:06 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 22:27:02 UTC; unix"
- }
- },
- "nlme": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "nlme",
- "Version": "3.1-142",
- "Date": "2019-11-07",
- "Priority": "recommended",
- "Title": "Linear and Nonlinear Mixed Effects Models",
- "Authors@R": "c(person(\"José\", \"Pinheiro\", role = \"aut\", comment = \"S version\"),\n person(\"Douglas\", \"Bates\", role = \"aut\", comment = \"up to 2007\"),\n person(\"Saikat\", \"DebRoy\", role = \"ctb\", comment = \"up to 2002\"),\n person(\"Deepayan\", \"Sarkar\", role = \"ctb\", comment = \"up to 2005\"),\n person(\"EISPACK authors\", role = \"ctb\", comment = \"src/rs.f\"),\n\t person(\"Siem\", \"Heisterkamp\", role = \"ctb\", comment = \"Author fixed sigma\"),\n person(\"Bert\", \"Van Willigen\",role = \"ctb\", comment = \"Programmer fixed sigma\"),\n\t person(\"R-core\", email = \"R-core@R-project.org\",\n role = c(\"aut\", \"cre\")))",
- "Description": "Fit and compare Gaussian linear and nonlinear mixed-effects models.",
- "Depends": "R (>= 3.4.0)",
- "Imports": "graphics, stats, utils, lattice",
- "Suggests": "Hmisc, MASS",
- "LazyData": "yes",
- "ByteCompile": "yes",
- "Encoding": "UTF-8",
- "License": "GPL (>= 2) | file LICENCE",
- "BugReports": "https://bugs.r-project.org",
- "URL": "https://svn.r-project.org/R-packages/trunk/nlme",
- "NeedsCompilation": "yes",
- "Packaged": "2019-11-07 08:42:14 UTC; maechler",
- "Author": "José Pinheiro [aut] (S version),\n Douglas Bates [aut] (up to 2007),\n Saikat DebRoy [ctb] (up to 2002),\n Deepayan Sarkar [ctb] (up to 2005),\n EISPACK authors [ctb] (src/rs.f),\n Siem Heisterkamp [ctb] (Author fixed sigma),\n Bert Van Willigen [ctb] (Programmer fixed sigma),\n R-core [aut, cre]",
- "Maintainer": "R-core ",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-07 18:40:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-11-08 19:44:49 UTC; unix"
- }
- },
- "openssl": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "openssl",
- "Type": "Package",
- "Title": "Toolkit for Encryption, Signatures and Certificates Based on\nOpenSSL",
- "Version": "1.4.1",
- "Authors@R": "c(person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), email = \"jeroen@berkeley.edu\",\n comment = c(ORCID = \"0000-0002-4035-0289\")),\n person(\"Oliver\", \"Keyes\", role = \"ctb\"))",
- "Description": "Bindings to OpenSSL libssl and libcrypto, plus custom SSH key parsers.\n Supports RSA, DSA and EC curves P-256, P-384, P-521, and curve25519. Cryptographic\n signatures can either be created and verified manually or via x509 certificates. \n AES can be used in cbc, ctr or gcm mode for symmetric encryption; RSA for asymmetric\n (public key) encryption or EC for Diffie Hellman. High-level envelope functions \n combine RSA and AES for encrypting arbitrary sized data. Other utilities include key\n generators, hash functions (md5, sha1, sha256, etc), base64 encoder, a secure random\n number generator, and 'bignum' math methods for manually performing crypto \n calculations on large multibyte integers.",
- "License": "MIT + file LICENSE",
- "URL": "https://github.com/jeroen/openssl#readme",
- "BugReports": "https://github.com/jeroen/openssl/issues",
- "SystemRequirements": "OpenSSL >= 1.0.1",
- "VignetteBuilder": "knitr",
- "Imports": "askpass",
- "Suggests": "testthat, digest, knitr, rmarkdown, jsonlite, jose, sodium",
- "RoxygenNote": "6.1.1",
- "Encoding": "UTF-8",
- "NeedsCompilation": "yes",
- "Packaged": "2019-07-16 17:55:20 UTC; jeroen",
- "Author": "Jeroen Ooms [aut, cre] (),\n Oliver Keyes [ctb]",
- "Maintainer": "Jeroen Ooms ",
- "Repository": "CRAN",
- "Date/Publication": "2019-07-18 06:35:27 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-07-19 16:45:40 UTC; unix"
- }
- },
- "pillar": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "pillar",
- "Title": "Coloured Formatting for Columns",
- "Version": "1.4.2",
- "Authors@R": "c(\n person(\"Kirill\", \"Müller\", , \"krlmlr+r@mailbox.org\", role = c(\"aut\", \"cre\")),\n person(\"Hadley\", \"Wickham\", role = \"aut\"),\n person(\"RStudio\", role = \"cph\")\n )",
- "Description": "Provides 'pillar' and 'colonnade' generics designed for formatting columns\n of data using the full range of colours provided by modern terminals.",
- "License": "GPL-3",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "URL": "https://github.com/r-lib/pillar",
- "BugReports": "https://github.com/r-lib/pillar/issues",
- "Imports": "cli, crayon (>= 1.3.4), fansi, rlang (>= 0.3.0), utf8 (>=\n1.1.0), vctrs",
- "Suggests": "knitr, lubridate, testthat, withr",
- "RoxygenNote": "6.1.1",
- "Collate": "'capital.R' 'compat-lifecycle.R' 'compat-purrr.R' 'dim.R'\n'empty-data.R' 'extent.R' 'lengths.R' 'multi.R' 'ornament.R'\n'pillar-package.R' 'pillar.R' 'rowid-capital.R' 'rowid-data.R'\n'rowid-title.R' 'rowid-type.R' 'scientific.R' 'shaft.R'\n'shaft-simple.R' 'sigfig.R' 'spark-bar.R' 'spark-line.R'\n'strrep.R' 'styles.R' 'testthat.R' 'tick.R' 'title.R'\n'type-sum.R' 'type.R' 'utils.R' 'vctrs.R' 'width.R' 'zzz.R'",
- "NeedsCompilation": "no",
- "Packaged": "2019-06-29 16:08:04 UTC; kirill",
- "Author": "Kirill Müller [aut, cre],\n Hadley Wickham [aut],\n RStudio [cph]",
- "Maintainer": "Kirill Müller ",
- "Repository": "CRAN",
- "Date/Publication": "2019-06-29 16:40:03 UTC",
- "Built": "R 3.6.0; ; 2019-06-30 12:56:38 UTC; unix"
- }
- },
- "pkgconfig": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "pkgconfig",
- "Title": "Private Configuration for 'R' Packages",
- "Version": "2.0.3",
- "Author": "Gábor Csárdi",
- "Maintainer": "Gábor Csárdi ",
- "Description": "Set configuration options on a per-package basis.\n Options set by a given package only apply to that package,\n other packages are unaffected.",
- "License": "MIT + file LICENSE",
- "LazyData": "true",
- "Imports": "utils",
- "Suggests": "covr, testthat, disposables (>= 1.0.3)",
- "URL": "https://github.com/r-lib/pkgconfig#readme",
- "BugReports": "https://github.com/r-lib/pkgconfig/issues",
- "Encoding": "UTF-8",
- "NeedsCompilation": "no",
- "Packaged": "2019-09-22 08:42:40 UTC; gaborcsardi",
- "Repository": "CRAN",
- "Date/Publication": "2019-09-22 09:20:02 UTC",
- "Built": "R 3.6.0; ; 2019-09-23 16:47:11 UTC; unix"
- }
- },
- "plogr": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "plogr",
- "Title": "The 'plog' C++ Logging Library",
- "Version": "0.2.0",
- "Date": "2018-03-24",
- "Authors@R": "c(\n person(\"Kirill\", \"Müller\", role = c(\"aut\", \"cre\"), email = \"krlmlr+r@mailbox.org\"),\n person(\"Sergey\", \"Podobry\", role = \"cph\", comment = \"Author of the bundled plog library\"))",
- "Description": "\n A simple header-only logging library for C++.\n Add 'LinkingTo: plogr' to 'DESCRIPTION', and '#include ' in your C++ modules to use it.",
- "Suggests": "Rcpp",
- "License": "MIT + file LICENSE",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "URL": "https://github.com/krlmlr/plogr#readme",
- "BugReports": "https://github.com/krlmlr/plogr/issues",
- "RoxygenNote": "6.0.1.9000",
- "NeedsCompilation": "no",
- "Packaged": "2018-03-24 11:02:06 UTC; muelleki",
- "Author": "Kirill Müller [aut, cre],\n Sergey Podobry [cph] (Author of the bundled plog library)",
- "Maintainer": "Kirill Müller ",
- "Repository": "CRAN",
- "Date/Publication": "2018-03-25 15:25:27 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 19:51:26 UTC; unix"
- }
- },
- "plot3D": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "plot3D",
- "Version": "1.1.1",
- "Title": "Plotting Multi-Dimensional Data",
- "Author": "Karline Soetaert ",
- "Maintainer": "Karline Soetaert ",
- "Depends": "R (>= 2.15)",
- "Imports": "misc3d, stats, graphics, grDevices",
- "Description": "Functions for viewing 2-D and 3-D data, including perspective plots, slice plots, surface plots, scatter plots, etc. Includes data sets from oceanography.",
- "License": "GPL (>= 3.0)",
- "LazyData": "yes",
- "Repository": "CRAN",
- "Repository/R-Forge/Project": "plot3d",
- "Repository/R-Forge/Revision": "120",
- "Repository/R-Forge/DateTimeStamp": "2017-08-17 08:40:10",
- "Date/Publication": "2017-08-28 11:39:29 UTC",
- "NeedsCompilation": "no",
- "Packaged": "2017-08-17 08:45:32 UTC; rforge",
- "Built": "R 3.6.0; ; 2019-04-26 20:20:35 UTC; unix"
- }
- },
- "plotly": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "plotly",
- "Title": "Create Interactive Web Graphics via 'plotly.js'",
- "Version": "4.9.1",
- "Authors@R": "c(person(\"Carson\", \"Sievert\", role = c(\"aut\", \"cre\"),\n email = \"cpsievert1@gmail.com\", comment = c(ORCID = \"0000-0002-4958-2844\")),\n person(\"Chris\", \"Parmer\", role = \"aut\",\n email = \"chris@plot.ly\"),\n person(\"Toby\", \"Hocking\", role = \"aut\",\n email = \"tdhock5@gmail.com\"),\n person(\"Scott\", \"Chamberlain\", role = \"aut\",\n email = \"myrmecocystus@gmail.com\"),\n person(\"Karthik\", \"Ram\", role = \"aut\",\n email = \"karthik.ram@gmail.com\"),\n person(\"Marianne\", \"Corvellec\", role = \"aut\",\n email = \"marianne.corvellec@igdore.org\", comment = c(ORCID = \"0000-0002-1994-3581\")),\n person(\"Pedro\", \"Despouy\", role = \"aut\",\n email = \"pedro@plot.ly\"),\n person(\"Plotly Technologies Inc.\", role = \"cph\"))",
- "License": "MIT + file LICENSE",
- "Description": "Create interactive web graphics from 'ggplot2' graphs and/or a custom interface to the (MIT-licensed) JavaScript library 'plotly.js' inspired by the grammar of graphics.",
- "URL": "https://plotly-r.com, https://github.com/ropensci/plotly#readme,\nhttps://plot.ly/r",
- "BugReports": "https://github.com/ropensci/plotly/issues",
- "Depends": "R (>= 3.2.0), ggplot2 (>= 3.0.0)",
- "Imports": "tools, scales, httr, jsonlite (>= 1.6), magrittr, digest,\nviridisLite, base64enc, htmltools (>= 0.3.6), htmlwidgets (>=\n1.3), tidyr, hexbin, RColorBrewer, dplyr, tibble, lazyeval (>=\n0.2.0), rlang, crosstalk, purrr, data.table, promises",
- "Suggests": "MASS, maps, ggthemes, GGally, testthat, knitr, devtools,\nshiny (>= 1.1.0), shinytest (>= 1.3.0), curl, rmarkdown,\nvdiffr, Cairo, broom, webshot, listviewer, dendextend, sf,\nmaptools, rgeos, png, IRdisplay, processx, plotlyGeoAssets,\nforcats",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "Encoding": "UTF-8",
- "NeedsCompilation": "no",
- "Packaged": "2019-11-07 17:19:06 UTC; cpsievert",
- "Author": "Carson Sievert [aut, cre] (),\n Chris Parmer [aut],\n Toby Hocking [aut],\n Scott Chamberlain [aut],\n Karthik Ram [aut],\n Marianne Corvellec [aut] (),\n Pedro Despouy [aut],\n Plotly Technologies Inc. [cph]",
- "Maintainer": "Carson Sievert ",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-07 19:00:02 UTC",
- "Built": "R 3.6.0; ; 2019-11-08 19:36:06 UTC; unix"
- }
- },
- "plyr": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "plyr",
- "Version": "1.8.4",
- "Title": "Tools for Splitting, Applying and Combining Data",
- "Description": "A set of tools that solves a common set of problems: you\n need to break a big problem down into manageable pieces, operate on each\n piece and then put all the pieces back together. For example, you might\n want to fit a model to each spatial location or time point in your study,\n summarise data by panels or collapse high-dimensional arrays to simpler\n summary statistics. The development of 'plyr' has been generously supported\n by 'Becton Dickinson'.",
- "Authors@R": "person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", c(\"aut\", \"cre\"))",
- "URL": "http://had.co.nz/plyr, https://github.com/hadley/plyr",
- "BugReports": "https://github.com/hadley/plyr/issues",
- "Depends": "R (>= 3.1.0)",
- "Imports": "Rcpp (>= 0.11.0)",
- "LinkingTo": "Rcpp",
- "Suggests": "abind, testthat, tcltk, foreach, doParallel, itertools,\niterators, covr",
- "License": "MIT + file LICENSE",
- "LazyData": "true",
- "RoxygenNote": "5.0.1",
- "NeedsCompilation": "yes",
- "Packaged": "2016-06-07 19:58:36 UTC; hadley",
- "Author": "Hadley Wickham [aut, cre]",
- "Maintainer": "Hadley Wickham ",
- "Repository": "CRAN",
- "Date/Publication": "2016-06-08 10:40:15",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 22:26:44 UTC; unix"
- }
- },
- "png": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "png",
- "Version": "0.1-7",
- "Title": "Read and write PNG images",
- "Author": "Simon Urbanek ",
- "Maintainer": "Simon Urbanek ",
- "Depends": "R (>= 2.9.0)",
- "Description": "This package provides an easy and simple way to read, write and display bitmap images stored in the PNG format. It can read and write both files and in-memory raw vectors.",
- "License": "GPL-2 | GPL-3",
- "SystemRequirements": "libpng",
- "URL": "http://www.rforge.net/png/",
- "Packaged": "2013-12-03 20:09:14 UTC; svnuser",
- "NeedsCompilation": "yes",
- "Repository": "CRAN",
- "Date/Publication": "2013-12-03 22:25:05",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:51:32 UTC; unix"
- }
- },
- "promises": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "promises",
- "Type": "Package",
- "Title": "Abstractions for Promise-Based Asynchronous Programming",
- "Version": "1.1.0",
- "Authors@R": "c(\n person(\"Joe\", \"Cheng\", email = \"joe@rstudio.com\", role = c(\"aut\", \"cre\")),\n person(\"RStudio\", role = c(\"cph\", \"fnd\"))\n )",
- "Description": "Provides fundamental abstractions for doing asynchronous programming\n in R using promises. Asynchronous programming is useful for allowing a single\n R process to orchestrate multiple tasks in the background while also attending\n to something else. Semantics are similar to 'JavaScript' promises, but with a\n syntax that is idiomatic R.",
- "License": "MIT + file LICENSE",
- "Imports": "R6, Rcpp, later, rlang, stats, magrittr",
- "Suggests": "testthat, future, knitr, rmarkdown",
- "LinkingTo": "later, Rcpp",
- "RoxygenNote": "6.1.1",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "VignetteBuilder": "knitr",
- "URL": "https://rstudio.github.io/promises,\nhttps://github.com/rstudio/promises",
- "BugReports": "https://github.com/rstudio/promises/issues",
- "NeedsCompilation": "yes",
- "Packaged": "2019-10-04 16:59:31 UTC; jcheng",
- "Author": "Joe Cheng [aut, cre],\n RStudio [cph, fnd]",
- "Maintainer": "Joe Cheng ",
- "Repository": "CRAN",
- "Date/Publication": "2019-10-04 23:00:05 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-10-05 14:55:24 UTC; unix"
- }
- },
- "purrr": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "purrr",
- "Title": "Functional Programming Tools",
- "Version": "0.3.3",
- "Authors@R": "c(\n person(\"Lionel\", \"Henry\", , \"lionel@rstudio.com\", c(\"aut\", \"cre\")),\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", \"aut\"),\n person(\"RStudio\", role = c(\"cph\", \"fnd\"))\n )",
- "Description": "A complete and consistent functional programming toolkit for R.",
- "License": "GPL-3 | file LICENSE",
- "URL": "http://purrr.tidyverse.org, https://github.com/tidyverse/purrr",
- "BugReports": "https://github.com/tidyverse/purrr/issues",
- "Depends": "R (>= 3.2)",
- "Imports": "magrittr (>= 1.5), rlang (>= 0.3.1)",
- "Suggests": "covr, crayon, dplyr (>= 0.7.8), knitr, rmarkdown, testthat,\ntibble, tidyselect",
- "VignetteBuilder": "knitr",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "yes",
- "Packaged": "2019-10-17 08:02:23 UTC; lionel",
- "Author": "Lionel Henry [aut, cre],\n Hadley Wickham [aut],\n RStudio [cph, fnd]",
- "Maintainer": "Lionel Henry ",
- "Repository": "CRAN",
- "Date/Publication": "2019-10-18 12:40:05 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-10-19 12:22:04 UTC; unix"
- }
- },
- "rappdirs": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "rappdirs",
- "Type": "Package",
- "Title": "Application Directories: Determine Where to Save Data, Caches,\nand Logs",
- "Version": "0.3.1",
- "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", email = \"hadley@rstudio.com\",\n role = c(\"trl\", \"cre\", \"cph\")),\n person(\"RStudio\", role = \"cph\"),\n person(\"Sridhar\", \"Ratnakumar\", role = \"aut\"),\n person(\"Trent\", \"Mick\", role = \"aut\"),\n person(\"ActiveState\", role = \"cph\", comment =\n \"R/appdir.r, R/cache.r, R/data.r, R/log.r translated from appdirs\"),\n person(\"Eddy\", \"Petrisor\", role = \"ctb\"),\n person(\"Trevor\", \"Davis\", role = c(\"trl\", \"aut\")),\n person(\"Gabor\", \"Csardi\", role = \"ctb\"),\n person(\"Gregory\", \"Jefferis\", role = \"ctb\")\n )",
- "Depends": "R (>= 2.14), methods",
- "Suggests": "testthat, roxygen2",
- "Description": "An easy way to determine which directories on the users computer\n you should use to save data, caches and logs. A port of Python's 'Appdirs'\n (\\url{https://github.com/ActiveState/appdirs}) to R.",
- "BugReports": "https://github.com/hadley/rappdirs/issues",
- "URL": "https://github.com/hadley/rappdirs\nhttps://github.com/ActiveState/appdirs",
- "License": "MIT + file LICENSE",
- "Copyright": "Original python appdirs module copyright (c) 2010\nActiveState Software Inc. R port copyright Hadley Wickham,\nRStudio. See file LICENSE for details.",
- "RoxygenNote": "5.0.1",
- "NeedsCompilation": "yes",
- "Packaged": "2016-03-28 19:04:15 UTC; hadley",
- "Author": "Hadley Wickham [trl, cre, cph],\n RStudio [cph],\n Sridhar Ratnakumar [aut],\n Trent Mick [aut],\n ActiveState [cph] (R/appdir.r, R/cache.r, R/data.r, R/log.r translated\n from appdirs),\n Eddy Petrisor [ctb],\n Trevor Davis [trl, aut],\n Gabor Csardi [ctb],\n Gregory Jefferis [ctb]",
- "Maintainer": "Hadley Wickham ",
- "Repository": "CRAN",
- "Date/Publication": "2016-03-28 23:10:10",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:56:22 UTC; unix"
- }
- },
- "raster": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "raster",
- "Type": "Package",
- "Title": "Geographic Data Analysis and Modeling",
- "Version": "3.0-7",
- "Date": "2019-09-22",
- "Depends": "sp (>= 1.2-0), R (>= 3.0.0)",
- "Suggests": "rgdal (>= 0.9-1), rgeos (>= 0.3-8), ncdf4, igraph, tcltk,\nparallel, rasterVis, MASS, sf, testthat",
- "LinkingTo": "Rcpp",
- "Imports": "Rcpp, methods",
- "SystemRequirements": "C++11",
- "Description": "Reading, writing, manipulating, analyzing and modeling of gridded spatial data. The package implements basic and high-level functions. Processing of very large files is supported. There is a also support for vector data operations such as intersections. See the manual and tutorials on to get started.",
- "License": "GPL (>= 3)",
- "URL": "https://CRAN.R-project.org/package=raster",
- "BugReports": "https://github.com/rspatial/raster/issues/",
- "Authors@R": "c(\n\tperson(\"Robert J.\", \"Hijmans\", role = c(\"cre\", \"aut\"), \n\t\t\temail = \"r.hijmans@gmail.com\", \n\t\t\tcomment = c(ORCID = \"0000-0001-5872-2872\")),\n\tperson(\"Jacob\", \"van Etten\", role = \"ctb\"),\n\tperson(\"Michael\", \"Sumner\", role = \"ctb\"),\n\tperson(\"Joe\", \"Cheng\", role = \"ctb\"),\n\tperson(\"Andrew\", \"Bevan\", role = \"ctb\"),\n\tperson(\"Roger\", \"Bivand\", role = \"ctb\"),\n\tperson(\"Lorenzo\", \"Busetto\", role = \"ctb\"),\n\tperson(\"Mort\", \"Canty\", role = \"ctb\"),\n\tperson(\"David\", \"Forrest\", role = \"ctb\"),\n\tperson(\"Aniruddha\", \"Ghosh\", role = \"ctb\"),\n\tperson(\"Duncan\", \"Golicher\", role = \"ctb\"),\n\tperson(\"Josh\", \"Gray\", role = \"ctb\"),\n\tperson(\"Jonathan A.\", \"Greenberg\", role = \"ctb\"),\n\tperson(\"Paul\", \"Hiemstra\", role = \"ctb\"),\n\tperson(\"Institute for Mathematics Applied Geosciences\", role=\"cph\"),\n\tperson(\"Charles\", \"Karney\", role = \"ctb\"),\n\tperson(\"Matteo\", \"Mattiuzzi\", role = \"ctb\"),\n\tperson(\"Steven\", \"Mosher\", role = \"ctb\"),\n\tperson(\"Jakub\", \"Nowosad\", role = \"ctb\"),\n\tperson(\"Edzer\", \"Pebesma\", role = \"ctb\"),\n\tperson(\"Oscar\", \"Perpinan Lamigueiro\", role = \"ctb\"),\n\tperson(\"Etienne B.\", \"Racine\", role = \"ctb\"),\n\tperson(\"Barry\", \"Rowlingson\", role = \"ctb\"),\n\tperson(\"Ashton\", \"Shortridge\", role = \"ctb\"),\n\tperson(\"Bill\", \"Venables\", role = \"ctb\"),\n\tperson(\"Rafael\", \"Wueest\", role = \"ctb\")\n\t)",
- "NeedsCompilation": "yes",
- "Packaged": "2019-09-22 16:57:11 UTC; rhijm",
- "Author": "Robert J. Hijmans [cre, aut] (),\n Jacob van Etten [ctb],\n Michael Sumner [ctb],\n Joe Cheng [ctb],\n Andrew Bevan [ctb],\n Roger Bivand [ctb],\n Lorenzo Busetto [ctb],\n Mort Canty [ctb],\n David Forrest [ctb],\n Aniruddha Ghosh [ctb],\n Duncan Golicher [ctb],\n Josh Gray [ctb],\n Jonathan A. Greenberg [ctb],\n Paul Hiemstra [ctb],\n Institute for Mathematics Applied Geosciences [cph],\n Charles Karney [ctb],\n Matteo Mattiuzzi [ctb],\n Steven Mosher [ctb],\n Jakub Nowosad [ctb],\n Edzer Pebesma [ctb],\n Oscar Perpinan Lamigueiro [ctb],\n Etienne B. Racine [ctb],\n Barry Rowlingson [ctb],\n Ashton Shortridge [ctb],\n Bill Venables [ctb],\n Rafael Wueest [ctb]",
- "Maintainer": "Robert J. Hijmans ",
- "Repository": "CRAN",
- "Date/Publication": "2019-09-24 15:40:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-09-26 13:30:46 UTC; unix"
- }
- },
- "readr": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "readr",
- "Version": "1.3.1",
- "Title": "Read Rectangular Text Data",
- "Description": "The goal of 'readr' is to provide a fast and friendly way to read\n rectangular data (like 'csv', 'tsv', and 'fwf'). It is designed to flexibly\n parse many types of data found in the wild, while still cleanly failing when\n data unexpectedly changes.",
- "Authors@R": "c(\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", \"aut\"),\n person(\"Jim\", \"Hester\", , \"james.hester@rstudio.com\", c(\"aut\", \"cre\")),\n person(\"Romain\", \"Francois\", role = \"aut\"),\n person(\"R Core Team\", role = \"ctb\", comment = \"Date time code adapted from R\"),\n person(\"RStudio\", role = c(\"cph\", \"fnd\")),\n person(\"Jukka\", \"Jylänki\", role = c(\"ctb\", \"cph\"), comment = \"grisu3 implementation\"),\n person(\"Mikkel\", \"Jørgensen\", role = c(\"ctb\", \"cph\"), comment = \"grisu3 implementation\"))",
- "Encoding": "UTF-8",
- "Depends": "R (>= 3.1)",
- "LinkingTo": "Rcpp, BH",
- "Imports": "Rcpp (>= 0.12.0.5), tibble, hms (>= 0.4.1), R6, clipr, crayon,\nmethods",
- "Suggests": "curl, testthat, knitr, rmarkdown, stringi, covr, spelling",
- "License": "GPL (>= 2) | file LICENSE",
- "BugReports": "https://github.com/tidyverse/readr/issues",
- "URL": "http://readr.tidyverse.org, https://github.com/tidyverse/readr",
- "VignetteBuilder": "knitr",
- "RoxygenNote": "6.1.1",
- "SystemRequirements": "GNU make",
- "Language": "en-US",
- "NeedsCompilation": "yes",
- "Packaged": "2018-12-20 16:06:40 UTC; jhester",
- "Author": "Hadley Wickham [aut],\n Jim Hester [aut, cre],\n Romain Francois [aut],\n R Core Team [ctb] (Date time code adapted from R),\n RStudio [cph, fnd],\n Jukka Jylänki [ctb, cph] (grisu3 implementation),\n Mikkel Jørgensen [ctb, cph] (grisu3 implementation)",
- "Maintainer": "Jim Hester ",
- "Repository": "CRAN",
- "Date/Publication": "2018-12-21 09:40:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-27 02:50:56 UTC; unix"
- }
- },
- "renv": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "renv",
- "Type": "Package",
- "Title": "Project Environments",
- "Version": "0.8.3",
- "Authors@R": "c(\n person(\"Kevin\", \"Ushey\", role = c(\"aut\", \"cre\"), email = \"kevin@rstudio.com\"),\n person(\"RStudio\", role = c(\"cph\"))\n )",
- "Description": "A dependency management toolkit for R. Using 'renv', you can create\n and manage project-local R libraries, save the state of these libraries to\n a 'lockfile', and later restore your library as required. Together, these\n tools can help make your projects more isolated, portable, and reproducible.",
- "License": "MIT + file LICENSE",
- "URL": "https://rstudio.github.io/renv",
- "BugReports": "https://github.com/rstudio/renv/issues",
- "Imports": "utils",
- "Suggests": "covr, knitr, packrat, remotes, reticulate, rmarkdown,\nrstudioapi, testthat",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "RoxygenNote": "6.1.99.9001",
- "VignetteBuilder": "knitr",
- "NeedsCompilation": "no",
- "Packaged": "2019-11-10 23:00:04 UTC; kevinushey",
- "Author": "Kevin Ushey [aut, cre],\n RStudio [cph]",
- "Maintainer": "Kevin Ushey ",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-11 06:20:03 UTC",
- "Built": "R 3.6.1; ; 2019-11-26 22:20:31 UTC; unix"
- }
- },
- "reshape2": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "reshape2",
- "Title": "Flexibly Reshape Data: A Reboot of the Reshape Package",
- "Version": "1.4.3",
- "Author": "Hadley Wickham ",
- "Maintainer": "Hadley Wickham ",
- "Description": "Flexibly restructure and aggregate data using just two\n functions: melt and 'dcast' (or 'acast').",
- "License": "MIT + file LICENSE",
- "URL": "https://github.com/hadley/reshape",
- "BugReports": "https://github.com/hadley/reshape/issues",
- "Depends": "R (>= 3.1)",
- "Imports": "plyr (>= 1.8.1), Rcpp, stringr",
- "Suggests": "covr, lattice, testthat (>= 0.8.0)",
- "LinkingTo": "Rcpp",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "RoxygenNote": "6.0.1.9000",
- "NeedsCompilation": "yes",
- "Packaged": "2017-12-10 22:04:42 UTC; hadley",
- "Repository": "CRAN",
- "Date/Publication": "2017-12-11 16:47:57 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-27 00:13:50 UTC; unix"
- }
- },
- "rjson": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "rjson",
- "Version": "0.2.20",
- "Date": "2018-05-18",
- "Title": "JSON for R",
- "Author": "Alex Couture-Beil ",
- "Maintainer": "Alex Couture-Beil ",
- "Depends": "R (>= 3.1.0)",
- "Description": "Converts R object into JSON objects and vice-versa.",
- "License": "GPL-2",
- "Repository": "CRAN",
- "Date/Publication": "2018-06-08 17:23:00 UTC",
- "Packaged": "2018-06-07 22:29:50 UTC; root",
- "NeedsCompilation": "yes",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:58:33 UTC; unix"
- }
- },
- "rlang": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "rlang",
- "Version": "0.4.2",
- "Title": "Functions for Base Types and Core R and 'Tidyverse' Features",
- "Description": "A toolbox for working with base types, core R features\n like the condition system, and core 'Tidyverse' features like tidy\n evaluation.",
- "Authors@R": "c(\n person(\"Lionel\", \"Henry\", ,\"lionel@rstudio.com\", c(\"aut\", \"cre\")),\n person(\"Hadley\", \"Wickham\", ,\"hadley@rstudio.com\", \"aut\"),\n person(\"RStudio\", role = \"cph\")\n )",
- "License": "GPL-3",
- "LazyData": "true",
- "ByteCompile": "true",
- "Biarch": "true",
- "Depends": "R (>= 3.2.0)",
- "Suggests": "cli, covr, crayon, magrittr, methods, pillar, rmarkdown,\ntestthat (>= 2.3.0)",
- "Encoding": "UTF-8",
- "RoxygenNote": "6.1.1",
- "URL": "http://rlang.r-lib.org, https://github.com/r-lib/rlang",
- "BugReports": "https://github.com/r-lib/rlang/issues",
- "NeedsCompilation": "yes",
- "Packaged": "2019-11-22 16:01:18 UTC; lionel",
- "Author": "Lionel Henry [aut, cre],\n Hadley Wickham [aut],\n RStudio [cph]",
- "Maintainer": "Lionel Henry ",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-23 11:20:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-11-24 14:41:12 UTC; unix"
- }
- },
- "rlocker": {
- "Source": "github",
- "Repository": null,
- "GithubRepo": "rlocker",
- "GithubUsername": "rpc5102",
- "GithubRef": "master",
- "GithubSha1": "39ff3349654280ac10a4e3bdd967d44c8277c442",
- "description": {
- "Package": "rlocker",
- "Type": "Package",
- "Title": "Learning Locker for Shiny",
- "Version": "0.1.5",
- "Date": "2019-10-14",
- "Authors@R": "c(person(\"Robert\", \"Carey\", email = \"rpc5102@psu.edu\",\n role = c(\"aut\", \"cre\")))",
- "Maintainer": "Robert Carey ",
- "Description": "Adds Learning Locker xAPI support to Shiny Applications.",
- "Imports": "shiny (>= 0.11), htmltools, uuid, jsonlite",
- "URL": "https://github.com/rpc5102/rlocker",
- "BugReports": "https://github.com/rpc5102/rlocker/issues",
- "License": "GPL-3.0+",
- "Encoding": "UTF-8",
- "NeedsCompilation": "no",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "Depends": "httr",
- "RemoteType": "github",
- "RemoteHost": "api.github.com",
- "RemoteRepo": "rlocker",
- "RemoteUsername": "rpc5102",
- "RemoteRef": "master",
- "RemoteSha": "39ff3349654280ac10a4e3bdd967d44c8277c442",
- "GithubRepo": "rlocker",
- "GithubUsername": "rpc5102",
- "GithubRef": "master",
- "GithubSHA1": "39ff3349654280ac10a4e3bdd967d44c8277c442",
- "Packaged": "2019-11-22 18:59:29 UTC; neilhatfield",
- "Author": "Robert Carey [aut, cre]",
- "Built": "R 3.6.1; ; 2019-11-22 18:59:30 UTC; unix"
- }
- },
- "rmarkdown": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "rmarkdown",
- "Type": "Package",
- "Title": "Dynamic Documents for R",
- "Version": "1.18",
- "Authors@R": "c(\n person(\"JJ\", \"Allaire\", role = \"aut\", email = \"jj@rstudio.com\"),\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Jonathan\", \"McPherson\", role = \"aut\", email = \"jonathan@rstudio.com\"),\n person(\"Javier\", \"Luraschi\", role = \"aut\", email = \"javier@rstudio.com\"),\n person(\"Kevin\", \"Ushey\", role = \"aut\", email = \"kevin@rstudio.com\"),\n person(\"Aron\", \"Atkins\", role = \"aut\", email = \"aron@rstudio.com\"),\n person(\"Hadley\", \"Wickham\", role = \"aut\", email = \"hadley@rstudio.com\"),\n person(\"Joe\", \"Cheng\", role = \"aut\", email = \"joe@rstudio.com\"),\n person(\"Winston\", \"Chang\", role = \"aut\", email = \"winston@rstudio.com\"),\n person(\"Richard\", \"Iannone\", role = \"aut\", email = \"rich@rstudio.com\", comment = c(ORCID = \"0000-0003-3925-190X\")),\n #\n # Contributors, ordered alphabetically by first name\n person(\"Andrew\", \"Dunning\", role = \"ctb\"),\n person(\"Atsushi\", \"Yasumoto\", role = \"ctb\", comment = c(ORCID = \"0000-0002-8335-495X\")),\n person(\"Barret\", \"Schloerke\", role = \"ctb\"),\n person(\"Christophe\", \"Dervieux\", role = \"ctb\"),\n person(\"Frederik\", \"Aust\", role = \"ctb\", email = \"frederik.aust@uni-koeln.de\", comment = c(ORCID = \"0000-0003-4900-788X\")),\n person(\"Jeff\", \"Allen\", role = \"ctb\", email = \"jeff@rstudio.com\"),\n person(\"Malcolm\", \"Barrett\", role = \"ctb\"),\n person(\"Rob\", \"Hyndman\", role = \"ctb\", email = \"Rob.Hyndman@monash.edu\"),\n person(\"Romain\", \"Lesur\", role = \"ctb\"),\n person(\"Roy\", \"Storey\", role = \"ctb\"),\n person(\"Ruben\", \"Arslan\", role = \"ctb\", email = \"ruben.arslan@uni-goettingen.de\"),\n #\n # Copyright holders\n person(family = \"RStudio, Inc.\", role = \"cph\"),\n person(family = \"jQuery Foundation\", role = \"cph\",\n comment = \"jQuery library\"),\n person(family = \"jQuery contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"jQuery library; authors listed in inst/rmd/h/jquery-AUTHORS.txt\"),\n person(family = \"jQuery UI contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"jQuery UI library; authors listed in inst/rmd/h/jqueryui-AUTHORS.txt\"),\n person(\"Mark\", \"Otto\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(\"Jacob\", \"Thornton\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(family = \"Bootstrap contributors\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(family = \"Twitter, Inc\", role = \"cph\",\n comment = \"Bootstrap library\"),\n person(\"Alexander\", \"Farkas\", role = c(\"ctb\", \"cph\"),\n comment = \"html5shiv library\"),\n person(\"Scott\", \"Jehl\", role = c(\"ctb\", \"cph\"),\n comment = \"Respond.js library\"),\n person(\"Ivan\", \"Sagalaev\", role = c(\"ctb\", \"cph\"),\n comment = \"highlight.js library\"),\n person(\"Greg\", \"Franko\", role = c(\"ctb\", \"cph\"),\n comment = \"tocify library\"),\n person(\"John\", \"MacFarlane\", role = c(\"ctb\", \"cph\"),\n comment = \"Pandoc templates\"),\n person(family = \"Google, Inc.\", role = c(\"ctb\", \"cph\"),\n comment = \"ioslides library\"),\n person(\"Dave\", \"Raggett\", role = \"ctb\",\n comment = \"slidy library\"),\n person(family = \"W3C\", role = \"cph\",\n comment = \"slidy library\"),\n person(\"Dave\", \"Gandy\", role = c(\"ctb\", \"cph\"),\n comment = \"Font-Awesome\"),\n person(\"Ben\", \"Sperry\", role = \"ctb\",\n comment = \"Ionicons\"),\n person(family = \"Drifty\", role = \"cph\",\n comment = \"Ionicons\"),\n person(\"Aidan\", \"Lister\", role = c(\"ctb\", \"cph\"), \n comment = \"jQuery StickyTabs\"),\n person(\"Benct Philip\", \"Jonsson\", role = c(\"ctb\", \"cph\"), \n comment = \"pagebreak lua filter\"),\n person(\"Albert\", \"Krewinkel\", role = c(\"ctb\", \"cph\"), \n comment = \"pagebreak lua filter\")\n )",
- "Maintainer": "Yihui Xie ",
- "Description": "Convert R Markdown documents into a variety of formats.",
- "Depends": "R (>= 3.0)",
- "Imports": "tools, utils, knitr (>= 1.22), yaml (>= 2.1.19), htmltools (>=\n0.3.5), evaluate (>= 0.13), base64enc, jsonlite, mime, tinytex\n(>= 0.11), xfun, methods, stringr (>= 1.2.0)",
- "Suggests": "shiny (>= 0.11), tufte, testthat, digest, dygraphs, tibble,\nfs, pkgdown, callr (>= 2.0.0)",
- "SystemRequirements": "pandoc (>= 1.12.3) - http://pandoc.org",
- "URL": "https://github.com/rstudio/rmarkdown",
- "BugReports": "https://github.com/rstudio/rmarkdown/issues",
- "License": "GPL-3",
- "RoxygenNote": "7.0.1",
- "Encoding": "UTF-8",
- "VignetteBuilder": "knitr",
- "NeedsCompilation": "no",
- "Packaged": "2019-11-27 00:04:07 UTC; yihui",
- "Author": "JJ Allaire [aut],\n Yihui Xie [aut, cre] (),\n Jonathan McPherson [aut],\n Javier Luraschi [aut],\n Kevin Ushey [aut],\n Aron Atkins [aut],\n Hadley Wickham [aut],\n Joe Cheng [aut],\n Winston Chang [aut],\n Richard Iannone [aut] (),\n Andrew Dunning [ctb],\n Atsushi Yasumoto [ctb] (),\n Barret Schloerke [ctb],\n Christophe Dervieux [ctb],\n Frederik Aust [ctb] (),\n Jeff Allen [ctb],\n Malcolm Barrett [ctb],\n Rob Hyndman [ctb],\n Romain Lesur [ctb],\n Roy Storey [ctb],\n Ruben Arslan [ctb],\n RStudio, Inc. [cph],\n jQuery Foundation [cph] (jQuery library),\n jQuery contributors [ctb, cph] (jQuery library; authors listed in\n inst/rmd/h/jquery-AUTHORS.txt),\n jQuery UI contributors [ctb, cph] (jQuery UI library; authors listed in\n inst/rmd/h/jqueryui-AUTHORS.txt),\n Mark Otto [ctb] (Bootstrap library),\n Jacob Thornton [ctb] (Bootstrap library),\n Bootstrap contributors [ctb] (Bootstrap library),\n Twitter, Inc [cph] (Bootstrap library),\n Alexander Farkas [ctb, cph] (html5shiv library),\n Scott Jehl [ctb, cph] (Respond.js library),\n Ivan Sagalaev [ctb, cph] (highlight.js library),\n Greg Franko [ctb, cph] (tocify library),\n John MacFarlane [ctb, cph] (Pandoc templates),\n Google, Inc. [ctb, cph] (ioslides library),\n Dave Raggett [ctb] (slidy library),\n W3C [cph] (slidy library),\n Dave Gandy [ctb, cph] (Font-Awesome),\n Ben Sperry [ctb] (Ionicons),\n Drifty [cph] (Ionicons),\n Aidan Lister [ctb, cph] (jQuery StickyTabs),\n Benct Philip Jonsson [ctb, cph] (pagebreak lua filter),\n Albert Krewinkel [ctb, cph] (pagebreak lua filter)",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-27 07:40:03 UTC",
- "Built": "R 3.6.0; ; 2019-11-28 14:39:52 UTC; unix"
- }
- },
- "rprojroot": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "rprojroot",
- "Title": "Finding Files in Project Subdirectories",
- "Version": "1.3-2",
- "Authors@R": "person(given = \"Kirill\", family = \"Müller\", role = c(\"aut\",\n \"cre\"), email = \"krlmlr+r@mailbox.org\")",
- "Description": "Robust, reliable and flexible paths to files below a\n project root. The 'root' of a project is defined as a directory\n that matches a certain criterion, e.g., it contains a certain\n regular file.",
- "Depends": "R (>= 3.0.0)",
- "Imports": "backports",
- "Suggests": "testthat, mockr, knitr, withr, rmarkdown",
- "VignetteBuilder": "knitr",
- "License": "GPL-3",
- "LazyData": "true",
- "Encoding": "UTF-8",
- "URL": "https://github.com/krlmlr/rprojroot,\nhttps://krlmlr.github.io/rprojroot",
- "BugReports": "https://github.com/krlmlr/rprojroot/issues",
- "RoxygenNote": "6.0.1",
- "Collate": "'rrmake.R' 'criterion.R' 'file.R' 'has-file.R' 'root.R'\n'rprojroot-package.R' 'shortcut.R' 'thisfile.R'",
- "NeedsCompilation": "no",
- "Packaged": "2018-01-03 13:27:15 UTC; muelleki",
- "Author": "Kirill Müller [aut, cre]",
- "Maintainer": "Kirill Müller ",
- "Repository": "CRAN",
- "Date/Publication": "2018-01-03 15:36:24 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 19:51:42 UTC; unix"
- }
- },
- "scales": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "scales",
- "Title": "Scale Functions for Visualization",
- "Version": "1.1.0",
- "Authors@R": "\n c(person(given = \"Hadley\",\n family = \"Wickham\",\n role = c(\"aut\", \"cre\"),\n email = \"hadley@rstudio.com\"),\n person(given = \"Dana\",\n family = \"Seidel\",\n role = \"aut\"),\n person(given = \"RStudio\",\n role = \"cph\"))",
- "Description": "Graphical scales map data to aesthetics, and\n provide methods for automatically determining breaks and labels for\n axes and legends.",
- "License": "MIT + file LICENSE",
- "URL": "https://scales.r-lib.org, https://github.com/r-lib/scales",
- "BugReports": "https://github.com/r-lib/scales/issues",
- "Depends": "R (>= 3.2)",
- "Imports": "farver (>= 2.0.0), labeling, munsell (>= 0.5), R6,\nRColorBrewer, viridisLite, lifecycle",
- "Suggests": "bit64, covr, dichromat, hms, testthat (>= 2.1.0), ggplot2",
- "Encoding": "UTF-8",
- "LazyLoad": "yes",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "no",
- "Packaged": "2019-11-18 14:21:37 UTC; hadley",
- "Author": "Hadley Wickham [aut, cre],\n Dana Seidel [aut],\n RStudio [cph]",
- "Maintainer": "Hadley Wickham ",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-18 16:10:05 UTC",
- "Built": "R 3.6.0; ; 2019-11-19 15:12:57 UTC; unix"
- }
- },
- "shiny": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "shiny",
- "Type": "Package",
- "Title": "Web Application Framework for R",
- "Version": "1.4.0",
- "Authors@R": "c(\n person(\"Winston\", \"Chang\", role = c(\"aut\", \"cre\"), email = \"winston@rstudio.com\"),\n person(\"Joe\", \"Cheng\", role = \"aut\", email = \"joe@rstudio.com\"),\n person(\"JJ\", \"Allaire\", role = \"aut\", email = \"jj@rstudio.com\"),\n person(\"Yihui\", \"Xie\", role = \"aut\", email = \"yihui@rstudio.com\"),\n person(\"Jonathan\", \"McPherson\", role = \"aut\", email = \"jonathan@rstudio.com\"),\n person(family = \"RStudio\", role = \"cph\"),\n person(family = \"jQuery Foundation\", role = \"cph\",\n comment = \"jQuery library and jQuery UI library\"),\n person(family = \"jQuery contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"jQuery library; authors listed in inst/www/shared/jquery-AUTHORS.txt\"),\n person(family = \"jQuery UI contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"jQuery UI library; authors listed in inst/www/shared/jqueryui/AUTHORS.txt\"),\n person(\"Mark\", \"Otto\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(\"Jacob\", \"Thornton\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(family = \"Bootstrap contributors\", role = \"ctb\",\n comment = \"Bootstrap library\"),\n person(family = \"Twitter, Inc\", role = \"cph\",\n comment = \"Bootstrap library\"),\n person(\"Alexander\", \"Farkas\", role = c(\"ctb\", \"cph\"),\n comment = \"html5shiv library\"),\n person(\"Scott\", \"Jehl\", role = c(\"ctb\", \"cph\"),\n comment = \"Respond.js library\"),\n person(\"Stefan\", \"Petre\", role = c(\"ctb\", \"cph\"),\n comment = \"Bootstrap-datepicker library\"),\n person(\"Andrew\", \"Rowls\", role = c(\"ctb\", \"cph\"),\n comment = \"Bootstrap-datepicker library\"),\n person(\"Dave\", \"Gandy\", role = c(\"ctb\", \"cph\"),\n comment = \"Font-Awesome font\"),\n person(\"Brian\", \"Reavis\", role = c(\"ctb\", \"cph\"),\n comment = \"selectize.js library\"),\n person(\"Kristopher Michael\", \"Kowal\", role = c(\"ctb\", \"cph\"),\n comment = \"es5-shim library\"),\n person(family = \"es5-shim contributors\", role = c(\"ctb\", \"cph\"),\n comment = \"es5-shim library\"),\n person(\"Denis\", \"Ineshin\", role = c(\"ctb\", \"cph\"),\n comment = \"ion.rangeSlider library\"),\n person(\"Sami\", \"Samhuri\", role = c(\"ctb\", \"cph\"),\n comment = \"Javascript strftime library\"),\n person(family = \"SpryMedia Limited\", role = c(\"ctb\", \"cph\"),\n comment = \"DataTables library\"),\n person(\"John\", \"Fraser\", role = c(\"ctb\", \"cph\"),\n comment = \"showdown.js library\"),\n person(\"John\", \"Gruber\", role = c(\"ctb\", \"cph\"),\n comment = \"showdown.js library\"),\n person(\"Ivan\", \"Sagalaev\", role = c(\"ctb\", \"cph\"),\n comment = \"highlight.js library\"),\n person(family = \"R Core Team\", role = c(\"ctb\", \"cph\"),\n comment = \"tar implementation from R\")\n )",
- "Description": "Makes it incredibly easy to build interactive web\n applications with R. Automatic \"reactive\" binding between inputs and\n outputs and extensive prebuilt widgets make it possible to build\n beautiful, responsive, and powerful applications with minimal effort.",
- "License": "GPL-3 | file LICENSE",
- "Depends": "R (>= 3.0.2), methods",
- "Imports": "utils, grDevices, httpuv (>= 1.5.2), mime (>= 0.3), jsonlite\n(>= 0.9.16), xtable, digest, htmltools (>= 0.4.0), R6 (>= 2.0),\nsourcetools, later (>= 1.0.0), promises (>= 1.1.0), tools,\ncrayon, rlang (>= 0.4.0), fastmap (>= 1.0.0)",
- "Suggests": "datasets, Cairo (>= 1.5-5), testthat (>= 2.1.1), knitr (>=\n1.6), markdown, rmarkdown, ggplot2, reactlog (>= 1.0.0),\nmagrittr, yaml",
- "URL": "http://shiny.rstudio.com",
- "BugReports": "https://github.com/rstudio/shiny/issues",
- "Collate": "'app.R' 'bookmark-state-local.R' 'stack.R' 'bookmark-state.R'\n'bootstrap-deprecated.R' 'bootstrap-layout.R' 'globals.R'\n'conditions.R' 'map.R' 'utils.R' 'bootstrap.R'\n'cache-context.R' 'cache-disk.R' 'cache-memory.R'\n'cache-utils.R' 'diagnose.R' 'fileupload.R' 'font-awesome.R'\n'graph.R' 'reactives.R' 'reactive-domains.R' 'history.R'\n'hooks.R' 'html-deps.R' 'htmltools.R' 'image-interact-opts.R'\n'image-interact.R' 'imageutils.R' 'input-action.R'\n'input-checkbox.R' 'input-checkboxgroup.R' 'input-date.R'\n'input-daterange.R' 'input-file.R' 'input-numeric.R'\n'input-password.R' 'input-radiobuttons.R' 'input-select.R'\n'input-slider.R' 'input-submit.R' 'input-text.R'\n'input-textarea.R' 'input-utils.R' 'insert-tab.R' 'insert-ui.R'\n'jqueryui.R' 'middleware-shiny.R' 'middleware.R' 'modal.R'\n'modules.R' 'notifications.R' 'priorityqueue.R' 'progress.R'\n'react.R' 'render-cached-plot.R' 'render-plot.R'\n'render-table.R' 'run-url.R' 'serializers.R'\n'server-input-handlers.R' 'server.R' 'shiny-options.R'\n'shiny.R' 'shinyui.R' 'shinywrappers.R' 'showcase.R'\n'snapshot.R' 'tar.R' 'test-export.R' 'timer.R' 'update-input.R'",
- "RoxygenNote": "6.1.1",
- "Encoding": "UTF-8",
- "NeedsCompilation": "no",
- "Packaged": "2019-10-08 16:21:27 UTC; winston",
- "Author": "Winston Chang [aut, cre],\n Joe Cheng [aut],\n JJ Allaire [aut],\n Yihui Xie [aut],\n Jonathan McPherson [aut],\n RStudio [cph],\n jQuery Foundation [cph] (jQuery library and jQuery UI library),\n jQuery contributors [ctb, cph] (jQuery library; authors listed in\n inst/www/shared/jquery-AUTHORS.txt),\n jQuery UI contributors [ctb, cph] (jQuery UI library; authors listed in\n inst/www/shared/jqueryui/AUTHORS.txt),\n Mark Otto [ctb] (Bootstrap library),\n Jacob Thornton [ctb] (Bootstrap library),\n Bootstrap contributors [ctb] (Bootstrap library),\n Twitter, Inc [cph] (Bootstrap library),\n Alexander Farkas [ctb, cph] (html5shiv library),\n Scott Jehl [ctb, cph] (Respond.js library),\n Stefan Petre [ctb, cph] (Bootstrap-datepicker library),\n Andrew Rowls [ctb, cph] (Bootstrap-datepicker library),\n Dave Gandy [ctb, cph] (Font-Awesome font),\n Brian Reavis [ctb, cph] (selectize.js library),\n Kristopher Michael Kowal [ctb, cph] (es5-shim library),\n es5-shim contributors [ctb, cph] (es5-shim library),\n Denis Ineshin [ctb, cph] (ion.rangeSlider library),\n Sami Samhuri [ctb, cph] (Javascript strftime library),\n SpryMedia Limited [ctb, cph] (DataTables library),\n John Fraser [ctb, cph] (showdown.js library),\n John Gruber [ctb, cph] (showdown.js library),\n Ivan Sagalaev [ctb, cph] (highlight.js library),\n R Core Team [ctb, cph] (tar implementation from R)",
- "Maintainer": "Winston Chang ",
- "Repository": "CRAN",
- "Date/Publication": "2019-10-10 12:50:02 UTC",
- "Built": "R 3.6.0; ; 2019-10-11 12:07:01 UTC; unix"
- }
- },
- "shinyAce": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "shinyAce",
- "Type": "Package",
- "Title": "Ace Editor Bindings for Shiny",
- "Version": "0.4.1",
- "Date": "2019-9-23",
- "Authors@R": "c(\n person(\"Vincent\", \"Nijs\", role = c(\"aut\", \"cre\"), email = \"radiant@rady.ucsd.edu\"),\n person(\"Forest\", \"Fang\", role = \"aut\", email = \"forest.fang@outlook.com\"),\n person(family = \"Trestle Technology, LLC\", role = \"aut\", email = \"cran@trestletechnology.net\"),\n person(\"Jeff\", \"Allen\", role = \"aut\", email = \"cran@trestletechnology.net\"),\n person(family = \"Institut de Radioprotection et de Surete Nucleaire\", role = c(\"cph\"), email = \"yann.richet@irsn.fr\"),\n person(family = \"Ajax.org B.V.\", role = c(\"ctb\", \"cph\"), comment = \"Ace\"))",
- "Description": "Ace editor bindings to enable a rich text editing environment\n within Shiny.",
- "License": "MIT + file LICENSE",
- "Depends": "R (>= 3.3.0)",
- "Imports": "shiny (>= 1.0.5), jsonlite, utils, tools",
- "Suggests": "testthat (>= 2.0.0), dplyr (>= 0.8.3)",
- "BugReports": "https://github.com/trestletech/shinyAce/issues",
- "Encoding": "UTF-8",
- "RoxygenNote": "6.1.1",
- "Language": "en-US",
- "NeedsCompilation": "no",
- "Packaged": "2019-09-24 03:57:52 UTC; vnijs",
- "Author": "Vincent Nijs [aut, cre],\n Forest Fang [aut],\n Trestle Technology, LLC [aut],\n Jeff Allen [aut],\n Institut de Radioprotection et de Surete Nucleaire [cph],\n Ajax.org B.V. [ctb, cph] (Ace)",
- "Maintainer": "Vincent Nijs ",
- "Repository": "CRAN",
- "Date/Publication": "2019-09-24 10:10:07 UTC",
- "Built": "R 3.6.0; ; 2019-09-26 13:21:04 UTC; unix"
- }
- },
- "shinyBS": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "shinyBS",
- "Type": "Package",
- "Title": "Twitter Bootstrap Components for Shiny",
- "Version": "0.61",
- "Date": "2015-03-30",
- "Author": "Eric Bailey",
- "Maintainer": "Eric Bailey ",
- "Description": "Adds additional Twitter Bootstrap components to Shiny. ",
- "Imports": "shiny (>= 0.11), htmltools",
- "URL": "https://ebailey78.github.io/shinyBS",
- "BugReports": "https://github.com/ebailey78/shinyBS/issues",
- "License": "GPL-3",
- "Packaged": "2015-03-30 12:16:24 UTC; ebailey",
- "NeedsCompilation": "no",
- "Repository": "CRAN",
- "Date/Publication": "2015-03-31 07:52:38",
- "Built": "R 3.6.0; ; 2019-04-27 02:52:12 UTC; unix"
- }
- },
- "shinyWidgets": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "shinyWidgets",
- "Title": "Custom Inputs Widgets for Shiny",
- "Version": "0.5.0",
- "Authors@R": "c(\n person(\"Victor\", \"Perrier\", email = \"victor.perrier@dreamrs.fr\", role = c(\"aut\", \"cre\")),\n person(\"Fanny\", \"Meyer\", email = \"fanny.meyer@dreamrs.fr\", role = \"aut\"),\n person(\"David\", \"Granjon\", email = \"david.granjon@uzh.ch\", role = \"aut\"),\n person(\"Ian\", \"Fellows\", role = \"ctb\", comment = \"Methods for mutating vertical tabs & updateMultiInput\"),\n person(\"Wil\", \"Davis\", role = \"ctb\", comment = \"numericRangeInput function\"),\n person(\"SnapAppointments\", \"\", role = \"cph\", comment = \"bootstrap-select\"),\n person(\"Mattia\", \"Larentis\", role = c(\"ctb\", \"cph\"), comment = \"Bootstrap Switch\"),\n person(\"Emanuele\", \"Marchi\", role = c(\"ctb\", \"cph\"), comment = \"Bootstrap Switch\"),\n person(\"Mark\", \"Otto\", role = \"ctb\", comment = \"Bootstrap library\"),\n person(\"Jacob\", \"Thornton\", role = \"ctb\", comment = \"Bootstrap library\"),\n person(family = \"Bootstrap contributors\", role = \"ctb\", comment = \"Bootstrap library\"),\n person(family = \"Twitter, Inc\", role = \"cph\", comment = \"Bootstrap library\"),\n person(family = \"Flatlogic\", role = \"cph\", comment = \"Awesome Bootstrap Checkbox\"),\n person(\"mouse0270\", role = c(\"ctb\", \"cph\"), comment = \"Material Design Switch\"),\n person(\"Tristan\", \"Edwards\", role = c(\"ctb\", \"cph\"), comment = \"SweetAlert\"),\n person(\"Fabian\", \"Lindfors\", role = c(\"ctb\", \"cph\"), comment = \"multi.js\"),\n person(\"Anthony\", \"Terrien\", role = c(\"ctb\", \"cph\"), comment = \"jQuery Knob\"),\n person(\"Daniel\", \"Eden\", role = c(\"ctb\", \"cph\"), comment = \"animate.css\"),\n person(\"Ganapati\", \"V S\", role = c(\"ctb\", \"cph\"), comment = \"bttn.css\"),\n person(\"Brian\", \"Grinstead\", role = c(\"ctb\", \"cph\"), comment = \"Spectrum\"),\n person(\"Lokesh\", \"Rajendran\", role = c(\"ctb\", \"cph\"), comment = \"pretty-checkbox\"),\n person(\"Leon\", \"Gersen\", role = c(\"ctb\", \"cph\"), comment = \"wnumb & noUiSlider\"),\n person(\"Timofey\", \"Marochkin\", role = c(\"ctb\", \"cph\"), comment = \"air-datepicker\"),\n person(\"Tobias\", \"Ahlin\", role = c(\"ctb\", \"cph\"), comment = \"CSS spin\")\n )",
- "Description": "Collection of custom input controls and user interface components for 'Shiny' applications. \n Give your applications a unique and colorful style !",
- "URL": "https://github.com/dreamRs/shinyWidgets",
- "BugReports": "https://github.com/dreamRs/shinyWidgets/issues",
- "Depends": "R (>= 3.1.0)",
- "Imports": "shiny (>= 0.14), htmltools, jsonlite, grDevices, scales",
- "License": "GPL-3 | file LICENSE",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "RoxygenNote": "7.0.0",
- "Suggests": "shinydashboard, testthat, covr, shinydashboardPlus, bs4Dash,\nargonR, argonDash, tablerDash, ggplot2, DT",
- "NeedsCompilation": "no",
- "Packaged": "2019-11-18 13:20:51 UTC; perri",
- "Author": "Victor Perrier [aut, cre],\n Fanny Meyer [aut],\n David Granjon [aut],\n Ian Fellows [ctb] (Methods for mutating vertical tabs &\n updateMultiInput),\n Wil Davis [ctb] (numericRangeInput function),\n SnapAppointments [cph] (bootstrap-select),\n Mattia Larentis [ctb, cph] (Bootstrap Switch),\n Emanuele Marchi [ctb, cph] (Bootstrap Switch),\n Mark Otto [ctb] (Bootstrap library),\n Jacob Thornton [ctb] (Bootstrap library),\n Bootstrap contributors [ctb] (Bootstrap library),\n Twitter, Inc [cph] (Bootstrap library),\n Flatlogic [cph] (Awesome Bootstrap Checkbox),\n mouse0270 [ctb, cph] (Material Design Switch),\n Tristan Edwards [ctb, cph] (SweetAlert),\n Fabian Lindfors [ctb, cph] (multi.js),\n Anthony Terrien [ctb, cph] (jQuery Knob),\n Daniel Eden [ctb, cph] (animate.css),\n Ganapati V S [ctb, cph] (bttn.css),\n Brian Grinstead [ctb, cph] (Spectrum),\n Lokesh Rajendran [ctb, cph] (pretty-checkbox),\n Leon Gersen [ctb, cph] (wnumb & noUiSlider),\n Timofey Marochkin [ctb, cph] (air-datepicker),\n Tobias Ahlin [ctb, cph] (CSS spin)",
- "Maintainer": "Victor Perrier ",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-18 13:50:03 UTC",
- "Built": "R 3.6.1; ; 2019-11-19 16:37:26 UTC; unix"
- }
- },
- "shinycssloaders": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "shinycssloaders",
- "Type": "Package",
- "Title": "Add CSS Loading Animations to 'shiny' Outputs",
- "Version": "0.2.0",
- "Date": "2017-05-03",
- "Authors@R": "c(person(\"Andras\",\"Sali\",email=\"andras.sali@alphacruncher.hu\",role=c(\"aut\",\"cre\"),comment=\"Creator of Shiny-wrapper code\"),person(\"Luke\",\"Hass\",role=c(\"ctb\",\"cph\"),comment=\"Author of included CSS loader code\"))",
- "Description": "Create a lightweight Shiny wrapper for the css-loaders created by Luke Hass . Wrapping a Shiny output will automatically show a loader when the output is (re)calculating.",
- "License": "GPL-3",
- "URL": "https://github.com/andrewsali/shinycssloaders",
- "Imports": "digest, glue, grDevices, shiny",
- "RoxygenNote": "5.0.1",
- "NeedsCompilation": "no",
- "Packaged": "2017-05-12 19:20:11 UTC; andras",
- "Author": "Andras Sali [aut, cre] (Creator of Shiny-wrapper code),\n Luke Hass [ctb, cph] (Author of included CSS loader code)",
- "Maintainer": "Andras Sali ",
- "Repository": "CRAN",
- "Date/Publication": "2017-05-12 22:46:15 UTC",
- "Built": "R 3.6.0; ; 2019-04-27 02:59:51 UTC; unix"
- }
- },
- "shinydashboard": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "shinydashboard",
- "Title": "Create Dashboards with 'Shiny'",
- "Version": "0.7.1",
- "Authors@R": "c(\n person(\"Winston\", \"Chang\", role = c(\"aut\", \"cre\"), email = \"winston@rstudio.com\"),\n person(\"Barbara\", \"Borges Ribeiro\", role = \"aut\", email = \"barbara@rstudio.com\"),\n person(family = \"RStudio\", role = \"cph\"),\n person(family = \"Almasaeed Studio\", role = c(\"ctb\", \"cph\"), comment = \"AdminLTE theme for Bootstrap\"),\n person(family = \"Adobe Systems Incorporated\", role = c(\"ctb\", \"cph\"), comment = \"Source Sans Pro font\")\n )",
- "Description": "Create dashboards with 'Shiny'. This package provides\n a theme on top of 'Shiny', making it easy to create attractive dashboards.",
- "URL": "http://rstudio.github.io/shinydashboard/",
- "Depends": "R (>= 3.0)",
- "License": "GPL (>= 2) | file LICENSE",
- "Imports": "utils, shiny (>= 1.0.0), htmltools (>= 0.2.6), promises",
- "BugReports": "https://github.com/rstudio/shinydashboard",
- "RoxygenNote": "6.0.1.9000",
- "NeedsCompilation": "no",
- "Packaged": "2018-10-17 16:36:04 UTC; winston",
- "Author": "Winston Chang [aut, cre],\n Barbara Borges Ribeiro [aut],\n RStudio [cph],\n Almasaeed Studio [ctb, cph] (AdminLTE theme for Bootstrap),\n Adobe Systems Incorporated [ctb, cph] (Source Sans Pro font)",
- "Maintainer": "Winston Chang ",
- "Repository": "CRAN",
- "Date/Publication": "2018-10-17 18:00:02 UTC",
- "Built": "R 3.6.0; ; 2019-04-27 04:16:31 UTC; unix"
- }
- },
- "shinyjs": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "shinyjs",
- "Title": "Easily Improve the User Experience of Your Shiny Apps in Seconds",
- "Version": "1.0",
- "Authors@R": "person(\"Dean\", \"Attali\", email = \"daattali@gmail.com\",\n role = c(\"aut\", \"cre\"))",
- "Description": "Perform common useful JavaScript operations in Shiny apps that will\n greatly improve your apps without having to know any JavaScript. Examples\n include: hiding an element, disabling an input, resetting an input back to\n its original value, delaying code execution by a few seconds, and many more\n useful functions for both the end user and the developer. 'shinyjs' can also\n be used to easily call your own custom JavaScript functions from R.",
- "URL": "https://deanattali.com/shinyjs",
- "BugReports": "https://github.com/daattali/shinyjs/issues",
- "Depends": "R (>= 3.1.0)",
- "Imports": "digest (>= 0.6.8), htmltools (>= 0.2.9), jsonlite, shiny (>=\n1.0.0)",
- "Suggests": "knitr (>= 1.7), rmarkdown, shinyAce, testthat (>= 0.9.1), V8\n(>= 0.6)",
- "License": "AGPL-3",
- "SystemRequirements": "pandoc with https support",
- "LazyData": "true",
- "VignetteBuilder": "knitr",
- "RoxygenNote": "6.0.1",
- "NeedsCompilation": "no",
- "Packaged": "2018-01-08 20:00:22 UTC; Dean",
- "Author": "Dean Attali [aut, cre]",
- "Maintainer": "Dean Attali ",
- "Repository": "CRAN",
- "Date/Publication": "2018-01-08 22:21:13 UTC",
- "Built": "R 3.6.0; ; 2019-04-27 04:16:08 UTC; unix"
- }
- },
- "sourcetools": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "sourcetools",
- "Type": "Package",
- "Title": "Tools for Reading, Tokenizing and Parsing R Code",
- "Version": "0.1.7",
- "Author": "Kevin Ushey",
- "Maintainer": "Kevin Ushey ",
- "Description": "Tools for the reading and tokenization of R code. The\n 'sourcetools' package provides both an R and C++ interface for the tokenization\n of R code, and helpers for interacting with the tokenized representation of R\n code.",
- "License": "MIT + file LICENSE",
- "LazyData": "TRUE",
- "Depends": "R (>= 3.0.2)",
- "Suggests": "testthat",
- "RoxygenNote": "5.0.1",
- "BugReports": "https://github.com/kevinushey/sourcetools/issues",
- "Encoding": "UTF-8",
- "NeedsCompilation": "yes",
- "Packaged": "2018-04-25 03:19:22 UTC; kevin",
- "Repository": "CRAN",
- "Date/Publication": "2018-04-25 03:38:09 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:50:45 UTC; unix"
- }
- },
- "sp": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "sp",
- "Version": "1.3-2",
- "Title": "Classes and Methods for Spatial Data",
- "Authors@R": "c(person(\"Edzer\", \"Pebesma\", role = c(\"aut\", \"cre\"),\n\t\t\t\temail = \"edzer.pebesma@uni-muenster.de\"),\n\t\t\tperson(\"Roger\", \"Bivand\", role = \"aut\",\n \temail = \"Roger.Bivand@nhh.no\"),\n\t\t\tperson(\"Barry\", \"Rowlingson\", role = \"ctb\"),\n\t\t\tperson(\"Virgilio\", \"Gomez-Rubio\", role = \"ctb\"),\n\t\t\tperson(\"Robert\", \"Hijmans\", role = \"ctb\"),\n\t\t\tperson(\"Michael\", \"Sumner\", role = \"ctb\"),\n\t\t\tperson(\"Don\", \"MacQueen\", role = \"ctb\"),\n\t\t\tperson(\"Jim\", \"Lemon\", role = \"ctb\"),\n\t\t\tperson(\"Josh\", \"O'Brien\", role = \"ctb\"),\n\t\t\tperson(\"Joseph\", \"O'Rourke\", role = \"ctb\"))",
- "Depends": "R (>= 3.0.0), methods",
- "Imports": "utils, stats, graphics, grDevices, lattice, grid",
- "Suggests": "RColorBrewer, rgdal (>= 0.8-7), rgeos (>= 0.3-13), gstat,\nmaptools, deldir",
- "Description": "Classes and methods for spatial\n data; the classes document where the spatial location information\n resides, for 2D or 3D data. Utility functions are provided, e.g. for\n plotting data as maps, spatial selection, as well as methods for\n retrieving coordinates, for subsetting, print, summary, etc.",
- "License": "GPL (>= 2)",
- "URL": "https://github.com/edzer/sp/ https://edzer.github.io/sp/",
- "BugReports": "https://github.com/edzer/sp/issues",
- "Collate": "bpy.colors.R AAA.R Class-CRS.R CRS-methods.R Class-Spatial.R\nSpatial-methods.R projected.R Class-SpatialPoints.R\nSpatialPoints-methods.R Class-SpatialPointsDataFrame.R\nSpatialPointsDataFrame-methods.R Class-SpatialMultiPoints.R\nSpatialMultiPoints-methods.R\nClass-SpatialMultiPointsDataFrame.R\nSpatialMultiPointsDataFrame-methods.R Class-GridTopology.R\nClass-SpatialGrid.R Class-SpatialGridDataFrame.R\nClass-SpatialLines.R SpatialLines-methods.R\nClass-SpatialLinesDataFrame.R SpatialLinesDataFrame-methods.R\nClass-SpatialPolygons.R Class-SpatialPolygonsDataFrame.R\nSpatialPolygons-methods.R SpatialPolygonsDataFrame-methods.R\nGridTopology-methods.R SpatialGrid-methods.R\nSpatialGridDataFrame-methods.R SpatialPolygons-internals.R\npoint.in.polygon.R SpatialPolygons-displayMethods.R zerodist.R\nimage.R stack.R bubble.R mapasp.R select.spatial.R gridded.R\nasciigrid.R spplot.R over.R spsample.R recenter.R dms.R\ngridlines.R spdists.R rbind.R flipSGDF.R chfids.R loadmeuse.R\ncompassRose.R surfaceArea.R spOptions.R subset.R disaggregate.R\nsp_spat1.R merge.R aggregate.R",
- "NeedsCompilation": "yes",
- "Packaged": "2019-11-07 21:08:22 UTC; edzer",
- "Author": "Edzer Pebesma [aut, cre],\n Roger Bivand [aut],\n Barry Rowlingson [ctb],\n Virgilio Gomez-Rubio [ctb],\n Robert Hijmans [ctb],\n Michael Sumner [ctb],\n Don MacQueen [ctb],\n Jim Lemon [ctb],\n Josh O'Brien [ctb],\n Joseph O'Rourke [ctb]",
- "Maintainer": "Edzer Pebesma ",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-07 23:00:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-11-08 19:47:36 UTC; unix"
- }
- },
- "stringi": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "stringi",
- "Version": "1.4.3",
- "Date": "2019-03-12",
- "Title": "Character String Processing Facilities",
- "Description": "Fast, correct, consistent, portable,\n as well as convenient character string/text processing in every locale\n and any native encoding. Owing to the use of the 'ICU'\n (International Components for Unicode) library,\n the package provides 'R' users with platform-independent functions\n known to 'Java', 'Perl', 'Python', 'PHP', and 'Ruby' programmers. Available\n features include: pattern searching (e.g., with 'Java'-like regular\n expressions or the 'Unicode' collation algorithm), random string generation,\n case mapping, string transliteration, concatenation,\n Unicode normalization, date-time formatting and parsing, and many more.",
- "URL": "http://www.gagolewski.com/software/stringi/\nhttp://site.icu-project.org/ http://www.unicode.org/",
- "BugReports": "http://github.com/gagolews/stringi/issues",
- "SystemRequirements": "ICU4C (>= 52, optional)",
- "Type": "Package",
- "Depends": "R (>= 2.14)",
- "Imports": "tools, utils, stats",
- "Biarch": "TRUE",
- "License": "file LICENSE",
- "Author": "Marek Gagolewski [aut, cre] (),\n Bartek Tartanus [ctb],\n and other contributors (stringi source code);\n IBM, Unicode, Inc., and other contributors (ICU4C source code);\n Unicode, Inc. (Unicode Character Database)",
- "Maintainer": "Marek Gagolewski ",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "yes",
- "Packaged": "2019-03-12 21:12:07 UTC; gagolews",
- "License_is_FOSS": "yes",
- "Repository": "CRAN",
- "Date/Publication": "2019-03-12 23:20:03 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:51:19 UTC; unix"
- }
- },
- "stringr": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "stringr",
- "Title": "Simple, Consistent Wrappers for Common String Operations",
- "Version": "1.4.0",
- "Authors@R": "\n c(person(given = \"Hadley\",\n family = \"Wickham\",\n role = c(\"aut\", \"cre\", \"cph\"),\n email = \"hadley@rstudio.com\"),\n person(given = \"RStudio\",\n role = c(\"cph\", \"fnd\")))",
- "Description": "A consistent, simple and easy to use set of\n wrappers around the fantastic 'stringi' package. All function and\n argument names (and positions) are consistent, all functions deal with\n \"NA\"'s and zero length vectors in the same way, and the output from\n one function is easy to feed into the input of another.",
- "License": "GPL-2 | file LICENSE",
- "URL": "http://stringr.tidyverse.org, https://github.com/tidyverse/stringr",
- "BugReports": "https://github.com/tidyverse/stringr/issues",
- "Depends": "R (>= 3.1)",
- "Imports": "glue (>= 1.2.0), magrittr, stringi (>= 1.1.7)",
- "Suggests": "covr, htmltools, htmlwidgets, knitr, rmarkdown, testthat",
- "VignetteBuilder": "knitr",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "no",
- "Packaged": "2019-02-09 16:03:19 UTC; hadley",
- "Author": "Hadley Wickham [aut, cre, cph],\n RStudio [cph, fnd]",
- "Maintainer": "Hadley Wickham ",
- "Repository": "CRAN",
- "Date/Publication": "2019-02-10 03:40:03 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 22:26:53 UTC; unix"
- }
- },
- "sys": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "sys",
- "Type": "Package",
- "Title": "Powerful and Reliable Tools for Running System Commands in R",
- "Version": "3.3",
- "Authors@R": "c(person(\"Jeroen\", \"Ooms\", role = c(\"aut\", \"cre\"), \n email = \"jeroen@berkeley.edu\", comment = c(ORCID = \"0000-0002-4035-0289\")),\n person(\"Gábor\", \"Csárdi\", , \"csardi.gabor@gmail.com\", role = \"ctb\"))",
- "Description": "Drop-in replacements for the base system2() function with fine control\n and consistent behavior across platforms. Supports clean interruption, timeout, \n background tasks, and streaming STDIN / STDOUT / STDERR over binary or text \n connections. Arguments on Windows automatically get encoded and quoted to work \n on different locales.",
- "License": "MIT + file LICENSE",
- "URL": "https://github.com/jeroen/sys",
- "BugReports": "https://github.com/jeroen/sys/issues",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "Suggests": "unix (>= 1.4), spelling, testthat",
- "Language": "en-US",
- "NeedsCompilation": "yes",
- "Packaged": "2019-08-21 11:45:42 UTC; jeroen",
- "Author": "Jeroen Ooms [aut, cre] (),\n Gábor Csárdi [ctb]",
- "Maintainer": "Jeroen Ooms ",
- "Repository": "CRAN",
- "Date/Publication": "2019-08-21 14:20:02 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-08-22 13:40:46 UTC; unix"
- }
- },
- "tibble": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "tibble",
- "Title": "Simple Data Frames",
- "Version": "2.1.3",
- "Authors@R": "c(\n person(\"Kirill\", \"Müller\", , \"krlmlr+r@mailbox.org\", c(\"aut\", \"cre\")),\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", \"aut\"),\n person(\"Romain\", \"Francois\", , \"romain@r-enthusiasts.com\", \"ctb\"),\n person(\"Jennifer\", \"Bryan\", , \"jenny@rstudio.com\", \"ctb\"),\n person(\"RStudio\", role = \"cph\")\n )",
- "Description": "Provides a 'tbl_df' class (the 'tibble') that provides\n stricter checking and better formatting than the traditional data frame.",
- "License": "MIT + file LICENSE",
- "URL": "http://tibble.tidyverse.org/, https://github.com/tidyverse/tibble",
- "BugReports": "https://github.com/tidyverse/tibble/issues",
- "Depends": "R (>= 3.1.0)",
- "Imports": "cli, crayon (>= 1.3.4), fansi (>= 0.4.0), methods, pillar (>=\n1.3.1), pkgconfig, rlang (>= 0.3.0), utils",
- "Suggests": "bench, covr, dplyr, htmltools, import, knitr, mockr,\nnycflights13, rmarkdown, testthat, withr",
- "VignetteBuilder": "knitr",
- "Encoding": "UTF-8",
- "LazyData": "yes",
- "RoxygenNote": "6.1.1",
- "Collate": "'add.R' 'as_tibble.R' 'check-names.R' 'compat-lazyeval.R'\n'compat-lifecycle.R' 'compat-name-repair.R' 'compat-purrr.R'\n'tribble.R' 'deprecated.R' 'enframe.R' 'exports.R' 'glimpse.R'\n'has-name.R' 'lst.R' 'msg-format.R' 'msg.R' 'new.R'\n'repair-names.R' 'rownames.R' 'strrep.R' 'subsetting.R'\n'tbl-df.r' 'tibble-package.R' 'tibble.R' 'type-sum.r'\n'utils-format.r' 'utils.r' 'view.R' 'wrap.R' 'zzz.R'",
- "NeedsCompilation": "yes",
- "Packaged": "2019-06-06 12:40:47 UTC; kirill",
- "Author": "Kirill Müller [aut, cre],\n Hadley Wickham [aut],\n Romain Francois [ctb],\n Jennifer Bryan [ctb],\n RStudio [cph]",
- "Maintainer": "Kirill Müller ",
- "Repository": "CRAN",
- "Date/Publication": "2019-06-06 13:40:03 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-06-07 12:06:30 UTC; unix"
- }
- },
- "tidyr": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "tidyr",
- "Title": "Tidy Messy Data",
- "Version": "1.0.0",
- "Authors@R": "\n c(person(given = \"Hadley\",\n family = \"Wickham\",\n role = c(\"aut\", \"cre\"),\n email = \"hadley@rstudio.com\"),\n person(given = \"Lionel\",\n family = \"Henry\",\n role = \"aut\",\n email = \"lionel@rstudio.com\"),\n person(given = \"RStudio\",\n role = \"cph\"))",
- "Description": "Tools to help to create tidy data, where each column is a \n variable, each row is an observation, and each cell contains a single value. \n 'tidyr' contains tools for changing the shape (pivoting) and hierarchy\n (nesting and 'unnesting') of a dataset, turning deeply nested lists\n into rectangular data frames ('rectangling'), and extracting values out \n of string columns. It also includes tools for working with missing values \n (both implicit and explicit).",
- "License": "MIT + file LICENSE",
- "URL": "https://tidyr.tidyverse.org, https://github.com/tidyverse/tidyr",
- "BugReports": "https://github.com/tidyverse/tidyr/issues",
- "Depends": "R (>= 3.1)",
- "Imports": "dplyr (>= 0.8.2), ellipsis (>= 0.1.0), glue, magrittr, purrr,\nRcpp, rlang, stringi, tibble (>= 2.1.1), tidyselect (>= 0.2.5),\nutils, vctrs (>= 0.2.0), lifecycle",
- "Suggests": "covr, jsonlite, knitr, repurrrsive (>= 1.0.0), rmarkdown,\nreadr, testthat (>= 2.1.0)",
- "LinkingTo": "Rcpp",
- "VignetteBuilder": "knitr",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "yes",
- "Packaged": "2019-09-10 12:06:26 UTC; hadley",
- "Author": "Hadley Wickham [aut, cre],\n Lionel Henry [aut],\n RStudio [cph]",
- "Maintainer": "Hadley Wickham ",
- "Repository": "CRAN",
- "Date/Publication": "2019-09-11 23:00:03 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-09-12 12:34:31 UTC; unix"
- }
- },
- "tidyselect": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "tidyselect",
- "Title": "Select from a Set of Strings",
- "Version": "0.2.5",
- "Authors@R": "c(\n person(\"Lionel\", \"Henry\", ,\"lionel@rstudio.com\", c(\"aut\", \"cre\")),\n person(\"Hadley\", \"Wickham\", ,\"hadley@rstudio.com\", \"aut\"),\n person(\"RStudio\", role = \"cph\")\n )",
- "Description": "A backend for the selecting functions of the 'tidyverse'.\n It makes it easy to implement select-like functions in your own\n packages in a way that is consistent with other 'tidyverse'\n interfaces for selection.",
- "Depends": "R (>= 3.1)",
- "Imports": "glue (>= 1.3.0), purrr, rlang (>= 0.2.2), Rcpp (>= 0.12.0)",
- "Suggests": "covr, dplyr, testthat",
- "LinkingTo": "Rcpp (>= 0.12.0),",
- "License": "GPL-3",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "ByteCompile": "true",
- "RoxygenNote": "6.1.0",
- "NeedsCompilation": "yes",
- "Packaged": "2018-10-11 12:25:22 UTC; lionel",
- "Author": "Lionel Henry [aut, cre],\n Hadley Wickham [aut],\n RStudio [cph]",
- "Maintainer": "Lionel Henry ",
- "Repository": "CRAN",
- "Date/Publication": "2018-10-11 13:00:03 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 22:27:29 UTC; unix"
- }
- },
- "tinytex": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "tinytex",
- "Type": "Package",
- "Title": "Helper Functions to Install and Maintain 'TeX Live', and Compile\n'LaTeX' Documents",
- "Version": "0.17",
- "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\", \"cph\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(family = \"RStudio, Inc.\", role = \"cph\"),\n person(\"Fernando\", \"Cagua\", role = \"ctb\"),\n person(\"Ethan\", \"Heinzen\", role = \"ctb\"),\n person()\n )",
- "Description": "Helper functions to install and maintain the 'LaTeX' distribution\n named 'TinyTeX' (), a lightweight, cross-platform,\n portable, and easy-to-maintain version of 'TeX Live'. This package also\n contains helper functions to compile 'LaTeX' documents, and install missing\n 'LaTeX' packages automatically.",
- "Imports": "xfun (>= 0.5)",
- "Suggests": "testit, rstudioapi",
- "License": "MIT + file LICENSE",
- "URL": "https://github.com/yihui/tinytex",
- "BugReports": "https://github.com/yihui/tinytex/issues",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "no",
- "Packaged": "2019-10-30 18:18:22 UTC; yihui",
- "Author": "Yihui Xie [aut, cre, cph] (),\n RStudio, Inc. [cph],\n Fernando Cagua [ctb],\n Ethan Heinzen [ctb]",
- "Maintainer": "Yihui Xie ",
- "Repository": "CRAN",
- "Date/Publication": "2019-10-30 23:00:02 UTC",
- "Built": "R 3.6.1; ; 2019-11-05 15:36:12 UTC; unix"
- }
- },
- "utf8": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "utf8",
- "Version": "1.1.4",
- "Title": "Unicode Text Processing",
- "Authors@R": "c(\n person(c(\"Patrick\", \"O.\"), \"Perry\",\n role = c(\"aut\", \"cph\", \"cre\"),\n email = \"patperry@gmail.com\"),\n person(\"Unicode, Inc.\",\n role = c(\"cph\", \"dtc\"),\n comment = \"Unicode Character Database\"))",
- "Depends": "R (>= 2.10)",
- "Suggests": "knitr, rmarkdown, testthat",
- "Description": "Process and print 'UTF-8' encoded international text (Unicode). Input, validate, normalize, encode, format, and display.",
- "License": "Apache License (== 2.0) | file LICENSE",
- "URL": "https://github.com/patperry/r-utf8",
- "BugReports": "https://github.com/patperry/r-utf8/issues",
- "LazyData": "Yes",
- "Encoding": "UTF-8",
- "VignetteBuilder": "knitr, rmarkdown",
- "NeedsCompilation": "yes",
- "Packaged": "2018-05-24 15:00:57 UTC; ptrck",
- "Author": "Patrick O. Perry [aut, cph, cre],\n Unicode, Inc. [cph, dtc] (Unicode Character Database)",
- "Maintainer": "Patrick O. Perry ",
- "Repository": "CRAN",
- "Date/Publication": "2018-05-24 17:09:15 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:50:07 UTC; unix"
- }
- },
- "uuid": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "uuid",
- "Version": "0.1-2",
- "Title": "Tools for generating and handling of UUIDs",
- "Author": "Simon Urbanek (R package), Theodore Ts'o (libuuid)",
- "Maintainer": "Simon Urbanek ",
- "Depends": "R (>= 2.9.0)",
- "Description": "Tools for generating and handling of UUIDs (Universally Unique Identifiers).",
- "License": "MIT + file LICENSE",
- "URL": "http://www.rforge.net/uuid",
- "NeedsCompilation": "yes",
- "Packaged": "2015-07-27 20:57:43 UTC; svnuser",
- "Repository": "CRAN",
- "Date/Publication": "2015-07-28 08:03:46",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:57:11 UTC; unix"
- }
- },
- "vctrs": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "vctrs",
- "Title": "Vector Helpers",
- "Version": "0.2.0",
- "Authors@R": "\n c(person(given = \"Hadley\",\n family = \"Wickham\",\n role = c(\"aut\", \"cre\"),\n email = \"hadley@rstudio.com\"),\n person(given = \"Lionel\",\n family = \"Henry\",\n role = \"aut\",\n email = \"lionel@rstudio.com\"),\n person(given = \"Davis\",\n family = \"Vaughan\",\n role = \"aut\",\n email = \"davis@rstudio.com\"),\n person(given = \"RStudio\",\n role = \"cph\"))",
- "Description": "Defines new notions of prototype and size that are\n used to provide tools for consistent and well-founded type-coercion\n and size-recycling, and are in turn connected to ideas of type- and\n size-stability useful for analyzing function interfaces.",
- "License": "GPL-3",
- "URL": "https://github.com/r-lib/vctrs",
- "BugReports": "https://github.com/r-lib/vctrs/issues",
- "Depends": "R (>= 3.2)",
- "Imports": "backports, ellipsis (>= 0.2.0), digest, glue, rlang (>=\n0.4.0), zeallot",
- "Suggests": "bit64, covr, crayon, generics, knitr, pillar (>= 1.4.1),\npkgdown, rmarkdown, testthat, tibble",
- "VignetteBuilder": "knitr",
- "Encoding": "UTF-8",
- "Language": "en-GB",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "NeedsCompilation": "yes",
- "Packaged": "2019-07-02 19:29:52 UTC; lionel",
- "Author": "Hadley Wickham [aut, cre],\n Lionel Henry [aut],\n Davis Vaughan [aut],\n RStudio [cph]",
- "Maintainer": "Hadley Wickham ",
- "Repository": "CRAN",
- "Date/Publication": "2019-07-05 23:00:04 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-07-08 17:41:10 UTC; unix"
- }
- },
- "viridis": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "viridis",
- "Type": "Package",
- "Title": "Default Color Maps from 'matplotlib'",
- "Version": "0.5.1",
- "Authors@R": "c(\n person(\"Simon\", \"Garnier\", email = \"garnier@njit.edu\", role = c(\"aut\", \"cre\")),\n person(\"Noam\", \"Ross\", email = \"noam.ross@gmail.com\", role = c(\"ctb\", \"cph\")),\n person(\"Bob\", \"Rudis\", email = \"bob@rud.is\", role = c(\"ctb\", \"cph\")),\n person(\"Marco\", \"Sciaini\", email = \"sciaini.marco@gmail.com\", role = c(\"ctb\", \"cph\")),\n person(\"Cédric\", \"Scherer\", email = \"scherer@izw-berlin.de\", role = c(\"ctb\", \"cph\"))\n )",
- "Maintainer": "Simon Garnier ",
- "Description": "Implementation of the 'viridis' - the default -, 'magma', 'plasma', \n 'inferno', and 'cividis' color maps for 'R'. 'viridis', 'magma', 'plasma', \n and 'inferno' are ported from 'matplotlib' , a \n popular plotting library for 'python'. 'cividis', was developed by Jamie R. \n Nuñez and Sean M. Colby. These color maps are designed in such a way that \n they will analytically be perfectly perceptually-uniform, both in regular \n form and also when converted to black-and-white. They are also designed to \n be perceived by readers with the most common form of color blindness (all \n color maps in this package) and color vision deficiency ('cividis' only). ",
- "License": "MIT + file LICENSE",
- "LazyData": "TRUE",
- "Encoding": "UTF-8",
- "Depends": "R (>= 2.10), viridisLite (>= 0.3.0)",
- "Imports": "stats, ggplot2 (>= 1.0.1), gridExtra",
- "Suggests": "hexbin (>= 1.27.0), scales, MASS, knitr, dichromat,\ncolorspace, rasterVis, httr, mapproj, vdiffr, svglite (>=\n1.2.0), testthat, covr, rmarkdown, rgdal",
- "VignetteBuilder": "knitr",
- "URL": "https://github.com/sjmgarnier/viridis",
- "BugReports": "https://github.com/sjmgarnier/viridis/issues",
- "RoxygenNote": "6.0.1",
- "NeedsCompilation": "no",
- "Packaged": "2018-03-29 14:51:56 UTC; simon",
- "Author": "Simon Garnier [aut, cre],\n Noam Ross [ctb, cph],\n Bob Rudis [ctb, cph],\n Marco Sciaini [ctb, cph],\n Cédric Scherer [ctb, cph]",
- "Repository": "CRAN",
- "Date/Publication": "2018-03-29 15:48:56 UTC",
- "Built": "R 3.6.0; ; 2019-04-27 04:15:59 UTC; unix"
- }
- },
- "viridisLite": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "viridisLite",
- "Type": "Package",
- "Title": "Default Color Maps from 'matplotlib' (Lite Version)",
- "Version": "0.3.0",
- "Authors@R": "c(\n person(\"Simon\", \"Garnier\", email = \"garnier@njit.edu\", role = c(\"aut\", \"cre\")),\n person(\"Noam\", \"Ross\", email = \"noam.ross@gmail.com\", role = c(\"ctb\", \"cph\")),\n person(\"Bob\", \"Rudis\", email = \"bob@rud.is\", role = c(\"ctb\", \"cph\")),\n person(\"Marco\", \"Sciaini\", email = \"sciaini.marco@gmail.com\", role = c(\"ctb\", \"cph\")),\n person(\"Cédric\", \"Scherer\", email = \"scherer@izw-berlin.de\", role = c(\"ctb\", \"cph\"))\n )",
- "Maintainer": "Simon Garnier ",
- "Description": "Implementation of the 'viridis' - the default -, 'magma', 'plasma', \n 'inferno', and 'cividis' color maps for 'R'. 'viridis', 'magma', 'plasma', \n and 'inferno' are ported from 'matplotlib' , a \n popular plotting library for 'python'. 'cividis', was developed by Jamie R. \n Nuñez and Sean M. Colby. These color maps are designed in such a way that \n they will analytically be perfectly perceptually-uniform, both in regular \n form and also when converted to black-and-white. They are also designed to \n be perceived by readers with the most common form of color blindness (all \n color maps in this package) and color vision deficiency ('cividis' only). \n This is the 'lite' version of the more complete 'viridis' package that can \n be found at .",
- "License": "MIT + file LICENSE",
- "LazyData": "TRUE",
- "Encoding": "UTF-8",
- "Depends": "R (>= 2.10)",
- "Suggests": "hexbin (>= 1.27.0), ggplot2 (>= 1.0.1), testthat, covr",
- "URL": "https://github.com/sjmgarnier/viridisLite",
- "BugReports": "https://github.com/sjmgarnier/viridisLite/issues",
- "RoxygenNote": "6.0.1",
- "NeedsCompilation": "no",
- "Packaged": "2018-02-01 17:33:56 UTC; simon",
- "Author": "Simon Garnier [aut, cre],\n Noam Ross [ctb, cph],\n Bob Rudis [ctb, cph],\n Marco Sciaini [ctb, cph],\n Cédric Scherer [ctb, cph]",
- "Repository": "CRAN",
- "Date/Publication": "2018-02-01 22:45:56 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 19:50:56 UTC; unix"
- }
- },
- "withr": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Encoding": "UTF-8",
- "Package": "withr",
- "Title": "Run Code 'With' Temporarily Modified Global State",
- "Version": "2.1.2",
- "Authors@R": "c(\n person(\"Jim\", \"Hester\", , \"james.f.hester@gmail.com\", role = c(\"aut\", \"cre\")),\n person(\"Kirill\", \"Müller\", , \"krlmlr+r@mailbox.org\", role = \"aut\"),\n person(\"Kevin\", \"Ushey\", email = \"kevinushey@gmail.com\", role = c(\"aut\")),\n person(\"Hadley\", \"Wickham\", , \"hadley@rstudio.com\", role = \"aut\"),\n person(\"Winston\", \"Chang\", role = \"aut\"),\n person(\"Richard\", \"Cotton\", role = c(\"ctb\")),\n person(\"RStudio\", role = \"cph\"))",
- "Description": "A set of functions to run code 'with' safely and temporarily\n modified global state. Many of these functions were originally a part of the\n 'devtools' package, this provides a simple package with limited dependencies\n to provide access to these functions.",
- "URL": "http://withr.r-lib.org, http://github.com/r-lib/withr#readme",
- "BugReports": "http://github.com/r-lib/withr/issues",
- "Depends": "R (>= 3.0.2)",
- "License": "GPL (>= 2)",
- "LazyData": "true",
- "Imports": "stats, graphics, grDevices",
- "Suggests": "testthat, covr, lattice, DBI, RSQLite, methods, knitr,\nrmarkdown",
- "RoxygenNote": "6.0.1",
- "Collate": "'local_.R' 'with_.R' 'collate.R' 'connection.R' 'db.R'\n'defer.R' 'wrap.R' 'devices.R' 'dir.R' 'env.R' 'file.R'\n'libpaths.R' 'locale.R' 'makevars.R' 'namespace.R' 'options.R'\n'par.R' 'path.R' 'seed.R' 'sink.R' 'tempfile.R' 'torture.R'\n'utils.R' 'with.R'",
- "VignetteBuilder": "knitr",
- "NeedsCompilation": "no",
- "Packaged": "2018-03-15 13:59:37 UTC; jhester",
- "Author": "Jim Hester [aut, cre],\n Kirill Müller [aut],\n Kevin Ushey [aut],\n Hadley Wickham [aut],\n Winston Chang [aut],\n Richard Cotton [ctb],\n RStudio [cph]",
- "Maintainer": "Jim Hester ",
- "Repository": "CRAN",
- "Date/Publication": "2018-03-15 22:39:56 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 19:50:57 UTC; unix"
- }
- },
- "xfun": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "xfun",
- "Type": "Package",
- "Title": "Miscellaneous Functions by 'Yihui Xie'",
- "Version": "0.11",
- "Authors@R": "c(\n person(\"Yihui\", \"Xie\", role = c(\"aut\", \"cre\", \"cph\"), email = \"xie@yihui.name\", comment = c(ORCID = \"0000-0003-0645-5666\")),\n person(\"Daijiang\", \"Li\", role = \"ctb\"),\n person(\"Xianying\", \"Tan\", role = \"ctb\"),\n person(\"Salim\", \"Brüggemann\", role = \"ctb\", email = \"salim-b@pm.me\"),\n person()\n )",
- "Description": "Miscellaneous functions commonly used in other packages maintained by 'Yihui Xie'.",
- "Imports": "stats, tools",
- "Suggests": "testit, parallel, rstudioapi, tinytex, mime, markdown, knitr,\nhtmltools, base64enc, remotes, rmarkdown",
- "License": "MIT + file LICENSE",
- "URL": "https://github.com/yihui/xfun",
- "BugReports": "https://github.com/yihui/xfun/issues",
- "Encoding": "UTF-8",
- "LazyData": "true",
- "RoxygenNote": "6.1.1",
- "VignetteBuilder": "knitr",
- "NeedsCompilation": "no",
- "Packaged": "2019-11-12 15:31:12 UTC; yihui",
- "Author": "Yihui Xie [aut, cre, cph] (),\n Daijiang Li [ctb],\n Xianying Tan [ctb],\n Salim Brüggemann [ctb]",
- "Maintainer": "Yihui Xie ",
- "Repository": "CRAN",
- "Date/Publication": "2019-11-12 17:40:02 UTC",
- "Built": "R 3.6.1; ; 2019-11-12 19:38:32 UTC; unix"
- }
- },
- "xtable": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "xtable",
- "Version": "1.8-4",
- "Date": "2019-04-08",
- "Title": "Export Tables to LaTeX or HTML",
- "Authors@R": "c(person(\"David B.\", \"Dahl\", role=\"aut\"),\n person(\"David\", \"Scott\", role=c(\"aut\",\"cre\"),\n email=\"d.scott@auckland.ac.nz\"),\n person(\"Charles\", \"Roosen\", role=\"aut\"),\n person(\"Arni\", \"Magnusson\", role=\"aut\"),\n person(\"Jonathan\", \"Swinton\", role=\"aut\"),\n person(\"Ajay\", \"Shah\", role=\"ctb\"),\n person(\"Arne\", \"Henningsen\", role=\"ctb\"),\n person(\"Benno\", \"Puetz\", role=\"ctb\"),\n person(\"Bernhard\", \"Pfaff\", role=\"ctb\"),\n person(\"Claudio\", \"Agostinelli\", role=\"ctb\"),\n person(\"Claudius\", \"Loehnert\", role=\"ctb\"),\n person(\"David\", \"Mitchell\", role=\"ctb\"),\n person(\"David\", \"Whiting\", role=\"ctb\"),\n person(\"Fernando da\", \"Rosa\", role=\"ctb\"),\n person(\"Guido\", \"Gay\", role=\"ctb\"),\n person(\"Guido\", \"Schulz\", role=\"ctb\"),\n person(\"Ian\", \"Fellows\", role=\"ctb\"),\n person(\"Jeff\", \"Laake\", role=\"ctb\"),\n person(\"John\", \"Walker\", role=\"ctb\"),\n person(\"Jun\", \"Yan\", role=\"ctb\"),\n person(\"Liviu\", \"Andronic\", role=\"ctb\"),\n person(\"Markus\", \"Loecher\", role=\"ctb\"),\n person(\"Martin\", \"Gubri\", role=\"ctb\"),\n person(\"Matthieu\", \"Stigler\", role=\"ctb\"),\n person(\"Robert\", \"Castelo\", role=\"ctb\"),\n person(\"Seth\", \"Falcon\", role=\"ctb\"),\n person(\"Stefan\", \"Edwards\", role=\"ctb\"),\n person(\"Sven\", \"Garbade\", role=\"ctb\"),\n person(\"Uwe\", \"Ligges\", role=\"ctb\"))",
- "Maintainer": "David Scott ",
- "Imports": "stats, utils",
- "Suggests": "knitr, plm, zoo, survival",
- "VignetteBuilder": "knitr",
- "Description": "Coerce data to LaTeX and HTML tables.",
- "URL": "http://xtable.r-forge.r-project.org/",
- "Depends": "R (>= 2.10.0)",
- "License": "GPL (>= 2)",
- "Repository": "CRAN",
- "NeedsCompilation": "no",
- "Packaged": "2019-04-21 10:56:51 UTC; dsco036",
- "Author": "David B. Dahl [aut],\n David Scott [aut, cre],\n Charles Roosen [aut],\n Arni Magnusson [aut],\n Jonathan Swinton [aut],\n Ajay Shah [ctb],\n Arne Henningsen [ctb],\n Benno Puetz [ctb],\n Bernhard Pfaff [ctb],\n Claudio Agostinelli [ctb],\n Claudius Loehnert [ctb],\n David Mitchell [ctb],\n David Whiting [ctb],\n Fernando da Rosa [ctb],\n Guido Gay [ctb],\n Guido Schulz [ctb],\n Ian Fellows [ctb],\n Jeff Laake [ctb],\n John Walker [ctb],\n Jun Yan [ctb],\n Liviu Andronic [ctb],\n Markus Loecher [ctb],\n Martin Gubri [ctb],\n Matthieu Stigler [ctb],\n Robert Castelo [ctb],\n Seth Falcon [ctb],\n Stefan Edwards [ctb],\n Sven Garbade [ctb],\n Uwe Ligges [ctb]",
- "Date/Publication": "2019-04-21 12:20:03 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 19:49:57 UTC; unix"
- }
- },
- "yaml": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "yaml",
- "Type": "Package",
- "Title": "Methods to Convert R Data to YAML and Back",
- "Date": "2018-07-20",
- "Version": "2.2.0",
- "Suggests": "RUnit",
- "Author": "Jeremy Stephens [aut, cre], Kirill Simonov [aut], Yihui Xie [ctb],\n Zhuoer Dong [ctb], Hadley Wickham [ctb], Jeffrey Horner [ctb], reikoch [ctb],\n Will Beasley [ctb], Brendan O'Connor [ctb], Gregory R. Warnes [ctb]",
- "Maintainer": "Jeremy Stephens ",
- "License": "BSD_3_clause + file LICENSE",
- "Description": "Implements the 'libyaml' 'YAML' 1.1 parser and emitter\n () for R.",
- "URL": "https://github.com/viking/r-yaml/",
- "BugReports": "https://github.com/viking/r-yaml/issues",
- "NeedsCompilation": "yes",
- "Packaged": "2018-07-24 19:09:41 UTC; stephej1",
- "Repository": "CRAN",
- "Date/Publication": "2018-07-25 15:40:03 UTC",
- "Built": "R 3.6.0; x86_64-apple-darwin15.6.0; 2019-04-26 19:50:26 UTC; unix"
- }
- },
- "zeallot": {
- "Source": "CRAN",
- "Repository": "https://cran.rstudio.com/",
- "GithubRepo": null,
- "GithubUsername": null,
- "GithubRef": null,
- "GithubSha1": null,
- "description": {
- "Package": "zeallot",
- "Type": "Package",
- "Title": "Multiple, Unpacking, and Destructuring Assignment",
- "Version": "0.1.0",
- "Authors@R": "c(\n person(given = \"Nathan\", family = \"Teetor\", email = \"nathanteetor@gmail.com\", role = c(\"aut\", \"cre\")),\n person(given = \"Paul\", family = \"Teetor\", role = \"ctb\"))",
- "Description": "Provides a %<-% operator to perform multiple,\n unpacking, and destructuring assignment in R. The \n operator unpacks the right-hand side of an assignment\n into multiple values and assigns these values to \n variables on the left-hand side of the assignment.",
- "URL": "https://github.com/nteetor/zeallot",
- "BugReports": "https://github.com/nteetor/zeallot/issues",
- "License": "MIT + file LICENSE",
- "Encoding": "UTF-8",
- "RoxygenNote": "6.0.1",
- "VignetteBuilder": "knitr",
- "Suggests": "testthat, knitr, rmarkdown, purrr, magrittr",
- "NeedsCompilation": "no",
- "Packaged": "2018-01-27 17:18:33 UTC; nteetor",
- "Author": "Nathan Teetor [aut, cre],\n Paul Teetor [ctb]",
- "Maintainer": "Nathan Teetor ",
- "Repository": "CRAN",
- "Date/Publication": "2018-01-28 16:14:13 UTC",
- "Built": "R 3.6.0; ; 2019-04-26 20:32:53 UTC; unix"
- }
- }
- },
- "files": {
- ".RData": {
- "checksum": "01b05cd20b884036e54ef01fb0ef8219"
- },
- "coverpic.png": {
- "checksum": "6d85d9ed4916bb9a75e2ab420bac8b46"
- },
- "figure/unnamed-chunk-5-1.png": {
- "checksum": "2bd50b344c88c52e51672bd46583c4bc"
- },
- "helpers.R": {
- "checksum": "af57af21c2b893315ce1249ed098dfa0"
- },
- "LICENSE.md": {
- "checksum": "70d3494f6884cf1784e8252cf4bd4ec6"
- },
- "MULTIPOT_lu.txt": {
- "checksum": "fc53b14a6cf3e60df4a4309feb122c6f"
- },
- "packrat/desc/askpass": {
- "checksum": "94189e2591613758acecb70968843b7e"
- },
- "packrat/desc/assertthat": {
- "checksum": "5546908c8abf7dc750e9b59d246d8082"
- },
- "packrat/desc/backports": {
- "checksum": "56b88b0620fb5c13ca34850a3be3f12f"
- },
- "packrat/desc/base64enc": {
- "checksum": "4968159e8f1ce5fdd79257f19560b1bd"
- },
- "packrat/desc/BH": {
- "checksum": "69bf0a81cb33351308fcbfaa3c25d3bb"
- },
- "packrat/desc/bitops": {
- "checksum": "d98315da2cc86c3a2497e490042bb034"
- },
- "packrat/desc/broom": {
- "checksum": "07eaa8de1166ba449445b4459e192d9d"
- },
- "packrat/desc/checkmate": {
- "checksum": "b7af56a57634411d86b5134bbb474ead"
- },
- "packrat/desc/cli": {
- "checksum": "a7aef4300f61f1afbfb9ba9fdbc25a30"
- },
- "packrat/desc/clipr": {
- "checksum": "bef51ac0391e0a299a4c98d398f0babc"
- },
- "packrat/desc/colorspace": {
- "checksum": "3bcd3437f7f1d5021b353faeb845d165"
- },
- "packrat/desc/crayon": {
- "checksum": "b24ecaa8a9670c0265dba74ec47767ba"
- },
- "packrat/desc/crosstalk": {
- "checksum": "535e7a6487fc6352951c1b6a97465bd8"
- },
- "packrat/desc/curl": {
- "checksum": "5d25876be494ac0a22465ad68c792d20"
- },
- "packrat/desc/data.table": {
- "checksum": "262d628761ab73dec281c69aa29cf40e"
- },
- "packrat/desc/digest": {
- "checksum": "489da34563218b8e1cd4f07751d4c4ef"
- },
- "packrat/desc/dplyr": {
- "checksum": "8e4886f38959f4f32bb2ad4b9d95eef5"
- },
- "packrat/desc/ellipsis": {
- "checksum": "d7425efc96e9dfb7bdc9dd14bde31e1f"
- },
- "packrat/desc/evaluate": {
- "checksum": "5111c5025419f9e6ba69fb042e6a4446"
- },
- "packrat/desc/fansi": {
- "checksum": "2427ef35a94907e5a105a051c0067e4f"
- },
- "packrat/desc/farver": {
- "checksum": "29ce00cd06c89add9445fc777432c287"
- },
- "packrat/desc/fastmap": {
- "checksum": "50e0a99538161dad94d2a0b9130e8a0e"
- },
- "packrat/desc/generics": {
- "checksum": "cec320d178b0473753b2ad55a040f4b2"
- },
- "packrat/desc/ggdendro": {
- "checksum": "d4af170237c5b6b48f9c49af660a6df2"
- },
- "packrat/desc/ggformula": {
- "checksum": "5519331d2c375c51f8ddc7554c09ffac"
- },
- "packrat/desc/ggmap": {
- "checksum": "3f4e8d19ed0f515de86dc64b9b54c20e"
- },
- "packrat/desc/ggplot2": {
- "checksum": "c16f37fa56f4f1bb705eb7dc84c0baa8"
- },
- "packrat/desc/ggrepel": {
- "checksum": "60f4c55a52b8de0cdcfd18844f92f74c"
- },
- "packrat/desc/ggstance": {
- "checksum": "6ef29ce6a4aacebf23c0577fdeb3fb45"
- },
- "packrat/desc/glue": {
- "checksum": "3239fcf5b116b176a3b7c12335047333"
- },
- "packrat/desc/gridExtra": {
- "checksum": "90fa17df8c31703c95f80c4390d5ae8e"
- },
- "packrat/desc/gtable": {
- "checksum": "500a690fcdf70a6711e8a5a298f85e4e"
- },
- "packrat/desc/hexbin": {
- "checksum": "0c6a833951c450e14ad0d05287aedf0c"
- },
- "packrat/desc/highr": {
- "checksum": "f89d838a931be8f6aa0f402f038a2d8d"
- },
- "packrat/desc/hms": {
- "checksum": "14e5cf78e8fb666abdd9d25aa1e6fd11"
- },
- "packrat/desc/htmltools": {
- "checksum": "bdf4d8a3851558d4aa5fcc3887451098"
- },
- "packrat/desc/htmlwidgets": {
- "checksum": "20049a41431cac02a4e1fc86333e4729"
- },
- "packrat/desc/httpuv": {
- "checksum": "611a43e785b14f240c50bf4a456e2b06"
- },
- "packrat/desc/httr": {
- "checksum": "2a78e5139aa584b83575ecd539a8f065"
- },
- "packrat/desc/jpeg": {
- "checksum": "7756b418a941c965c2c509d844c784dd"
- },
- "packrat/desc/jsonlite": {
- "checksum": "0641a8dff5814cf845a8df700e864a22"
- },
- "packrat/desc/knitr": {
- "checksum": "b4123ac99bcf406995ca15b5fe6ce0a4"
- },
- "packrat/desc/labeling": {
- "checksum": "c380e60f2819fb5f40e18e442b3064bb"
- },
- "packrat/desc/later": {
- "checksum": "63b387eb92a530d89724ca8a48d57156"
- },
- "packrat/desc/lattice": {
- "checksum": "26a9b76f8c3d40b39f203203fc721fc2"
- },
- "packrat/desc/latticeExtra": {
- "checksum": "4f7f70cada52e7e74b8d759b133a722d"
- },
- "packrat/desc/lazyeval": {
- "checksum": "4d680277fcb68a9209ca33710077b578"
- },
- "packrat/desc/leaflet": {
- "checksum": "0a49763f39b76c7c3ff0516396a8aaaa"
- },
- "packrat/desc/leaflet.providers": {
- "checksum": "1e0ce0bf021308f6b6a35c6b33298a5b"
- },
- "packrat/desc/learnr": {
- "checksum": "0b020e0421c3ba420cdc40418cdd45a1"
- },
- "packrat/desc/lifecycle": {
- "checksum": "c3d7597d7cb03a7d6231d8ea3bd1bbda"
- },
- "packrat/desc/magrittr": {
- "checksum": "e8675129e65235b7fb944a2a5635d1d0"
- },
- "packrat/desc/markdown": {
- "checksum": "dbefe5fcba799825cf73956fb10fbef1"
- },
- "packrat/desc/MASS": {
- "checksum": "0a356cd8eca86648fa4a037365980430"
- },
- "packrat/desc/Matrix": {
- "checksum": "4e78e8a09b90077ac6e79c9cd02b01c3"
- },
- "packrat/desc/mgcv": {
- "checksum": "d96e857c9b80d63a7eb132f5752c9e2f"
- },
- "packrat/desc/mime": {
- "checksum": "0b4c98a747ec0b212cfb46408cb55d7e"
- },
- "packrat/desc/misc3d": {
- "checksum": "5db88af83cdcca730a1004bcbf676bbd"
- },
- "packrat/desc/mosaic": {
- "checksum": "8b0dd7acbe43daf63ff1bd051a6704e7"
- },
- "packrat/desc/mosaicCore": {
- "checksum": "298c036999ca6a530e51e309b130cdf6"
- },
- "packrat/desc/mosaicData": {
- "checksum": "69121d0497a5710a5f8769dbe7c5132b"
- },
- "packrat/desc/munsell": {
- "checksum": "dd3e5dab6a3aaf7d00317e87591c3166"
- },
- "packrat/desc/nlme": {
- "checksum": "3bcd1162a216a86c167cd7ab04494411"
- },
- "packrat/desc/openssl": {
- "checksum": "b7e1b3b239f365ad2ca75a8a688df865"
- },
- "packrat/desc/pillar": {
- "checksum": "3f46744b8896c36b848c783cd87e47ab"
- },
- "packrat/desc/pkgconfig": {
- "checksum": "bfe35146671bfb17669c2a8da6ebeb3a"
- },
- "packrat/desc/plogr": {
- "checksum": "1fd0ddc59cc7c926c48c1af7ee4770e5"
- },
- "packrat/desc/plot3D": {
- "checksum": "d7ade967bfc72848c24cd600235e9fa6"
- },
- "packrat/desc/plotly": {
- "checksum": "3eafc03344cf1b6b2dd1ef30f233a386"
- },
- "packrat/desc/plyr": {
- "checksum": "dc3c3b2f6f9c2d5e4b499d3d12a9f439"
- },
- "packrat/desc/png": {
- "checksum": "075e4abd2c0fabf75602d3c2dea78b42"
- },
- "packrat/desc/promises": {
- "checksum": "fde72778fd262ffa84438336cc4282f8"
- },
- "packrat/desc/purrr": {
- "checksum": "205b9bdb8975353cc5971acfe31412a3"
- },
- "packrat/desc/R6": {
- "checksum": "1d17f437b61caa09a4dc5853577cb1bc"
- },
- "packrat/desc/rappdirs": {
- "checksum": "1156e307d1296a61c533b4338765270b"
- },
- "packrat/desc/raster": {
- "checksum": "f6138200888ab85f2f3d6f270bcced5a"
- },
- "packrat/desc/RColorBrewer": {
- "checksum": "e921a2b48a3466edd651f0b78d645fdc"
- },
- "packrat/desc/Rcpp": {
- "checksum": "9261b9b24dc6c9d33dd3750d518f2d94"
- },
- "packrat/desc/readr": {
- "checksum": "87c4d0a15c169acfada851b44b180d34"
- },
- "packrat/desc/renv": {
- "checksum": "6f71e32749defb7af233ad6c04caabe2"
- },
- "packrat/desc/reshape2": {
- "checksum": "3f12b2fa2fb790a2f9624016f9997b2f"
- },
- "packrat/desc/RgoogleMaps": {
- "checksum": "e2b750542df1d2017c1d6d065e0a8762"
- },
- "packrat/desc/rjson": {
- "checksum": "75105430fa50245fe61f7b6111267910"
- },
- "packrat/desc/rlang": {
- "checksum": "87a6408447b38ff20c9bd8ec92238424"
- },
- "packrat/desc/rlocker": {
- "checksum": "fad1b8fa787eb4ba27df603ff6376ecc"
- },
- "packrat/desc/rmarkdown": {
- "checksum": "90ce292bb448b9a21522dd02b3eeb5ef"
- },
- "packrat/desc/rprojroot": {
- "checksum": "ed1adad8867440ad3b96dd1c5091d842"
- },
- "packrat/desc/scales": {
- "checksum": "848f9b47f5b26ab1049731b7d06aed1d"
- },
- "packrat/desc/shiny": {
- "checksum": "38aa08b0592e60d728f92d98119c4eda"
- },
- "packrat/desc/shinyAce": {
- "checksum": "63b5afe4cda917c73145856e7eb5ea83"
- },
- "packrat/desc/shinyBS": {
- "checksum": "d2fcbd1c5e8a234c086b3df4e64b6436"
- },
- "packrat/desc/shinycssloaders": {
- "checksum": "936b388db2c308d82042556d8f5d4ccd"
- },
- "packrat/desc/shinydashboard": {
- "checksum": "1c37bc2048f42e1940101727ee1a853a"
- },
- "packrat/desc/shinyjs": {
- "checksum": "fb049a982f1d78e70b9903dd8aa0276c"
- },
- "packrat/desc/shinyWidgets": {
- "checksum": "9ee53e863899c2f02ce422258af466e6"
- },
- "packrat/desc/sourcetools": {
- "checksum": "966c4e942ba212e977a95f8fff0eb356"
- },
- "packrat/desc/sp": {
- "checksum": "f4d3a199c9f286223ae4fd50604f3491"
- },
- "packrat/desc/stringi": {
- "checksum": "707c724a39ce6cc899b14ecf24461f5e"
- },
- "packrat/desc/stringr": {
- "checksum": "eab92d1eca86a5f575ee23cdebd6e70f"
- },
- "packrat/desc/sys": {
- "checksum": "c150e1320b344b91edd18d72fc260116"
- },
- "packrat/desc/tibble": {
- "checksum": "27ce2534318b4cd4c8f2788637982931"
- },
- "packrat/desc/tidyr": {
- "checksum": "2fd08fc73754cd99f71d815df8d01831"
- },
- "packrat/desc/tidyselect": {
- "checksum": "aa28fb533c22bb28979ba132ac5e1069"
- },
- "packrat/desc/tinytex": {
- "checksum": "65b2eb295405cbdd6deb7793cf708f67"
- },
- "packrat/desc/utf8": {
- "checksum": "a6333675a1d8cff4d92914270dfe470b"
- },
- "packrat/desc/uuid": {
- "checksum": "705fa9b3689400d5df5109ea675b6421"
- },
- "packrat/desc/vctrs": {
- "checksum": "7ef7d897b20e0e2dce72c4e487b8f494"
- },
- "packrat/desc/viridis": {
- "checksum": "492a402c60d47a773cbf879af54c752e"
- },
- "packrat/desc/viridisLite": {
- "checksum": "cadb310edb42e382b45f317c95a82f3b"
- },
- "packrat/desc/withr": {
- "checksum": "232dd4198e69feb9f13d9252a959f2e6"
- },
- "packrat/desc/xfun": {
- "checksum": "36b4cc4ea3818974a826ce03c1be20ca"
- },
- "packrat/desc/xtable": {
- "checksum": "526e6f7be3cf3228226e3aab27258be6"
- },
- "packrat/desc/yaml": {
- "checksum": "3bd7b41b3611da840639b44b8d984210"
- },
- "packrat/desc/zeallot": {
- "checksum": "42e12e4cc19c4759dca5c1d9df2df8d7"
- },
- "packrat/packrat.lock": {
- "checksum": "fb15f41ddb9677e07105e0a1a2647f68"
- },
- "questionbank.csv": {
- "checksum": "175ca12ec75f00ca7c70206dd2f9d69a"
- },
- "README.md": {
- "checksum": "d60b4111a2aeb3626277683ac3fa685e"
- },
- "server.R": {
- "checksum": "eb3e71e52dff27d34e631edf8647cb3b"
- },
- "ui.R": {
- "checksum": "65201375b4a582746a663b39826ebc11"
- },
- "www/correct.png": {
- "checksum": "945ba637cb488bec261a915c57f46823"
- },
- "www/Feature.css": {
- "checksum": "85657558e1a952435263181a71af7be8"
- },
- "www/homebut.PNG": {
- "checksum": "51c5e20738800c0efe53e0955e438111"
- },
- "www/incorrect.png": {
- "checksum": "a1f63d35ad885e28ec22d772da8b10a0"
- },
- "www/pdficon.png": {
- "checksum": "7476ee66d99e5a2ea3e96b9367d3f910"
- },
- "www/psu_icon.jpg": {
- "checksum": "dad861c34f3145d086de4af9f82262a6"
- },
- "www/spinner.gif": {
- "checksum": "03758f720ea72ca0332ed45dbfeb635d"
- }
- },
- "users": null
-}
diff --git a/server.R b/server.R
deleted file mode 100755
index d9fd340..0000000
--- a/server.R
+++ /dev/null
@@ -1,1525 +0,0 @@
-library(shiny)
-library(shinydashboard)
-library(shinyBS)
-library(shinyjs)
-library(shinyWidgets)
-library(dplyr)
-library(mosaic)
-library(plot3D)
-library(plotly)
-library(ggplot2)
-library(datasets)
-library(learnr)
-library(knitr)
-library(rmarkdown)
-library(shinyAce)
-library(rlocker)
-library(ggmap)
-
-bank <- read.csv("questionbank.csv")
-bank = data.frame(lapply(bank, as.character), stringsAsFactors = FALSE)
-
-source("helpers.R")
-
-shinyServer(function(input, output, session) {
- # Initialize Learning Locker connection
- connection <- rlocker::connect(
- session,
- list(
- base_url = "https://learning-locker.stat.vmhost.psu.edu/",
- auth = "Basic ZDQ2OTNhZWZhN2Q0ODRhYTU4OTFmOTlhNWE1YzBkMjQxMjFmMGZiZjo4N2IwYzc3Mjc1MzU3MWZkMzc1ZDliY2YzOTNjMGZiNzcxOThiYWU2",
- agent = rlocker::createAgent()
- )
- )
-
- # Setup demo app and user.
- currentUser <-
- connection$agent
-
- if (connection$status != 200) {
- warning(paste(connection$status, "\nTry checking your auth token."))
- }
-
- ##############end#########
- output$Previewcar <-
- renderTable({
- head(cars, 4)
- }, striped = TRUE, hover = TRUE, bordered = TRUE, spacing = 'xs')
-
- output$Previewtree <-
- renderTable({
- head(trees, 4)
- }, striped = TRUE, hover = TRUE, bordered = TRUE, spacing = 'xs')
-
- output$Previewiris <-
- renderTable({
- head(iris, 4)
- }, striped = TRUE, hover = TRUE, bordered = TRUE, spacing = 'xs')
-
- ###KNITR
- observeEvent(input$eval, {
- withBusyIndicatorServer("eval", {
- output$knitDoc <- renderUI({
- return(isolate(HTML(
- knit2html(
- text = input$rmd,
- fragment.only = TRUE,
- quiet = FALSE
- )
- )))
- })
-
- output$output <- renderPrint({
- return(isolate(eval(parse(text = input$code))))
- })
- })
- })
-
- output$knitDoc <- renderUI({
- input$eval
- return(isolate(HTML(
- knit2html(
- text = input$rmd,
- fragment.only = TRUE,
- quiet = FALSE
- )
- )))
- })
-
- output$output <- renderPrint({
- input$eval
- return(isolate(eval(parse(text = input$code))))
- })
-
- observeEvent(input$info0, {
- sendSweetAlert(
- session = session,
- title = "Instructions:",
- text = "Move the sliders or select from the dropdown menus and view the R code that produces the results.",
- type = NULL
- )
- })
- observeEvent(input$info, {
- sendSweetAlert(
- session = session,
- title = "Instructions:",
- text = "Select the variables or the dataset to be used. Select answers for the exercise.",
- type = NULL
- )
- })
- observeEvent(input$go2, {
- updateTabItems(session, 'tabs', 'VisualOne')
- })
-
- observeEvent(input$next2, {
- updateTabsetPanel(session, 'VisualOne', selected = 'panel2')
- })
-
- ############ Data Visualization ############
- ###########One Single Variable Plot##############
- output$oneDensity <-
- renderCachedPlot({
- if (input$dataset == 'cars') {
- if (input$carsVariable == 'speed') {
- if (input$plotType == 'plot') {
- plot(density(cars$speed),
- main = "Density Plot",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(speed), data = cars) +
- geom_density(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- ggtitle('Density Plot')
- }
- }
- else if (input$carsVariable == 'dist') {
- if (input$plotType == 'plot') {
- plot(density(cars$dist),
- main = "Density Plot",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(dist), data = cars) +
- geom_density(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- ggtitle('Density Plot')
- }
- }
- }
- else if (input$dataset == 'trees') {
- if (input$treesVariable == 'Girth') {
- if (input$plotType == 'plot') {
- plot(density(trees$Girth),
- main = "Density Plot",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(Girth), data = trees) +
- geom_density(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- ggtitle('Density Plot')
- }
- }
- else if (input$treesVariable == 'Height') {
- if (input$plotType == 'plot') {
- plot(density(trees$Height),
- main = "Density Plot",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(Height), data = trees) +
- geom_density(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- ggtitle('Density Plot')
- }
-
- }
- else if (input$treesVariable == 'Volume') {
- if (input$plotType == 'plot') {
- plot(density(trees$Volume),
- main = "Density Plot",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(Volume), data = trees) +
- geom_density(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- ggtitle('Density Plot')
- }
-
- }
- }
- },
- cacheKeyExpr = {
- list(input$dataset,
- input$carsVariable,
- input$plotType,
- input$treesVariable)
- })
-
- output$onehist <- renderCachedPlot({
- if (input$dataset == 'cars') {
- if (input$carsVariable == 'speed') {
- if (input$plotType == 'plot') {
- hist(cars$speed,
- main = "Histogram",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(speed), data = cars) +
- geom_histogram(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- ggtitle("Histogram")
- }
- }
- else if (input$carsVariable == 'dist') {
- if (input$plotType == 'plot') {
- hist(cars$dist,
- main = "Histogram",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(dist), data = cars) +
- geom_histogram(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- ggtitle("Histogram")
- }
-
- }
- }
- else if (input$dataset == 'trees') {
- if (input$treesVariable == 'Girth') {
- if (input$plotType == 'plot') {
- hist(trees$Girth,
- main = "Histogram",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(Girth), data = trees) +
- geom_histogram(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- ggtitle("Histogram")
- }
- }
- else if (input$treesVariable == 'Height') {
- if (input$plotType == 'plot') {
- hist(trees$Height,
- main = "Histogram",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(Height), data = trees) +
- geom_histogram(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- ggtitle("Histogram")
- }
- }
- else if (input$treesVariable == 'Volume') {
- if (input$plotType == 'plot') {
- hist(trees$Volume,
- main = "Histogram",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(Volume), data = trees) +
- geom_histogram(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- ggtitle("Histogram")
- }
-
- }
- }
- },
- cacheKeyExpr = {
- list(input$dataset,
- input$plotType,
- input$carsVariable,
- input$treesVariable)
- })
-
- output$onebar <-
- renderCachedPlot({
- if (input$dataset == 'cars') {
- if (input$carsVariable == 'speed') {
- if (input$plotType == 'plot') {
- barplot(cars$speed,
- main = "Bar Plot",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(speed), data = cars) +
- geom_freqpoly(bins = 30) +
- geom_area(
- stat = "bin",
- bins = 30,
- color = "darkblue",
- fill = "lightblue",
- alpha = 0.4
- ) +
- ggtitle('Frequency polygon')
- }
- }
- else if (input$carsVariable == 'dist') {
- if (input$plotType == 'plot') {
- barplot(cars$dist,
- main = "Bar Plot",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(dist), data = cars) +
- geom_freqpoly(bins = 30) +
- geom_area(
- stat = "bin",
- bins = 30,
- color = "darkblue",
- fill = "lightblue",
- alpha = 0.4
- ) +
- ggtitle('Frequency polygon')
- }
-
- }
- }
- else if (input$dataset == 'trees') {
- if (input$treesVariable == 'Girth') {
- if (input$plotType == 'plot') {
- barplot(trees$Girth,
- main = "Bar Plot",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(Girth), data = trees) +
- geom_freqpoly(bins = 30) +
- geom_area(
- stat = "bin",
- bins = 30,
- color = "darkblue",
- fill = "lightblue",
- alpha = 0.4
- ) +
- ggtitle('Frequency polygon')
- }
- }
- else if (input$treesVariable == 'Height') {
- if (input$plotType == 'plot') {
- barplot(trees$Height,
- main = "Bar Plot",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(Height), data = trees) +
- geom_freqpoly(bins = 30) +
- geom_area(
- stat = "bin",
- bins = 30,
- color = "darkblue",
- fill = "lightblue",
- alpha = 0.4
- ) +
- ggtitle('Frequency polygon')
- }
-
- }
- else if (input$treesVariable == 'Volume') {
- if (input$plotType == 'plot') {
- barplot(trees$Volume,
- main = "Bar Plot",
- xlab = input$carsVariable)
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(Volume), data = trees) +
- geom_freqpoly(bins = 30) +
- geom_area(
- stat = "bin",
- bins = 30,
- color = "darkblue",
- fill = "lightblue",
- alpha = 0.4
- ) +
- ggtitle('Frequency polygon')
- }
- }
- }
- }, cacheKeyExpr = {
- list(input$dataset,
- input$plotType,
- input$carsVariable,
- input$treesVariable)
- })
-
- output$oneqq <-
- renderCachedPlot({
- if (input$dataset == 'cars') {
- if (input$carsVariable == 'speed') {
- if (input$plotType == 'plot') {
- qqnorm(cars$speed)
- qqline(cars$speed, col = 'red')
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(sample = speed), data = cars) +
- stat_qq(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- stat_qq_line(color = 'red')
- }
- }
- else if (input$carsVariable == 'dist') {
- if (input$plotType == 'plot') {
- qqnorm(cars$dist)
- qqline(cars$dist, col = 'red')
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(sample = dist), data = cars) +
- stat_qq(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- stat_qq_line(color = 'red')
- }
- }
- }
- else if (input$dataset == 'trees') {
- if (input$treesVariable == 'Girth') {
- if (input$plotType == 'plot') {
- qqnorm(trees$Girth)
- qqline(trees$Girth, col = 'red')
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(sample = Girth), data = trees) +
- stat_qq(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- stat_qq_line(color = 'red')
- }
- }
- else if (input$treesVariable == 'Height') {
- if (input$plotType == 'plot') {
- qqnorm(trees$Height)
- qqline(trees$Height, col = 'red')
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(sample = Height), data = trees) +
- stat_qq(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- stat_qq_line(color = 'red')
- }
- }
- else if (input$treesVariable == 'Volume') {
- if (input$plotType == 'plot') {
- qqnorm(trees$Volume)
- qqline(trees$Volume, col = 'red')
- }
- else if (input$plotType == 'ggplot') {
- ggplot(aes(sample = Volume), data = trees) +
- stat_qq(color = "darkblue",
- fill = "lightblue",
- alpha = 0.4) +
- stat_qq_line(color = 'red')
- }
- }
- }
- }, cacheKeyExpr = {
- list(input$dataset,
- input$plotType,
- input$carsVariable,
- input$treesVariable)
- })
-
- output$DensityoneCode <- renderText({
- if (input$dataset == 'cars') {
- if (input$plotType == 'plot') {
- paste(
- 'R Code:',
- 'plot(density(',
- input$dataset,
- '$',
- input$carsVariable,
- '))',
- seq = ''
- )
- }
- else if (input$plotType == 'ggplot') {
- paste(
- 'R Code:',
- "ggplot(aes(",
- input$carsVariable,
- "), data=cars)+
- geom_density(color='darkblue', fill='lightblue', alpha=0.4)+
- ggtitle('Density Plot')",
- seq = ''
- )
- }
- }
- else{
- if (input$plotType == 'plot') {
- paste(
- 'R Code:',
- 'plot(density(',
- input$dataset,
- '$',
- input$treesVariable,
- ')',
- seq = ''
- )
- }
- else if (input$plotType == 'ggplot') {
- paste(
- 'R Code:',
- "ggplot(aes(",
- input$treesVariable,
- "), data=trees)+
- geom_density(color='darkblue', fill='lightblue', alpha=0.4)+
- ggtitle('Density Plot')",
- seq = ''
- )
- }
- }
- })
-
- output$HistogramoneCode <- renderText({
- if (input$dataset == 'cars') {
- if (input$plotType == 'plot') {
- paste('R Code:',
- 'hist(',
- input$dataset,
- '$',
- input$carsVariable,
- ')',
- seq = '')
- }
- else{
- paste(
- 'R Code:',
- "ggplot(aes(",
- input$carsVariable,
- "), data=cars)+
- geom_histogram(color='darkblue', fill='lightblue', alpha=0.4)+
- ggtitle('Histogram')",
- seq = ''
- )
- }
- }
- else{
- if (input$plotType == 'plot') {
- paste('R Code:',
- 'hist(',
- input$dataset,
- '$',
- input$treesVariable,
- ')',
- seq = '')
- }
- else{
- paste(
- 'R Code:',
- "ggplot(aes(",
- input$treesVariable,
- "), data=trees)+
- geom_histogram(color='darkblue', fill='lightblue', alpha=0.4)+
- ggtitle('Histogram')",
- seq = ''
- )
- }
- }
- })
-
- output$BarCode <- renderText({
- if (input$dataset == 'cars') {
- if (input$plotType == 'plot') {
- paste('R Code:',
- 'barplot(',
- input$dataset,
- '$',
- input$carsVariable,
- ')',
- seq = '')
- }
- else{
- paste(
- 'R Code:',
- "ggplot(aes(",
- input$carsVariable,
- "), data=cars)+
- geom_freqpoly(bins = 30)+
- geom_area(stat = 'bin', bins = 30,
- color='darkblue', fill='lightblue', alpha=0.4)+
- ggtitle('Frequency polygon')"
- )
- }
- }
- else{
- if (input$plotType == 'plot') {
- paste('R Code:',
- 'barplot(',
- input$dataset,
- '$',
- input$treesVariable,
- ')',
- seq = '')
- }
- else{
- paste(
- 'R Code:',
- "ggplot(aes(",
- input$treesVariable,
- "), data=trees)+
- geom_freqpoly(bins = 30)+
- geom_area(stat = 'bin', bins = 30,
- color='darkblue', fill='lightblue', alpha=0.4)+
- ggtitle('Frequency polygon')"
- )
- }
- }
- })
-
- output$qqCode <- renderText({
- if (input$dataset == 'cars') {
- if (input$plotType == 'plot') {
- paste0(
- 'R Code: ',
- 'qqnorm(',
- input$dataset,
- '$',
- input$carsVariable,
- ')',
- '\n qqline(',
- input$dataset,
- '$',
- input$carsVariable,
- ')',
- seq = ''
- )
- }
- else{
- paste(
- 'R Code:',
- "ggplot(aes(sample=",
- input$carsVariable,
- "), data=cars)+
- stat_qq(color='darkblue', fill='lightblue', alpha=0.4)+
- stat_qq_line(color='red')",
- seq = ''
- )
- }
- }
- else{
- if (input$plotType == 'plot') {
- paste0(
- 'R Code:',
- 'qqnorm(',
- input$dataset,
- '$',
- input$treesVariable,
- ')',
- 'qqline(',
- input$dataset,
- '$',
- input$treesVariable,
- ')',
- seq = ''
- )
- }
- else{
- paste(
- 'R Code:',
- "ggplot(aes(sample=",
- input$treesVariable,
- "), data=trees)+
- stat_qq(color='darkblue', fill='lightblue', alpha=0.4)+
- stat_qq_line(color='red')",
- seq = ''
- )
- }
-
- }
- })
- ###########Two Variables########
- output$twoscatter <- renderCachedPlot({
- if (input$continuous1 == 'Sepal.Length') {
- if (input$continuous2 == 'Petal.Length') {
- ggplot(aes(Sepal.Length, Petal.Length), data = iris) +
- geom_point(aes(colour = factor(Species))) +
- geom_smooth(aes(colour = factor(Species)),
- linetype = 'twodash',
- size = 0.8) +
- ggtitle("Scatter Plot")
- }
- else if (input$continuous2 == 'Petal.Width') {
- ggplot(aes(Sepal.Length, Petal.Width), data = iris) +
- geom_point(aes(colour = factor(Species))) +
- geom_smooth(aes(colour = factor(Species)),
- linetype = 'twodash',
- size = 0.8) +
- ggtitle("Scatter Plot")
- }
- }
- else if (input$continuous1 == 'Sepal.Width') {
- if (input$continuous2 == 'Petal.Length') {
- ggplot(aes(Sepal.Width, Petal.Length), data = iris) +
- geom_point(aes(colour = factor(Species))) +
- geom_smooth(aes(colour = factor(Species)),
- linetype = 'twodash',
- size = 0.8) +
- ggtitle("Scatter Plot")
- }
- else if (input$continuous2 == 'Petal.Width') {
- ggplot(aes(Sepal.Width, Petal.Width), data = iris) +
- geom_point(aes(colour = factor(Species))) +
- geom_smooth(aes(colour = factor(Species)),
- linetype = 'twodash',
- size = 0.8) +
- ggtitle("Scatter Plot")
- }
- }
- }, cacheKeyExpr = {
- list(input$continuous1, input$continuous2)
- })
-
-
- output$logTransformation <- renderCachedPlot({
- if (input$continuous1 == 'Sepal.Length') {
- if (input$continuous2 == 'Petal.Length') {
- ggplot(aes(Sepal.Length, Petal.Length), data = iris) +
- geom_point(aes(colour = factor(Species))) +
- coord_trans(x = "log2", y = "log2") +
- ggtitle("Log Transformation")
- #sunflowerplot(Sepal.Length~Petal.Length, data=iris, main="SunflowerPlot")
- }
- else if (input$continuous2 == 'Petal.Width') {
- ggplot(aes(Sepal.Length, Petal.Width), data = iris) +
- geom_point(aes(colour = factor(Species))) +
- coord_trans(x = "log2", y = "log2") +
- ggtitle("Log Transformation")
- #sunflowerplot(Sepal.Length~Petal.Width, data=iris, main="SunflowerPlot")
- }
- }
- else if (input$continuous1 == 'Sepal.Width') {
- if (input$continuous2 == 'Petal.Length') {
- ggplot(aes(Sepal.Width, Petal.Length), data = iris) +
- geom_point(aes(colour = factor(Species))) +
- coord_trans(x = "log2", y = "log2") +
- ggtitle("Log Transformation")
- }
- else if (input$continuous2 == 'Petal.Width') {
- ggplot(aes(Sepal.Width, Petal.Width), data = iris) +
- geom_point(aes(colour = factor(Species))) +
- coord_trans(x = "log2", y = "log2") +
- ggtitle("Log Transformation")
- #sunflowerplot(Sepal.Width~Petal.Width, data=iris, main="SunflowerPlot")
- }
- }
- }, cacheKeyExpr = {
- list(input$continuous1, input$continuous2)
- })
-
- output$twobar <- renderCachedPlot({
- if (input$continuous1 == 'Sepal.Length') {
- if (input$continuous2 == 'Petal.Length') {
- ggplot(data = iris,
- aes(
- x = Sepal.Length,
- y = Petal.Length,
- fill = factor(Species)
- )) +
- geom_bar(stat = "identity") +
- ggtitle('Bar Plot')
- }
- else if (input$continuous2 == 'Petal.Width') {
- ggplot(data = iris,
- aes(
- x = Sepal.Length,
- y = Petal.Width,
- fill = factor(Species)
- )) +
- geom_bar(stat = "identity") +
- ggtitle('Bar Plot')
- }
- }
- else if (input$continuous1 == 'Sepal.Width') {
- if (input$continuous2 == 'Petal.Length') {
- ggplot(data = iris,
- aes(
- x = Sepal.Width,
- y = Petal.Length,
- fill = factor(Species)
- )) +
- geom_bar(stat = "identity") +
- ggtitle('Bar Plot')
- }
- else if (input$continuous2 == 'Petal.Width') {
- ggplot(data = iris,
- aes(
- x = Sepal.Width,
- y = Petal.Width,
- fill = factor(Species)
- )) +
- geom_bar(stat = "identity") +
- ggtitle('Bar Plot')
- }
- }
- }, cacheKeyExpr = {
- list(input$continuous1, input$continuous2)
- })
-
-
- output$twobox <- renderCachedPlot({
- if (input$continuous1 == 'Sepal.Length') {
- if (input$continuous2 == 'Petal.Length') {
- ggplot(data = iris,
- aes(
- x = Sepal.Length,
- y = Petal.Length,
- color = Species
- )) +
- geom_boxplot() +
- ggtitle('Boxplot')
- }
- else if (input$continuous2 == 'Petal.Width') {
- ggplot(data = iris,
- aes(
- x = Sepal.Length,
- y = Petal.Width,
- color = Species
- )) +
- geom_boxplot() +
- ggtitle('Boxplot')
- }
- }
- else if (input$continuous1 == 'Sepal.Width') {
- if (input$continuous2 == 'Petal.Length') {
- ggplot(data = iris,
- aes(
- x = Sepal.Width,
- y = Petal.Length,
- color = Species
- )) +
- geom_boxplot() +
- ggtitle('Boxplot')
- }
- else if (input$continuous2 == 'Petal.Width') {
- ggplot(data = iris,
- aes(
- x = Sepal.Width,
- y = Petal.Width,
- color = Species
- )) +
- geom_boxplot() +
- ggtitle('Boxplot')
- }
- }
- }, cacheKeyExpr = {
- list(input$continuous1, input$continuous2)
- })
-
- output$twoscattercode <- renderText({
- paste(
- 'R Code:',
- "ggplot(aes(",
- input$continuous1,
- ',',
- input$continuous2,
- "), data=iris)+
- geom_point(aes(colour = factor(Species)))+
- geom_smooth(aes(colour = factor(Species)), linetype='twodash', size=0.8)+
- ggtitle('Scatter Plot')",
- seq = ''
- )
- })
-
- output$logTransformationCode <- renderText({
- paste(
- 'R Code:',
- "ggplot(aes(",
- input$continuous1,
- ',',
- input$continuous2,
- "), data=iris)+
- geom_point(aes(colour = factor(Species)))+
- coord_trans(x='log2', y='log2')+
- ggtitle('Log Transformation')",
- seq = ''
- )
- })
-
- output$twobarcode <- renderText({
- paste(
- 'R Code:',
- "ggplot(data=iris, aes(",
- input$continuous1,
- ',',
- input$continuous2,
- "fill=factor(Species)))+
- geom_bar(stat='identity')+
- ggtitle('Bar Plot')",
- seq = ''
- )
- })
-
- output$twoboxcode <- renderText({
- paste(
- 'R Code:',
- "ggplot(data=iris, aes(",
- input$continuous1,
- ',',
- input$continuous2,
- "color=Species)) +
- geom_boxplot()+
- ggtitle('Boxplot')",
- seq = ''
- )
- })
-
-
- ###########Exercises Part###################
- # observeEvent(input$submit, {
- # updateButton(session, "nextq", disabled = FALSE)
- # })
- #
- # observeEvent(input$submit, {
- # updateButton(session, "submit", disabled = TRUE)
- # })
-
- observeEvent(input$nextq, {
- # updateButton(session, "submit", disabled = FALSE)
- # updateButton(session, "nextq", disabled = TRUE)
- updateSelectInput(session,
- "answer",
- "pick an answer from below",
- c("", "A", "B", "C"))
- output$mark <- renderUI({
- img(src = NULL, width = 30)
- })
- })
-
-
- #### question bank ####
- value <- reactiveValues(index = 1,
- mistake = 0,
- correct = 0)
- ans <- as.matrix(bank[1:14, 6])
- #ans <- data.frame(ans)
- index_list <- reactiveValues(list = sample(2:14, 10, replace = FALSE))
-
- observeEvent(input$nextq, {
- value$answerbox <- value$index
- index_list$list = index_list$list[-1]
- value$index <- index_list$list[1]
- value$answerbox <- value$index
-
- updateButton(session, "nextq", disabled = TRUE)
- updateButton(session, "submit", disabled = FALSE)
- })
-
- output$question <- renderUI({
- h4(bank[value$index, 2])
- # radioButtons(inputId = bank[value$index,1], label= bank[value$index, 2],
- # choiceNames=c(bank[value$index, 3], bank[value$index, 4], bank[value$index, 5]),
- # choiceValues = c("A", "B", "C"))
- })
-
- output$options <- renderUI({
- str1 <- paste("A.", bank[value$index, 3])
- str2 <- paste("B.", bank[value$index, 4])
- str3 <- paste("C.", bank[value$index, 5])
- HTML(paste(str1, str2, str3, sep = '
'))
- })
-
-
- observeEvent(input$answer, {
- req(input$answer, input$answer != '')
- answer <- isolate(input$answer)
- interacted_statement <- rlocker::createStatement(list(
- verb = list(display = "interacted"),
- object = list(
- id = paste0(getCurrentAddress(session), "#", value$index),
- name = paste('Question', value$index),
- description = bank[value$index, 2]
-
- ),
- result = list(
- success = NA,
- response = paste(getResponseText(value$index, answer))
- )
- ))
-
- # Store statement in locker and return status
- status <- rlocker::store(session, interacted_statement)
-
- print(interacted_statement) # remove me
- print(status) # remove me
- })
-
-
- getResponseText <- function(index, answer) {
- if (answer == 'A') {
- key = 3
- } else if (answer == 'B') {
- key = 4
- } else {
- key = 5
- }
- return(bank[index, key])
- }
-
- observeEvent(input$submit, {
- if (length(index_list$list) == 1) {
- updateButton(session, "nextq", disabled = TRUE)
- updateButton(session, "submit", disabled = TRUE)
- updateButton(session, "reset", disabled = FALSE)
- }
- else{
- updateButton(session, "nextq", disabled = FALSE)
- updateButton(session, "submit", disabled = TRUE)
- updateButton(session, "reset", disabled = FALSE)
- }
-
- # output$progress<-renderUI({
- # paste("You are currently on problem", 11-length(index_list$list), "/10")
- # })
-
- answer <- isolate(input$answer)
-
- statement <- rlocker::createStatement(list(
- verb = list(display = "answered"),
- object = list(
- id = paste0(getCurrentAddress(session), "#", value$index),
- name = paste('Question', value$index),
- description = bank[value$index, 2]
- ),
- result = list(
- success = any(answer == ans[value$index, 1]),
- response = paste(getResponseText(value$index, answer))
- )
- ))
-
- # Store statement in locker and return status
- status <- rlocker::store(session, statement)
-
- print(statement) # remove me
- print(status) # remove me
-
- output$mark <- renderUI({
- if (any(answer == ans[value$index, 1])) {
- img(src = "correct.png", width = 30)
- }
- else{
- ig <- img(src = "incorrect.png", width = 30)
- w <-
- paste("You picked", answer, ", The correct answer is", ans[value$index, 1])
- HTML(paste(ig, w), sep = ' ')
- }
- })
- })
-
- observeEvent(input$reset, {
- updateButton(session, "submit", disabled = FALSE)
- updateButton(session, "reset", disable = TRUE)
- updateSelectInput(session,
- "answer",
- "pick an answer from below",
- c("", "A", "B", "C"))
- index_list$list <-
- c(index_list$list, sample(2:14, 10, replace = FALSE))
- value$index <- 1
- value$answerbox = value$index
- ans <- as.matrix(bank[1:14, 6])
- output$mark <- renderUI({
- img(src = NULL, width = 30)
- })
- })
-
- ###### Maps ######
- #a. usMap
- output$usMapOut1 <- renderCachedPlot({
- USArrests2 <- USArrests %>% mutate(state = row.names(.))
- if (input$usMap1 == 'borders' & input$usMap2 == 'compact') {
- mUSMap(
- USArrests2,
- key = "state",
- fill = "UrbanPop",
- plot = 'borders',
- style = 'compact'
- )
- }
- else if (input$usMap1 == 'borders' & input$usMap2 == 'real') {
- mUSMap(
- USArrests2,
- key = "state",
- fill = "UrbanPop",
- plot = 'borders',
- style = 'real'
- )
- }
- else if (input$usMap1 == 'frame' & input$usMap2 == 'compact') {
- mUSMap(
- USArrests2,
- key = "state",
- fill = "UrbanPop",
- plot = 'frame',
- style = 'compact'
- )
- }
- else {
- mUSMap(
- USArrests2,
- key = "state",
- fill = "UrbanPop",
- plot = 'frame',
- style = 'real'
- )
- }
- }, cacheKeyExpr = {
- list(input$usMap1, input$usMap2)
- })
-
- output$usMapOut2 <- renderUI ({
- tags$code(
- 'mUSMap(USArrests2, key = "state", fill = "UrbanPop", plot = "',
- input$usMap1,
- '", style = "',
- input$usMap2,
- '")'
- )
- })
-
- #plotly US Map - code
- output$plotlyUScode <- renderUI ({
- tags$code('p <- plot_geo(df, locationmode = "USA-states", sizes = c(1, 250))')
- })
-
- #plotly US Map
- output$plotlyUSMap <- renderPlotly({
- df <-
- read.csv(
- 'https://raw.githubusercontent.com/plotly/datasets/master/2014_us_cities.csv'
- )
- df$q <- with(df, cut(pop, quantile(pop)))
- levels(df$q) <-
- paste(c("1st", "2nd", "3rd", "4th", "5th"), "Quantile")
- df$q <- as.ordered(df$q)
-
- g <- list(
- scope = 'usa',
- projection = list(type = 'albers usa'),
- showland = TRUE,
- landcolor = toRGB("gray85"),
- subunitwidth = 1,
- countrywidth = 1,
- subunitcolor = toRGB("white"),
- countrycolor = toRGB("white")
- )
-
- p <-
- plot_geo(df, locationmode = 'USA-states', sizes = c(1, 250)) %>%
- add_markers(
- x = ~ lon,
- y = ~ lat,
- size = ~ pop,
- color = ~ q,
- hoverinfo = "text",
- text = ~ paste(df$name, "
", df$pop / 1e6, " million")
- ) %>%
- layout(title = '2014 US city populations
(Click legend to toggle)', geo = g)
- g
- p
- })
-
-
- ###### 3D Plots ######
- #a. Normal Simulation via Plotly
- output$plotly1 <- renderPlotly ({
- plot_ly(
- x = rnorm(input$Exsel1),
- y = rnorm(input$Exsel1),
- z = rnorm(input$Exsel1),
- type = 'scatter3d',
- mode = 'markers'
- )
- })
-
- output$ExCode <- renderUI ({
- tags$code(
- 'plot_ly(x = rnorm(',
- input$Exsel1,
- '), y = rnorm(',
- input$Exsel1,
- '), z = rnorm(',
- input$Exsel1,
- '), type = "scatter3d", mode = "markers")'
- )
- })
-
-
- output$hover <- renderPrint({
- dataHover <- event_data("plotly_hover")
- if (is.null(dataHover)) {
- "Hover events appear here (unhover to clear)"
- }
- else {
- dataHover
- }
- })
-
- output$click <- renderPrint({
- dataClick <- event_data("plotly_click")
- if (is.null(dataClick)) {
- "Click events appear here (double-click to clear)"
- }
- else {
- dataClick
- }
- })
-
- # output$ExCode <- renderUI ({
- # if (input$Exsel == 'Scatter Plot') {
- # tags$code('plot_ly(x = rnorm(', input$Exsel1, '), y = rnorm(', input$Exsel1, '), z = rnorm(', input$Exsel1, '), type = "scatter3d", mode = "markers")')
- # }
- # else if (input$Exsel == 'Line Plot') {
- # tags$code('plot_ly(x = rnorm(', input$Exsel1, '), y = rnorm(', input$Exsel1, '), z = rnorm(', input$Exsel1, '), type = "scatter3d", mode = "lines")')
- # }
- # else {
- # tags$code('plot_ly(x = rnorm(', input$Exsel1, '), y = rnorm(', input$Exsel1, '), z = rnorm(', input$Exsel1, '), type = "mesh3d", mode = "markers")')
- # }
- # })
-
- #b. Basic Scatter Plot
- output$basicRcode <- renderUI ({
- tags$code(
- 'scatter3D(x, y, z, clab = c("Sepal", "Width (cm)"), xlab = input$basicX, ylab = input$basicY, zlab = input$basicZ)'
- )
- })
-
- output$bspTable <- renderTable ({
- head(iris)
- })
-
- output$bspOut1 <- renderPlot({
- x <- iris[, input$basicX]
- y <- iris[, input$basicY]
- z <- iris[, input$basicZ]
- scatter3D(
- x,
- y,
- z,
- clab = c("Sepal", "Width (cm)"),
- xlab = input$basicX,
- ylab = input$basicY,
- zlab = input$basicZ
- )
- })
-
- # #c.
- # output$bspTableCopy <- renderTable ({
- # head(iris)
- # })
- #
- # output$bspOut2 <- renderPlot ({
- # scatter3D(x, y, z, bty = "g", pch = 18,
- # col.var = as.integer(iris$Species),
- # col = c("#1B9E77", "#D95F02", "#7570B3"),
- # pch = 18, ticktype = "detailed",
- # colkey = list(at = c(2, 3, 4), side = 1,
- # addlines = TRUE, length = 0.5, width = 0.5,
- # labels = c("setosa", "versicolor", "virginica")) )
- # })
-
- # #d. 3D Plots with Confidence Intervals
- # output$CIOut <- renderPlot ({
- # x <- iris[, input$CIX]
- # y <- iris[, input$CIY]
- # z <- iris[, input$CIZ]
- # CI <- list(z = matrix(nrow = length(x),
- # data = rep(0.1, 2*length(x))))
- # scatter3D(x, y, z, phi = 0, bty = "g", col = gg.col(100),
- # pch = 18, CI = CI)
- # })
-
- #e. 3D Texts Plot
- output$textRcode <- renderUI ({
- tags$code(
- 'with(USArrests, text3D(Murder, Assault, Rape,
- labels = rownames(USArrests), colvar = UrbanPop,
- col = gg.col(100), theta = 60, phi = 20,
- xlab = "Murder", ylab = "Assault", zlab = "Rape",
- main = "USA arrests", cex = 0.6,
- bty = "g", ticktype = "detailed", d = 2,
- clab = c("Urban","Pop"), adj = 0.5, font = 2))'
- )
- })
-
- output$textTable <- renderTable ({
- head(USArrests)
- })
-
- output$textOut <- renderPlot ({
- data(USArrests)
- with(
- USArrests,
- text3D(
- Murder,
- Assault,
- Rape,
- labels = rownames(USArrests),
- colvar = UrbanPop,
- col = gg.col(100),
- theta = 60,
- phi = 20,
- xlab = "Murder",
- ylab = "Assault",
- zlab = "Rape",
- main = "USA arrests",
- cex = 0.6,
- bty = "g",
- ticktype = "detailed",
- d = 2,
- clab = c("Urban", "Pop"),
- adj = 0.5,
- font = 2
- )
- )
- })
-
- ###### 2D Line Plots ######
- output$plotly2 <- renderPlotly ({
- trace_0 <-
- rnorm(as.numeric(input$LPsel1), mean = as.numeric(input$LPnum1))
- trace_1 <-
- rnorm(as.numeric(input$LPsel1), mean = as.numeric(input$LPnum2))
- x = c(1:as.numeric(input$LPsel1))
- data <- data.frame(x, trace_0, trace_1)
- if (input$LPSEL1 == 'Lines' & input$LPSEL2 == 'Lines') {
- plot_ly(
- data,
- x = ~ x,
- y = ~ trace_0,
- name = 'trace 0',
- type = 'scatter',
- mode = 'lines'
- ) %>%
- add_trace(y = ~ trace_1,
- name = 'trace 1',
- mode = 'lines')
- }
- else if (input$LPSEL1 == 'Markers' &
- input$LPSEL2 == 'Markers') {
- plot_ly(
- data,
- x = ~ x,
- y = ~ trace_0,
- name = 'trace 0',
- type = 'scatter',
- mode = 'markers'
- ) %>%
- add_trace(y = ~ trace_1,
- name = 'trace 1',
- mode = 'markers')
- }
- else if (input$LPSEL1 == 'Lines' & input$LPSEL2 == 'Markers') {
- plot_ly(
- data,
- x = ~ x,
- y = ~ trace_0,
- name = 'trace 0',
- type = 'scatter',
- mode = 'lines'
- ) %>%
- add_trace(y = ~ trace_1,
- name = 'trace 1',
- mode = 'markers')
- }
- else {
- plot_ly(
- data,
- x = ~ x,
- y = ~ trace_0,
- name = 'trace 0',
- type = 'scatter',
- mode = 'markers'
- ) %>%
- add_trace(y = ~ trace_1,
- name = 'trace 1',
- mode = 'lines')
- }
- })
-
- output$LPCode <- renderUI ({
- tags$code(
- 'plot_ly(data, x = ~x, y = ~trace_0, name = "trace 0", type = "scatter", mode = "lines") %>%
- add_trace(y = ~trace_1, name = "trace 1", mode = "markers + lines")'
- )
- })
-
- ###### Contour Plots and Heatmaps ######
- #contour plot
- output$proteinInt <- renderPlot ({
- potentials <-
- as.matrix(read.table(
- "MULTIPOT_lu.txt",
- row.names = 1,
- header = TRUE
- ))
- matrix.axes <- function(data) {
- # Do the rows, las=2 for text perpendicular to the axis
- x <- (1:dim(data)[1] - 1) / (dim(data)[1] - 1)
-
- axis(
- side = 1,
- at = x,
- labels = rownames(data),
- las = 2
- )
-
- # Do the columns
- x <- (1:dim(data)[2] - 1) / (dim(data)[2] - 1)
-
- axis(
- side = 2,
- at = x,
- labels = colnames(data),
- las = 2
- )
-
- }
- filled.contour(potentials,
- plot.axes = matrix.axes(potentials),
- main = "Protein-Protein Interaction Potential")
- })
-
- output$plotly3 <- renderPlotly({
- if (input$contourLabel == FALSE) {
- plot_ly(z = volcano,
- type = "contour",
- colors = colorRamp(c("purple", "green")))
- }
- else {
- plot_ly(
- z = volcano,
- type = "contour",
- colors = colorRamp(c("purple", "green")),
- contours = list(showlabels = TRUE)
- )
- }
- })
-
- #contour plot r code
- output$CPCode1 <- renderUI ({
- if (input$contourLabel == FALSE) {
- tags$code(
- 'plot_ly(z = volcano, type = "contour", colors = colorRamp(c("purple", "green")))'
- )
- }
- else {
- tags$code(
- 'plot_ly(z = volcano, type = "contour", colors = colorRamp(c("purple", "green")), contours = list(showlabels = TRUE))'
- )
- }
- })
-
- #heatmap
- output$plotly4 <- renderPlotly({
- if (input$heatmapCol == 'purple+green') {
- plot_ly(z = volcano,
- type = "heatmap",
- colors = colorRamp(c("purple", "green")))
- }
- else if (input$heatmapCol == 'yellow+red') {
- plot_ly(z = volcano,
- type = "heatmap",
- colors = colorRamp(c("yellow", "red")))
- }
- else if (input$heatmapCol == 'pink+purple') {
- plot_ly(z = volcano,
- type = "heatmap",
- colors = colorRamp(c("pink", "purple")))
- }
- else {
- plot_ly(z = volcano,
- type = "heatmap",
- colors = colorRamp(c("white", "black")))
- }
- })
-
- #heatmaps r code
- output$CPCode2 <- renderUI ({
- if (input$heatmapCol == 'purple+green') {
- tags$code(
- 'plot_ly(z = volcano, type = "heatmap", colors = colorRamp(c("purple", "green")))'
- )
- }
- else if (input$heatmapCol == 'yellow+red') {
- tags$code('plot_ly(z = volcano, type = "heatmap", colors = colorRamp(c("yellow", "red")))')
- }
- else if (input$heatmapCol == 'pink+purple') {
- tags$code('plot_ly(z = volcano, type = "heatmap", colors = colorRamp(c("pink", "purple")))')
- }
- else {
- tags$code('plot_ly(z = volcano, type = "heatmap", colors = colorRamp(c("white", "black")))')
- }
- })
-
- output$cars1 <- renderPlotly ({
- head(mtcars)
- data = as.matrix(mtcars)
- data = apply(data, 2, function(x) {
- x / mean(x)
- })
- plot_ly(
- x = colnames(data),
- y = rownames(data),
- z = data,
- type = "heatmap"
- )
- })
-
-})
\ No newline at end of file
diff --git a/ui.R b/ui.R
deleted file mode 100755
index 92d3257..0000000
--- a/ui.R
+++ /dev/null
@@ -1,619 +0,0 @@
-library(shiny)
-library(shinydashboard)
-library(shinyBS)
-library(shinyjs)
-library(shinyWidgets)
-library(dplyr)
-library(mosaic)
-library(plotly)
-library(ggplot2)
-library(datasets)
-library(shinyAce)
-library(shinycssloaders)
-library(rlocker)
-library(ggmap)
-
-source("helpers.R")
-
-header = dashboardHeader(title = 'Data Visualization',
- tags$li(class = "dropdown",
- actionLink("info", icon("info"), class = "myClass")),
- tags$li(class = "dropdown",
- tags$a(href = "https://shinyapps.science.psu.edu/",
- icon("home")))
- )
-
-sidebar = dashboardSidebar(
- sidebarMenu(id = 'tabs',
- menuItem('Overview', tabName = 'overview', icon = icon("dashboard")),
- menuItem('Simple Data Visualization', tabName = 'VisualOne',
- icon = icon('wpexplorer')),
- menuItem('Advanced Data Visualization', tabName = 'exp4', icon = icon('wpexplorer'))
- )
-)
-
-body = dashboardBody(
- tags$head(
- tags$link(rel = "stylesheet", type = "text/css", href = "Feature.css")
- ),
- tags$style(type = "text/css", ".content-wrapper,.right-side {background-color: white;}"),
-
- useShinyjs(),
- tabItems(
- tabItem(tabName = 'overview',
- tags$a(href='http://stat.psu.edu/', tags$img(src = 'psu_icon.jpg', align = "left", width = 180)),
- br(),
- br(),
- br(),
- h3(strong('About:')),
- h4('This app illustrates R code for data visualization.'),
- br(),
-
- h3(strong('Instructions:')),
- h4(tags$li("Simple data visualization section introduces
- how to create some commonly used plots with ggplot and Rplot with exercises at the end.")),
- h4(tags$li("Advanced Data Visualization section
- introduces 3D plots, line plots, contour plots, and heat maps.")),
- br(),
- div(style = 'text-align: center',
- bsButton(inputId = 'go2', label = 'Explore',
- icon = icon('bolt'), size = 'large', class='circle grow')),
- br(),
- h3(strong('Acknowledgements:')),
- h4('This application was coded and developed by Anna (Yinqi) Zhang in 2018 and Yiyun Gong in 2019.
- Special Thanks to Grace (Yubaihe) Zhou for being incredibly helpful with programming issues.'),
- h4('Packages used: EDAWR, ggmap, mosaic, plotly, ggplot2, plot3D, shinyAce.')
- ),
-
- ############ Data Visualization Introduction #######
- ######Characterizing one single Variable######
-
- tabItem(tabName = 'VisualOne',
- # div(style="display: inline-block;vertical-align:top;",
- # tags$a(href='https://shinyapps.science.psu.edu/',tags$img(src='homebut.PNG', width = 19))
- # ),
- # div(style="display: inline-block;vertical-align:top;",
- # circleButton("info0",icon = icon("info"), status = "myClass",size = "xs")
- # ),
-
- tabsetPanel(type = 'tabs',
- ###### One Variable ######
- tabPanel('Single Variable',
- h3(strong('One Variable Visualization')),
- # br(),
- h4('This section illustrates R code for data
- visulization includes plot() and ggplot() with one Variable'),
-
- br(),
- sidebarLayout(
- sidebarPanel(
- id="sidebar",
- tags$head(tags$style(
- HTML('#sidebar{
- background-color: #b8f28c;
- }')
- )),
- ####select between plot and ggplot
- selectInput(inputId="plotType", label="Select Plot Package",
- choices = c('plot', 'ggplot'),
- selected = 'plot'),
-
- ####select datasets
- selectInput(inputId="dataset", label="Select Dataset:",
- choices= c('cars', 'trees'),
- selected = 'cars'),
-
- ####variable options for 'car' dataset
- conditionalPanel(
- condition = "input.dataset == 'cars'",
- selectInput(inputId="carsVariable", label="Select Variables",
- choices = c("speed", "dist"),
- selected = 'speed')
- ),
-
- ####variable option for 'trees' dataset
- conditionalPanel(
- condition = "input.dataset == 'trees'",
- selectInput(inputId="treesVariable", label="Select Variables",
- choices = c("Girth", "Height", "Volume"),
- selected = 'Girth')
- ),
- #tags$img(src="DataView.pdf")
- #includeHTML("ViewData.nb.html")
- #tags$a(tags$img(src="pdficon.png"), href="DataView.pdf", download="Viewdata.pdf")
- # br(),
- #downloadLink("downloadData", "Preview of Data"),
-
- checkboxInput("previewData", "Preview of Datasets")
-
- ),
-
- mainPanel(
- conditionalPanel(
- condition="input.previewData==1",
- fluidRow(
- column(2, p(strong("Dataset cars"))),
- column(4, tableOutput("Previewcar")),
- column(2, p(strong("Dataset trees"))),
- column(4, tableOutput("Previewtree"))
- )
- ),
- fluidRow(
- column(6,plotOutput(outputId="oneDensity", width="100%",height="300px")%>% withSpinner(color="#1E7B14")),
- column(6,plotOutput(outputId="onehist", width="100%",height="300px")%>% withSpinner(color="#1E7B14"))
- ),
- fluidRow(
- column(width = 6, textOutput(outputId="DensityoneCode")),
- column(width = 6, textOutput(outputId="HistogramoneCode"))
- ),
- br(),
- br(),
- br(),
- br(),
- tags$head(tags$style("#qqCode, #BarCode, #DensityoneCode, #HistogramoneCode,
- #twoscattercode, #logTransformationCode, #twobarcode, #twoboxcode
- {color: #005485}"
- )),
-
-
- fluidRow(
- column(6,plotOutput(outputId="onebar", width="100%",height="300px")%>% withSpinner(color="#1E7B14")),
- column(6,plotOutput(outputId="oneqq", width="100%",height="300px")%>% withSpinner(color="#1E7B14"))
- ),
- fluidRow(
- column(width = 6, textOutput(outputId="BarCode")),
- column(width = 6, textOutput(outputId="qqCode"))
- ),
- br(),
- br()
- # div(style = 'text-align: center',
- # bsButton(inputId = 'next2', label = 'Next Section',
- # icon = icon('angle-double-right'), size = 'small',
- # class='circle grow'))
- )
- )
- ),
-
- ###### Two Variable ######
- tabPanel(title='Two Variables', value='panel2',
- h3(strong('Two Variables Visualization')),
- # br(),
- h4('This section illustrates R code for data
- visulization uses ggplot() with Two Variables'),
-
- br(),
- sidebarLayout(
- sidebarPanel(
- id="sidebar",
- tags$head(tags$style(
- HTML('#sidebar{
- background-color: #b8f28c;
- }')
- )),
- ####select continuous variable 1
- selectInput(inputId="continuous1",
- label="Select First Continuous Variable as X:",
- choices= c('Sepal.Length',
- 'Sepal.Width'),
- selected = 'Sepal.Length'),
-
- selectInput(inputId="continuous2",
- label="Select Second Continuous Variable as Y:",
- choices= c('Petal.Length',
- 'Petal.Width'),
- selected = 'Petal.Length'),
-
- selectInput(inputId="CategoryVar",
- label="Select Categorical Variable:",
- choices= 'Species',
- selected = 'Species'),
-
- checkboxInput("previewDataTwo", "Preview of Datasets")
-
-
- ),
-
- mainPanel(
- conditionalPanel(
- condition="input.previewDataTwo==1",
- fluidRow(
- column(2, p(strong("Dataset iris"))),
- column(5, tableOutput("Previewiris"))
- )
- #tableOutput("Previewiris")
- #p("First four rows of dataset iris")
- ),
- fluidRow(
- column(6,plotOutput(outputId="twoscatter")%>% withSpinner(color="#1E7B14")),
- column(6,plotOutput(outputId="logTransformation")%>% withSpinner(color="#1E7B14"))
- ),
- br(),
- fluidRow(
- column(6,textOutput(outputId="twoscattercode")),
- column(6,textOutput(outputId="logTransformationCode"))
- ),
- br(),
- fluidRow(
- column(6,plotOutput(outputId="twobar")%>% withSpinner(color="#1E7B14")),
- column(6,plotOutput(outputId="twobox")%>% withSpinner(color="#1E7B14"))
- ),
- br(),
- fluidRow(
- column(6,textOutput(outputId="twobarcode")),
- column(6,textOutput(outputId="twoboxcode"))
- )
- )
- )
- ),
-
- tabPanel(title='Exercises', value='panel2',
- #uiOutput("urltest"))
- #includeMarkdown("test.Rmd")
- #system.file("knitr", package="shinyAce")
-
- fluidRow(
- column(6,
- verticalLayout(
- h2("Instructions"),
- wellPanel(
- style = "background-color: #9ff28c",
- tags$div(tags$ul(
- tags$li("You can try the following questions"),
- tags$li("Test your code with the following R script
- box with the RMarkDown output under the 'Knitted Output' header"),
- tags$li("In each turn, 10 questions will be randomly draw from the question bank."),
- tags$li("Uncomment the sample code to start to explore.")
- ),
- style = "background-color: #9ff28c")),
- h2("Exercises"),
- uiOutput('progress'),
- wellPanel(style = "background-color: #b8f28c",
- uiOutput("question")%>% withSpinner(color="#1E7B14"),
- uiOutput("options"),
- br(),
- selectInput("answer", "Select your answer from below", c("","A", "B", "C")),
- uiOutput("mark"),
- tags$style(type='text/css', '#question{font-size: 15px;
- background-color: #b8f28c;color: black;}',
- '.well { padding: 10px; margin-bottom: 15px; max-width: 1000px; }')
-
- ),
- fluidPage(
- tags$head(
- tags$style(HTML('#submit{background-color:#5a992b; color:white}')),
- tags$style(HTML('#eval{background-color:#5a992b; color:white}')),
- tags$style(HTML('#nextq{background-color:#5a992b; color:white}'))
- ),
- fluidRow(
- column(12, align="center",
- div(style="display: inline-block", actionButton(inputId = 'submit', label = 'Submit', style="success")),
- div(style="display: inline-block;vertical-align:top; width: 30px;",HTML("
")),
- div(style="display: inline-block", bsButton(inputId = "nextq",label = "Next", disabled = TRUE)),
- div(style="display: inline-block;vertical-align:top; width: 30px;",HTML("
")),
- div(style="display: inline-block", bsButton(inputId = "reset",label = "Restart", style="danger", disabled = TRUE)))
- )),
-
-
- # column(3,
- # actionButton(inputId = 'submit', label = 'Submit', style="success")
- # ),
- # column(3,
- # bsButton(inputId = "nextq",label = "Next", style='warning', disabled = TRUE)
- # ),
- # column(3,
- # bsButton(inputId = "reset",label = "Restart", style="danger", )
- # )),
- br(),
-
- ##########try rlocker statement#########
- # tags$samp(
- # htmlOutput("statements")
- # ),
- ##########end#############
-
- h2("Try Your Code"),
- aceEditor("rmd", mode="markdown", value='This is some markdown text. It may also have embedded R code
-which will be executed. Please also read the output
-message for more hints.
-
-you can add a new code chuck with following two lines
-```{r}
-```
-```{r}
-#structure on datasets we used in previous cases
-str(cars)
-str(trees)
-str(iris)
-```
-It can even include graphical elements.
-```{r}
-#ggplot with one variable
-#ggplot(aes(x=dist), data=cars)+geom_histogram()
-```
-```{r}
-#ggplot with two variable
-#ggplot(aes(x=Sepal.Length, y=Petal.Length), data=iris)+
-#geom_line()
-```
-```{r}
-#Rplot with one variable
-plot(cars$speed)
-```
-'),
- column(6,
- withBusyIndicatorUI(
- actionButton("eval", "Run")))
- )),
- br(),
- column(6,
- h2("Knitted Output"),
- htmlOutput("knitDoc")
- )
- )
- )
- )
- ),
- ######Advanced
- tabItem(tabName = 'exp4',
- tabsetPanel(type = 'tabs',
-
- ###### Maps ######
- tabPanel('Maps',
- br(),
- box(title = NULL, style = 'background-color: #dce775', width = NULL, height = NULL,
-
- selectInput(inputId = 'mapsOp', label = 'Make a US/World Map with ggplot2',
- choices = c('US Map - ggplot2', 'US Map - plotly'), selected = 'US Map'),
- bsPopover(id = 'mapsOp', title = " ", content = 'mUSMap takes in one dataframe that includes information about different
- US states and returns this data or a ggplot object constructed with the data. mWorldMap does the same but it
- takes in one dataframe that includes information about different countries.', trigger = 'click'),
-
- # conditionalPanel('input.mapsOp == "World Map"',
- # sliderInput(inputId = 'worldMap1', label = 'The Number of Color Scales', min = 1, max = 10,
- # value = 5, step = 1, ticks = TRUE)
- # ),
-
- conditionalPanel('input.mapsOp == "US Map - ggplot2"',
- selectInput(inputId = 'usMap1', label = 'Plot Option', choices = c('borders', 'frame')),
- selectInput(inputId = 'usMap2', label = 'Style Option', choices = c('compact', 'real'))
- )
-
- ),
-
- # box(title = NULL, style = 'background-color: #f0f4c3', width=NULL, height = NULL,
-
- conditionalPanel('input.mapsOp == "US Map - ggplot2"',
- div(style = "background-color: #f0f4c3",
- tags$strong('R code: '),
- uiOutput('usMapOut2'),
- br(),
- fluidRow(
- column(12, align="center",
- plotOutput('usMapOut1', width="80%")
- )
- ),
- br()
-
- )),
-
- conditionalPanel('input.mapsOp == "US Map - plotly"',
- div(style = "background-color: #f0f4c3",
- tags$strong('R code: '),
- uiOutput('plotlyUScode'),
- br(),
- fluidRow(
- column(12, align="center",
- plotlyOutput('plotlyUSMap', width='80%'))
- ),
- br()
-
- ))
- # )
- ),
-
- ###### 3D Plots ######
- tabPanel('3D Plots',
- br(),
- fluidRow(
- column(width = 12,
- box(title = NULL, style = 'background-color: #e8eaf6', width = NULL, height = NULL,
- selectInput(inputId = 'Exsel', label = '3D Plot Type',
- choices = c('Normal Simulation via Plotly', '3D Basic Scatter Plot', '3D Texts Plot'),
- # choices = c('Normal Simulation via Plotly', 'Basic Scatter Plot', 'Basic Scatter Plot Colored by Groups',
- # '3D Plots with Confidence Intervals', '3D Texts Plot'),
- selected = 'Normal Simulation via Plotly', multiple = FALSE),
-
- # bsPopover(id = 'Exsel', title = 'Understand the Graph Type',
- # content = 'Mesh plot generates a wireframe plot while the scatter plot generates a dotted plot.',
- # placement = 'bottom', trigger = 'hover'),
-
- #a. Normal Simulation via Plotly
- conditionalPanel('input.Exsel == "Normal Simulation via Plotly"',
- sliderInput(inputId = 'Exsel1', label = 'Please Select Your Sample Size', min = 0, max = 100,
- value = 30, step = 1, ticks = TRUE)
- ),
-
- #b. Basic Scatter Plot
- conditionalPanel('input.Exsel == "3D Basic Scatter Plot"',
- selectInput(inputId = 'basicX', label = 'Variable for X-Axis', choices = c('Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width'),
- selected = 'Sepal.Length', multiple = FALSE),
- selectInput(inputId = 'basicY', label = 'Variable for Y-Axis', choices = c('Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width'),
- selected = 'Sepal.Width', multiple = FALSE),
- selectInput(inputId = 'basicZ', label = 'Variable for Z-Axis', choices = c('Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width'),
- selected = 'Petal.Length', multiple = FALSE)
- ),
- #c.
- #d. 3D Plots with Confidence Intervals
- conditionalPanel('input.Exsel == "3D Plots with Confidence Intervals"',
- selectInput(inputId = 'CIX', label = 'Variable for X-Axis', choices = c('Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width'),
- selected = 'Sepal.Length', multiple = FALSE),
- selectInput(inputId = 'CIY', label = 'Variable for Y-Axis', choices = c('Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width'),
- selected = 'Sepal.Width', multiple = FALSE),
- selectInput(inputId = 'CIZ', label = 'Variable for Z-Axis', choices = c('Sepal.Length', 'Sepal.Width', 'Petal.Length', 'Petal.Width'),
- selected = 'Petal.Length', multiple = FALSE)
- )
- )
- )
- ),
- fluidRow(
- column(width = 12,
- box(title = NULL, style = 'background-color: #9fa8da', width = NULL, height = NULL,
-
- #a. Normal Simulation via Plotly
- conditionalPanel('input.Exsel == "Normal Simulation via Plotly"',
- tags$strong('R code: '),
- uiOutput('ExCode'),
- br(),
- plotlyOutput('plotly1'),
- br(),
- verbatimTextOutput("hover"),
- verbatimTextOutput("click")
- ),
-
- #b. Basic Scatter Plot
- conditionalPanel('input.Exsel == "3D Basic Scatter Plot"',
- tags$strong('R code: '),
- uiOutput('basicRcode'),
- br(),
- tableOutput('bspTable'),
- plotOutput('bspOut1')
- ),
-
- # #c. Basic Scatter Plot Colored by Groups
- # conditionalPanel('input.Exsel == "Basic Scatter Plot Colored by Groups"',
- # tableOutput('bspTableCopy'),
- # plotOutput('bspOut2')
- # ),
-
- # #d. 3D Plots with Confidence Intervals
- # conditionalPanel('input.Exsel == "3D Plots with Confidence Intervals"',
- # plotOutput('CIOut')
- # ),
-
- #e. 3D Texts Plot
- conditionalPanel('input.Exsel == "3D Texts Plot"',
- tags$strong('R code: '),
- uiOutput('textRcode'),
- br(),
- tableOutput('textTable'),
- plotOutput('textOut')
- )
-
- )
- )
- )
- ),
-
- ###### 2D Line Plots ######
- tabPanel('2D Line Plots',
- br(),
- fluidRow(
- column(width = 12,
- box(title = NULL, style = 'background-color: #e8eaf6', width = NULL, height = NULL,
-
- sliderInput(inputId = 'LPsel1', label = 'Please Set the Maximum of X-Axis', min = 0, max = 200,
- value = 80, step = 1, ticks = TRUE),
-
- numericInput(inputId = 'LPnum1', label = 'Theoretical Mean of trace 0',
- value = 10, step = 1),
- selectInput(inputId = 'LPSEL1', label = 'Please Select Your First Graph Mode',
- choices = c('Lines', 'Markers')),
- numericInput(inputId = 'LPnum2', label = 'Theoretical Mean of trace 1',
- value = -10, step = 1),
- selectInput(inputId = 'LPSEL2', label = 'Please Select Your Second Graph Mode',
- choices = c('Lines', 'Markers'))
- )
- )
- ),
- fluidRow(
- column(width = 12,
- box(title = NULL, style = 'background-color: #9fa8da', width = NULL, height = NULL,
- tags$strong('R code: '),
- uiOutput('LPCode'),
- br(),
- plotlyOutput('plotly2')
- )
- )
- )
- ),
-
- ###### Contour Plots & Heat Maps ######
- tabPanel('Contour Plots & Heatmaps',
- br(),
- sidebarLayout(
- sidebarPanel(
- tags$head(tags$style(
- HTML('#sidebarmap{
- background-color: #f0f4c3;
- }')
- )),
- #box(title = NULL, style = 'background-color: #f0f4c3', width = NULL, height = NULL,
- id="sidebarmap",
- div('Heat maps and contour plots are visualization techniques to show
- data density on a map. They are particularly helpful when you have
- a lot of data points on the map and are mainly interested in their
- overall distribution.'),
- br(),
- selectInput(inputId = 'chSel', label = 'Please Select Your Display Option', choices = c('', 'Contour Plots', 'Heatmaps'), selected = 'Contour Plots'),
-
- #contour plots
- conditionalPanel('input.chSel == "Contour Plots"',
- selectInput(inputId = 'chSel2', label = 'View An Example', choices = c('Volcano', 'Protein-Protein Interaction')),
- conditionalPanel('input.chSel2 == "Volcano"',
- checkboxInput(inputId = 'contourLabel', label = 'Add Contour Labels', value = FALSE)
- )
- ),
-
- #heat maps
- conditionalPanel('input.chSel == "Heatmaps"',
- selectInput(inputId = 'heat1', label = 'View An Example', choices = c('Volcano', 'Cars')),
- conditionalPanel('input.heat1 == "Volcano"',
- sliderTextInput(inputId = 'heatmapCol', label = 'Please Select Your Colorscale',
- choices = c('purple+green', 'yellow+red', 'pink+purple', 'white+black'), grid = TRUE)
- )
-
- )
- #)
- ),
-
- mainPanel(
- box(title = NULL, style = 'background-color: #dce775', width = NULL, height = NULL,
- conditionalPanel('input.chSel == "Contour Plots"',
- conditionalPanel('input.chSel2 == "Volcano"',
- tags$b('In this section, we will use an embedded dataset named Volcano. It is a matrix containing 87 rows and 61 columns.'),
- br(),
- br(),
- tags$strong('R Code: '),
- uiOutput('CPCode1'), #volcano code
- br(),
- plotlyOutput('plotly3') #volcano plot
- ),
- conditionalPanel('input.chSel2 == "Protein-Protein Interaction"',
- plotOutput('proteinInt')
- )
-
- ),
-
- conditionalPanel('input.chSel == "Heatmaps"',
- conditionalPanel('input.heat1 == "Volcano"',
- tags$strong('R Code: '),
- uiOutput('CPCode2'),
- br(),
- plotlyOutput('plotly4')
- ),
- conditionalPanel('input.heat1 == "Cars"',
- plotlyOutput('cars1')
- )
- )
- )
- )
- )
- )
- )
- )
-
- )
-)
-
-shinyUI(dashboardPage(skin = 'green', header, sidebar, body))
-
diff --git a/www/psu_icon.jpg b/www/psu_icon.jpg
deleted file mode 100755
index 371e8dd..0000000
Binary files a/www/psu_icon.jpg and /dev/null differ