# R Not In

At least, not necessarily. In R, the primary assignment operator is not: x = 3. To add to the potential confusion, the equals sign actually can be used as an. Check if Object is NULL in R. Consider the following example vector in R: x1.

## Introduction

Leaflet is one of the most popular open-source JavaScript libraries for interactive maps. It’s used by websites ranging from The New York Times and The Washington Post to GitHub and Flickr, as well as GIS specialists like OpenStreetMap, Mapbox, and CartoDB.

This R package makes it easy to integrate and control Leaflet maps in R.

### R Not In Contagion

### Features

- Interactive panning/zooming
- Compose maps using arbitrary combinations of:
- Map tiles
- Markers
- Polygons
- Lines
- Popups
- GeoJSON

- Create maps right from the R console or RStudio
- Embed maps in knitr/R Markdown documents and Shiny apps
- Easily render spatial objects from the
`sp`

or`sf`

packages, or data frames with latitude/longitude columns - Use map bounds and mouse events to drive Shiny logic
- Display maps in non spherical mercator projections
- Augment map features using chosen plugins from leaflet plugins repository

### Installation

To install this R package, run this command at your R prompt:

Once installed, you can use this package at the R console, within R Markdown documents, and within Shiny applications.

### Basic Usage

You create a Leaflet map with these basic steps:

- Create a map widget by calling
`leaflet()`

. - Add
*layers*(i.e., features) to the map by using layer functions (e.g.`addTiles`

,`addMarkers`

,`addPolygons`

) to modify the map widget. - Repeat step 2 as desired.
- Print the map widget to display it.

Here’s a basic example:

In case you’re not familiar with the magrittr pipe operator (`%>%`

), here is the equivalent without using pipes:

### Next Steps

We highly recommend that you proceed to The Map Widget page before exploring the rest of this site, as it describes common idioms we’ll use throughout the examples on the other pages.

Although we have tried to provide an R-like interface to Leaflet, you may want to check out the API documentation of Leaflet occasionally when the meanings of certain parameters are not clear to you.

- Solution
- Using ddply
- Using summaryBy

## Problem

You want to do summarize your data (with mean, standard deviation, etc.), broken down by group.

## Solution

There are three ways described here to group data based on some specified variables, and apply a summary function (like mean, standard deviation, etc.) to each group.

- The
`ddply()`

function. It is the easiest to use, though it requires the`plyr`

package. This is probably what you want to use. - The
`summarizeBy()`

function. It is easier to use, though it requires the`doBy`

package. - The
`aggregate()`

function. It is more difficult to use but is included in the base install of R.

Suppose you have this data and want to find the N, mean of **change**, standard deviation, and standard error of the mean for each group, where the groups are specified by each combination of sex and condition: ** F-placebo**,

**,**

*F-aspirin***, and**

*M-placebo***.**

*M-aspirin*### Using ddply

#### Handling missing data

If there are NA’s in the data, you need to pass the flag `na.rm=TRUE`

to each of the functions. `length()`

doesn’t take `na.rm`

as an option, so one way to work around it is to use `sum(!is.na(...))`

to count how many non-NA’s there are.

### R Not In Function

#### A function for mean, count, standard deviation, standard error of the mean, and confidence interval

Instead of manually specifying all the values you want and then calculating the standard error, as shown above, this function will handle all of those details. It will do all the things described here:

- Find the mean, standard deviation, and count (N)
- Find the standard error of the mean (
See ../../Graphs/Plotting means and error bars (ggplot2) for information on how to make error bars for graphs with within-subjects variables.)*again, this may not be what you want if you are collapsing over a within-subject variable.* - Find a 95% confidence interval (or other value, if desired)
- Rename the columns so that the resulting data frame is easier to work with

To use, put this function in your code and call it as demonstrated below.

Example usage (with 95% confidence interval). Instead of doing all the steps manually, as done previously, the `summarySE`

function does it all in one step:

#### Filling empty combinations with zeros

Sometimes there will be empty combinations of factors in the summary data frame – that is, combinations of factors that are possible, but don’t actually occur in the original data frame. It is often useful to automatically fill in those combinations in the summary data frame with NA’s. To do this, set `.drop=FALSE`

in the call to `ddply`

or `summarySE`

.

Example usage:

### Using summaryBy

### R %in% Operator

To collapse the data using the `summarizeBy()`

function:

** Note that if you have any within-subjects variables, these standard error values may not be useful for comparing groups.** See ../../Graphs/Plotting means and error bars (ggplot2) for information on how to make error bars for graphs with within-subjects variables.

#### Handling missing data

If there are NA’s in the data, you need to pass the flag `na.rm=TRUE`

to the functions. Normally you could pass it to `summaryBy()`

and it would get passed to each of the functions called, but `length()`

does not recognize it and so it won’t work. One way around it is to define a new length function that handles the NA’s.

#### A function for mean, count, standard deviation, standard error of the mean, and confidence interval

Instead of manually specifying all the values you want and then calculating the standard error, as shown above, this function will handle all of those details. It will do all the things described here:

- Find the mean, standard deviation, and count (N)
- Find the standard error of the mean (
See ../../Graphs/Plotting means and error bars (ggplot2) for information on how to make error bars for graphs with within-subjects variables.)*again, this may not be what you want if you are collapsing over a within-subject variable.* - Find a 95% confidence interval (or other value, if desired)
- Rename the columns so that the resulting data frame is easier to work with

To use, put this function in your code and call it as demonstrated below.

Example usage (with 95% confidence interval). Instead of doing all the steps manually, as done previously, the `summarySE`

function does it all in one step:

#### Filling empty combinations with zeros

Sometimes there will be empty combinations of factors in the summary data frame – that is, combinations of factors that are possible, but don’t actually occur in the original data frame. It is often useful to automatically fill in those combinations in the summary data frame with zeros.

This function will fill in those missing combinations with zeros:

Example usage:

### Using aggregate

The `aggregate`

function is more difficult to use, but it is included in the base R installation and does not require the installation of another package.

If you have `NA`

’s in your data and wish to skip them, use `na.rm=TRUE`

: