The Radiant Data menu includes interfaces for loading, saving, viewing, visualizing, summarizing, transforming, and combining data. It also contains functionality to generate reproducible reports of the analyses conducted in the application.
Radiant is an open-source platform-independent browser-based interface for business analytics in R. The application is based on the Shiny package and can be run locally or on a server. Radiant was developed by Vincent Nijs. Please use the issue tracker on GitHub to suggest enhancements or report problems: https://github.com/radiant-rstats/radiant.data/issues. For other questions and comments please use [email protected].
Radiant is interactive. Results update immediately when inputs are changed (i.e., no separate dialog boxes) and/or when a button is pressed (e.g., Estimate
in Model > Estimate > Logistic regression (GLM)). This facilitates rapid exploration and understanding of the data.
Radiant works on Windows, Mac, or Linux. It can run without an Internet connection and no data will leave your computer. You can also run the app as a web application on a server.
To conduct high-quality analysis, simply saving output is not enough. You need the ability to reproduce results for the same data and/or when new data become available. Moreover, others may want to review your analysis and results. Save and load the state of the application to continue your work at a later time or on another computer. Share state files with others and create reproducible reports using Rmarkdown. See also the section on Saving and loading state
below
If you are using Radiant on a server you can even share the URL (include the SSUID) with others so they can see what you are working on. Thanks for this feature go to Joe Cheng.
Although Radiant's web-interface can handle quite a few data and analysis tasks, you may prefer to write your own R-code. Radiant provides a bridge to programming in R(studio) by exporting the functions used for analysis (i.e., you can conduct your analysis using the Radiant web-interface or by calling Radiant's functions directly from R-code). For more information about programming with Radiant see the programming page on the documentation site.
Radiant focuses on business data and decisions. It offers tools, examples, and documentation relevant for that context, effectively reducing the business analytics learning curve.
In Rstudio you can start and update Radiant through the Addins
menu at the top of the screen. To install the latest version of Radiant for Windows or Mac, with complete documentation for off-line access, open R(studio) and copy-and-paste the command below:
install.packages("radiant", repos = "https://radiant-rstats.github.io/minicran/")
Once all packages are installed, select Start radiant
from the Addins
menu in Rstudio or use the command below to launch the app:
radiant::radiant()
To launch Radiant in Rstudio's viewer pane use the command below:
radiant::radiant_viewer()
To launch Radiant in an Rstudio Window use the command below:
radiant::radiant_window()
To easily update Radiant and the required packages, install the radiant.update
package using:
install.packages("radiant.update", repos = "https://radiant-rstats.github.io/minicran/")
Then select Update radiant
from the Addins
menu in Rstudio or use the command below:
radiant.update::radiant.update()
See the installing radiant page additional for details.
Optional: You can also create a launcher on your Desktop to start Radiant by typing radiant::launcher()
in the R(studio) console and pressing return. A file called radiant.bat
(windows) or radiant.command
(mac) will be created that you can double-click to start Radiant in your default browser. The launcher
command will also create a file called update_radiant.bat
(windows) or update_radiant.command
(mac) that you can double-click to update Radiant to the latest release.
When Radiant starts you will see data on diamond prices. To close the application click the icon in the navigation bar and then click Stop
. The Radiant process will stop and the browser window will close (Chrome) or gray-out.
Documentation and tutorials are available at https://radiant-rstats.github.io/docs/ and in the Radiant web interface (the icons on each page and the icon in the navigation bar).
Individual Radiant packages also each have their own pkgdown sites:
Want some help getting started? Watch the tutorials on the documentation site.
Please use the GitHub issue tracker at github.com/radiant-rstats/radiant/issues if you have any problems using Radiant.
Not ready to install Radiant on your computer? Try it online at the link below:
https://vnijs.shinyapps.io/radiant
Do not upload sensitive data to this public server. The size of data upload has been restricted to 10MB for security reasons.
To run your own instance of Radiant on shinyapps.io first install Radiant and its dependencies. Then clone the radiant repo and ensure you have the latest version of the Radiant packages installed by running radiant/inst/app/for.shinyapps.io.R
. Finally, open radiant/inst/app/ui.R
and deploy the application.
You can also host Radiant using shiny-server. First, install radiant on the server using the command below:
install.packages("radiant", repos = "https://radiant-rstats.github.io/minicran/")
Then clone the radiant repo and point shiny-server to the inst/app/
directory. As a courtesy, please let me know if you intend to use Radiant on a server.
When running Radiant on a server, by default, file uploads are limited to 10MB and R-code in Report > Rmd and Report > R will not be evaluated for security reasons. If you have sudo
access to the server and have appropriate security in place you can change these settings by adding the following lines to .Rprofile
for the shiny
user on the server.
options ## no file size limit options
To run radiant in the cloud you can use the customized Docker container. See https://github.com/radiant-rstats/docker for details
To save your analyses save the state of the app to a file by clicking on the icon in the navbar and then on Save radiant state file
(see also the Data > Manage tab). You can open this state file at a later time or on another computer to continue where you left off. You can also share the file with others that may want to replicate your analyses. As an example, load the state file radiant-example.state.rda
by clicking on the icon in the navbar and then on Load radiant state file
. Go to Data > View and Data > Visualize to see some of the settings from the previous "state" of the app. There is also a report in Report > Rmd that was created using the Radiant interface. The html file radiant-example.nb.html
contains the output.
A related feature in Radiant is that state is maintained if you accidentally navigate to another web page, close (and reopen) the browser, and/or hit refresh. Use Refresh
in the menu in the navigation bar to return to a clean/new state.
Loading and saving state also works with Rstudio. If you start Radiant from Rstudio and use > Stop
to stop the app, lists called r_data
, r_info
, and r_state
will be put into Rstudio's global workspace. If you start radiant again using radiant::radiant()
it will use these lists to restore state. Also, if you load a state file directly into Rstudio it will be used when you start Radiant to recreate a previous state.
Technical note: Loading state works as follows in Radiant: When an input is initialized in a Shiny app you set a default value in the call to, for example, numericInput. In Radiant, when a state file has been loaded and an input is initialized it looks to see if there is a value for an input of that name in a list called r_state
. If there is, this value is used. The r_state
list is created when saving state using reactiveValuesToList(input)
. An example of a call to numericInput
is given below where the state_init
function from radiant.R
is used to check if a value from r_state
can be used.
numericInput("sm_comp_value", "Comparison value:", state_init("sm_comp_value", 0))
The source code for the radiant application is available on GitHub at https://github.com/radiant-rstats. radiant.data
, offers tools to load, save, view, visualize, summarize, combine, and transform data. radiant.design
builds on radiant.data
and adds tools for experimental design, sampling, and sample size calculation. radiant.basics
covers the basics of statistical analysis (e.g., comparing means and proportions, cross-tabs, correlation, etc.) and includes a probability calculator. radiant.model
covers model estimation (e.g., logistic regression and neural networks), model evaluation (e.g., gains chart, profit curve, confusion matrix, etc.), and decision tools (e.g., decision analysis and simulation). Finally, radiant.multivariate
includes tools to generate brand maps and conduct cluster, factor, and conjoint analysis.
These tools are used in the Business Analytics, Quantitative Analysis, Research for Marketing Decisions, Consumer Behavior, Experiments in Firms, Pricing, and Customer Analytics classes at the Rady School of Management (UCSD).
Radiant would not be possible without R and Shiny. I would like to thank Joe Cheng, Winston Chang, and Yihui Xie for answering questions, providing suggestions, and creating amazing tools for the R community. Other key components used in Radiant are ggplot2, dplyr, tidyr, magrittr, broom, shinyAce, rmarkdown, and DT. For an overview of other packages that Radiant relies on please see the about page.
Radiant is licensed under the AGPLv3. As a summary, the AGPLv3 license requires, attribution, including copyright and license information in copies of the software, stating changes if the code is modified, and disclosure of all source code. Details are in the COPYING file.
The documentation, images, and videos for the radiant.data
package are licensed under the creative commons attribution and share-alike license CC-BY-SA. All other documentation and videos on this site, as well as the help files for radiant.design
, radiant.basics
, radiant.model
, and radiant.multivariate
, are licensed under the creative commons attribution, non-commercial, share-alike license CC-NC-SA.
If you are interested in using any of the radiant packages please email me at [email protected]
Rmarkdown
summarytools
due to breaking changesiterm
) and non-linear term (qterm
) creation if character strings rather than integers are passed to the functionradiant_
prefix to all attributes, except description
, to avoid conflicts with other packages (e.g., vars
in dplyr)stringi::stri_trans_general
to replace special symbols in Rmarkdown that may cause problemsrio
to load sav
, dta
, or sas7bdat
files through the read files
button in Report > Rmd and Report > R.qscatter
plot similar to the function of the same name in Stataxlim
and ylim
are set in visualize
functionshinyAce
input for the R-code log in Data > Transformoptions(radiant.autosave = c(10, 180)); radiant::radiant()
to auto-save the application state to the ~/.radiant.session
folder every 10 minutes for the next 180 minutes. This can be useful if radiant is being used during an exam, for example.~/.radiant.session/r_some_id.state.rda
. The files should be automatically loaded when needed but can also be loaded as a regular radiant state file.rda
from from a URL in Data > Manage to load .rds
files insteadggplot::labs
no longer accepts a list as inputradiant.model
radiant.model
. This action now generates a pop-up in the browser interfaceregister
shiny::runApp
when starting radiant such as the port to use. For example, radiant.data::radiant.data("https://github.com/radiant-rstats/docs/raw/gh-pages/examples/demo-dvd-rnd.state.rda", port = 8080)pred_data = ""
format_df
when the data.frame contains missing values. This fix is relevant for several summary
functions run in Report > Rmd or Report > RKnit report
in Report > Rmd and Report > R without an Rstudio project. Will now correctly default to the working directory used in R(studio)smooth
setting for histograms with a density plotpmin
and pmax
, pfun
et al. calculate summary statistics elementwise across multiple vectorsDesktop
as a default directory to show in the shinyFiles
file browserderegister
function to remove data in radiant from memory and the datasets
dropdown listData > Pivot
summarytools
to generate summary information for datasets in Data > Manageradiant.data::fix_names
to files loaded into radiant to ensure valid R-object namesStore filtered data as
input to name the csv download in Data > ViewRead files
in Report > Rmd and Report > Rlines
or loess
curves based on a selected color
variable for scatter plots in Data > Visualizeradiant.project_dir
when no Rstudio project is used which could cause incorrect relative paths to be usedis_double
to ensure dates are not treated as numeric variables in Data > ViewRead files
button in Report > Rmd or Report > RshinyFiles
to provide convenient access to data located on a serverXQuartz
requirementdata(...)
into the current environment rather than defaulting only to the global environmentfile.rename
failed using docker on windows when saving a report. Using file.copy
insteadsf_volumes
used to set the root directories to load and save filesSys.getlocale(category = "LC_ALL")
what set to something other than "C"radiant.sf_volumes
used for the shinyFiles
file browserradiant.data::find_home()
)svg
to png
for plots in _Report > Rmd_ and _Report > R_.
svg` scatter plots with many point get to big for practical use on servers that have to transfer images to a local browsermethods
packagedesc(n)
in reports and replace by desc(n_obs)
radiant.data::explore
when variable names contain an underscorefind_gdrive
when drive is not being syncheddeparse
in R 3.5dev = "svg"
for plots in Report > Rmd and Report > Rdtab.data.frame
to format specified columns as a percentageShow R-code
checkbox displays the R-code used to load or save the current datasetshiny::makeReactiveBinding
. The advantage is that the code generated for Report > Rmd and Report > R will no longer have to use a list (r_data
) to store and access data. This means that code generated and used in the Radiant browser interface will be directly usable without the browser interface as wellloadr
, saver
, load_csv
, loadcsv_url
, loadrds_url
, and make_funs
functions as they are no longer neededmean_rm
, median_rm
, min_rm
, max_rm,
sd_rm,
var_rm, and sum_rm
functions as they are no longer neededload_clip
and save_clip
to load and save data to the clipboard on Windows and macOSr_data
environment. This means that the return value from ls()
will be much cleanerloadr
which add that data to the Datasets dropdownvisualize
will default to a scatter plot if xvar
and yvar
are specified but no plot type
is provided in the function callread_files
function to interactively generate R-code (or Rmarkdown code-chunks) to read files in various format (e.g., SQLite, rds, csv, xlsx, css, jpg, etc.). Supports relative paths and uses find_dropbox()
and find_gdrive()
when applicableshinyAce
0.3.0read_files
function to interactively generate R-code or Rmarkdown code-chunks to read files in various format (e.g., SQLite, rds, csv, xlsx, css, jpg, etc.). Supports relative paths and uses find_dropbox()
and find_gdrive()
when applicablesummary.pivotr
and summary.explore
table2data
rounddf
to ignore datesfixMS
to replace curly quotes, em dash, etc. when using Data > Transform > CreateCreate
or Spread
xtile
and when binning data with too many groupsinput$get_screen_width
DiagrammeR
based plots in Rmarkdown reportsread_files
for SQLite data namesselectizeInput
in Rstudio Viewer shiny #1916Stop
link in the navbar. As a work-around, use Rstudio's stop buttons instead.find_project
function based on rstudioapi
find_dropbox
and find_gdrive
functions to enhances reproducibility.pre
and code
blocks in HTML reports generated in Report > RmdshinyAce
Stop & Report
option in navbarggplotly
from plotly
for interactive plots in Report > Rmdsubplot
from plotly
for grids of interactive plots in Report > Rmdres = 96
for renderPlot
and dpi = 96
for knitr::opts_chunk
fillcol
, linecol
, and pointcol
to visualize
to set plot colors when no fill
or color
variable has been selectedcoor_flip()
find_gdrive
to determine the path to a user's local Google Drive folder if availablefixMs
for encoding in reports on Windowsstate_multiple
seed
argument to make_train
prop
, sdprop
, etc. for working with proportionsylim
in visualize
for multiple plotscopy_attr
convenience functionrefactor
function to keep only a subset of levels in a factor and recode the remaining (and first) level to, for example, otherregister
function to add a (transformed) dataset to the dataset dropdownrename
button, without changing the name, the dataset was set to NULL (thanks @kmezhoud, https://github.com/radiant-rstats/radiant/issues/5)mutate_each
function callerror = TRUE
for rmarkdown for consistency with knitr as used in Report > Rmd