Best way to make R accessible to none-coders?

In my job, I use R to do analysis for something my colleagues use 4-6 desktop apps for - I also do this in a fraction of the time. I have given in trying to convince them to learn R. I'm now considering wrapping this up in a web-based package for non-coders. The question is this:

What's the best way to do it?

This doesn't have to be pretty but it must have the ability to upload data from multiple files from their desktops and then display various text, slider and dropdown menus that manipulate that data to produce a series of data visuals. While this is accessible to hundreds of staff, no more than 10 people at a time will be using this with datasets that are not huge.

Shiny looks like a good bet but I am wondering whether it's worth starting from scratch and learning HTML, CSS, and/or JS?


Welcome to the RStudio community!

Your problem seems to be screaming for a Shiny application :slight_smile: In Shiny, you can build a webinterface to your R applications where users can manipulate data an run code without having to touch an R console. It's also great that all HTML, JS and CSS gets generated by Shiny so you can code everything straight from R!

If you are unfamiliar with the great potential of Shiny, please look at the following resources

Feel free to reach out here in case you need more help.

Hope this helps,

hey PJ, thanks for your response. Yes, I was thinking that Shiny would be the way to go. I presume it becomes even more powerful if you know HTML, JS and CSS to really customize the final product!

Is it possible to set this up such that the users can upload multiple files that merge into one dataset (all with the same header, of course)?


First of all, Shiny is just a wrapper for HTML JS and CSS, so you can add custom code to it at any time if for example Shiny does not have a certain JS implementation you want (though of course that's already more advanced)

Uploading files and merging them is an easy task for Shiny, as long as you know the R-code to do the data cleaning in the background :slight_smile:

I suggest you first design (on paper) the user interface you like to create (i.e. the inputs and outputs of the app), then create the R and Shiny to implement it.


Brilliant, thanks for your help.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.