# Deploying to shinyapps.io

### About

Create a ShinyStan app unique to your model and host it online with RStudio’s ShinyApps service (shinyapps.io). Each app you deploy will have a unique url.

Note: R users who don’t use RStudio’s IDE can still deploy ShinyStan apps to shinyapps.io.

### Step 1: ShinyApps account

Signup

To deploy your app to RStudio’s shinyapps.io you will need a ShinyApps account. If you don’t already have one you can sign up at http://www.shinyapps.io/.

The only limit to the number of different ShinyStan apps you can deploy is the limit set by RStudio for the type of ShinyApps account you sign up for.

Setup

After signing up for a ShinyApps account, follow the instructions for setting up your account on your local system using the `setAccountInfo` function in the `shinyapps` package. If you don’t have the `shinyapps` package installed you can install it by running

    devtools::install_github("rstudio/shinyapps")

### Step 2: Use `deploy_shinystan` to deploy your app to shinyapps.io

The `deploy_shinystan` function will deploy a ShinyStan app unique to your model to RStudio’s ShinyApps service.

For the example below assume that

- `my_sso` is the shinystan object you want to use
- the name you want to use for the app is `MyModel`
- the username for your ShinyApps account (from Step 1) is `username`.

To deploy the app use the command

    deploy_shinystan(my_sso, appName = "MyModel", account = "username")

When to specify the `account` argument

If you have multiple ShinyApps accounts configured on your local system then the `account` argument is required. If you only have a single account then you can omit `account`

    deploy_shinystan(my_sso, appName = "MyModel")

Graphical posterior predictive checks: the optional `ppcheck_data` and `ppcheck_yrep` arguments

If you have a vector of observations `y` that you want to use for ShinyStan’s graphical posterior predictive checks then you can also specify the optional `ppcheck_data` argument

    deploy_shinystan(my_sso, appName = "MyModel",
                     ppcheck_data = y)

If you’ve specified the `ppcheck_data` argument you can also use the `ppcheck_yrep` argument to tell ShinyStan the name of the parameter/quantity in your model containing the posterior predictive simulations/replications so that it is preselected as the parameter to use for doing the graphical posterior predictive checks. This is never required because you can also set this manually while using the app, but it is helpful if you want other people to view your model online because it avoids the need to communicate to them which parameter they need to select. If this parameter/quantity containing the posterior predictive replications is named `yRep` then you would use

    deploy_shinystan(my_sso, appName = "MyModel",
                     ppcheck_data = y, ppcheck_yrep = "yRep")

If the deployment process is successful the url for your app will be printed to the console and it should open in your web browser. You can also view your app by going to http://www.shinyapps.io and logging into your account.