shiny | Easy interactive web applications with R | Data Visualization library

 by   rstudio R Version: v1.7.4 License: Non-SPDX

kandi X-RAY | shiny Summary

kandi X-RAY | shiny Summary

shiny is a R library typically used in Analytics, Data Visualization, Angular, React, Electron applications. shiny has no bugs, it has no vulnerabilities and it has medium support. However shiny has a Non-SPDX License. You can download it from GitHub.

Easily build rich and productive interactive web apps in R — no HTML/CSS/JavaScript required.

            kandi-support Support

              shiny has a medium active ecosystem.
              It has 5040 star(s) with 1800 fork(s). There are 346 watchers for this library.
              It had no major release in the last 6 months.
              There are 736 open issues and 1757 have been closed. On average issues are closed in 242 days. There are 66 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of shiny is v1.7.4

            kandi-Quality Quality

              shiny has 0 bugs and 0 code smells.

            kandi-Security Security

              shiny has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              shiny code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              shiny has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              shiny releases are not available. You will need to build from source code and install.
              Installation instructions, examples and code snippets are available.
              It has 13502 lines of code, 0 functions and 137 files.
              It has low code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of shiny
            Get all kandi verified functions for this library.

            shiny Key Features

            No Key Features are available at this moment for shiny.

            shiny Examples and Code Snippets

            No Code Snippets are available at this moment for shiny.

            Community Discussions


            User inputs for R ggplot or plotly without shiny
            Asked 2022-Mar-10 at 21:37

            I have an Rmarkdown with a simple scatter plot (a map for instance), and I would like users to be able to provide some arbitrary x and y coordinates via an input and have those plotted on the graph (in red in the example below). The problem is, I don't have a shiny server so I cannot rely on that option. Is there a implement this, for instance, via javascript or something?

            This is what I have:



            Answered 2022-Mar-04 at 19:18

            This may not be what you want but you can do this by adding a runtime of shiny in your yaml



            How can I make a Shiny app W3C compliant?
            Asked 2022-Mar-04 at 08:05

            I've written and optimized a Shiny app, and now I'm struggling with the IT section of the organization where I work to have it published on their servers. Currently, they are claiming that the app is not W3C compliant, which is true, according to the W3C validator.

            The errors I'm trying to solve, with no success, are:

            • Bad value “complementary” for attribute “role” on element “form”.

            • The value of the “for” attribute of the “label” element must be the ID of a non-hidden form control.

            Such errors can be seen also in very minimal shiny apps, like:



            Answered 2022-Mar-04 at 08:05

            The following only deals with the first of the errors you mention (as this one is pretty clear thanks to @BenBolkers comment), but hopefully it points you to the right tools to use.

            I'd use htmltools::tagQuery to make the needed modifications - please check the following:



            How to display a scaled up image in an popup window on mouse hover or on click event on an image displayed in a rhandsontable cell in RShiny?
            Asked 2022-Mar-02 at 21:56

            I would like to display a scaled-up popup image on mouseover or on-click event on an image displayed in the rhandsontable cell similar to as shown here in DT table.

            I would like to display the popup image for the image displayed in the table created as shown below:



            Answered 2022-Mar-02 at 21:56

            Here goes a solution that will center an element (image or graph) on-click event in the viewport - the browser window.
            Please note for small changes (for better image display): _SL500_.jpg and = 'auto';.



            How to show a loading screen when the output is being calculated in a background process?
            Asked 2022-Feb-15 at 09:06

            This question is in the continuity of this one: Is it possible to stop executing of R code inside shiny (without stopping the shiny process)?.

            The plot that I display in my app takes some time to produce, and I want the users to be able to stop its creation (for instance if they made a mistake in the options). I found this blog post about using callr in Shiny. The workflow is the following:

            • create an empty list of jobs/plots
            • clicking on "start" creates a background process to create the plot
              • if the user doesn't do anything, the plot is computed in the background. I use invalidateLater() every second to check if the background process is finished. If it is, then I display the plot.
              • if the user clicks on "stop" before the end of the process, the process is killed, removed from the list, and the previous plot is displayed (if there was no plot produced before, nothing is displayed)

            First, I'm not sure how this would scale when several people use the app at the same time. Since every background process is independent, I don't think one user would be blocking the others, but I may be wrong.

            Second, I'd like to show a waiting indicator on the plot. So far, I used the package waiter to do that, but the problem here is that renderPlot() is being invalidated every second to check if the background process is finished. Therefore, waiter appears and disappears repeatedly as the output is being invalidated.

            Below is an example app that mimics the behavior I'd like to have:



            Answered 2022-Feb-15 at 09:06

            Regarding your first concern: this approach won't block other sessions. However, the polling via invalidateLater() will create some load.

            A great library to look at in this context is ipc and its introductory vignette.

            Regarding the second issue: There is a simple fix for this behaviour. We can use req and its cancelOutput parameter - see ?req:

            cancelOutput: If TRUE and an output is being evaluated, stop processing as usual but instead of clearing the output, leave it in whatever state it happens to be in.



            csv file upload at start of r shiny app (quasi placeholder file)
            Asked 2022-Feb-13 at 20:29

            With this code I can upload a csv file in my shiny app.



            Answered 2022-Feb-13 at 20:29

            In the server, we may use if/else to create the placeholder .csv while loading



            Using GitHub Actions to create a .env file in the workflow
            Asked 2022-Jan-28 at 15:36

            I recently created this post trying to figure out how to reference GitHub Secrets in a GitHub action. I believe I got that solved & figured out and I'm onto a different issue.

            Below is a sample of the workflow code as of right now, the issue I need help with is the Create and populate .Renviron file part.



            Answered 2021-Sep-01 at 09:23

            The file is there where you expect to be



            How can I display multiple.xpt files in R shiny and filter them based on their columns?
            Asked 2022-Jan-11 at 18:11

            When I try to upload multiple .xpt files to show the tables in the main panel of the R shiny app, it gives me the following issue.

            I am also looking at the filtering option. I would like to filter by columns while uploading multiple files so that the appropriate rows in the main panel of each data frame/datatable are displayed.

            Error: Warning: Error in This kind of input is not handled

            Can Someone help me for the solution?




            Answered 2022-Jan-11 at 18:11

            The reason the app starts to fail when multiple files are uploaded, is because inFile$datapath stops being a single value. Now it contains multiple datapaths corresponding to each file.

            Here is an example app that lets the user upload multiple .xpt files and select which file to display on the table.



            How to create a clickable histogram in Shiny?
            Asked 2022-Jan-06 at 10:14

            I want to create a clickable histogram in shiny but I don't know if it is possible.

            Some months ago I saw a clickable volcano plot which gives you a table of what you click.


            The closest post that I found about creating clickable histograms is this one Click to get coordinates from multiple histogram in shiny

            However, I don't want to get the coordinates. I want the rownames of the dataframe.

            Having this dataframe, can I get the rownames everytime I click a bar from the histogram?



            Answered 2021-Nov-27 at 18:49

            This is a great question, and what makes it challenging is that the qplot/ggplot charts are static images. The below app.r is an example of how I would do it. I'd love to see other approaches.

            In essence:

            1. Create a sequence of numbers that will be used both as the breaks in your histogram and as intervals in your dataframe. I based these on user inputs, but you could hardcode them.
            2. Assign a "bin" value to each row in the dataframe based on the interval in which the value falls.
            3. Record the x-coordinate from the user's click event and assign that a "bin" value based on the same set of intervals.
            4. Subset your dataframe and retain only those records where the "bin" value of the data matches the "bin" value of the x-coordinate from the user's click event.

            Otherwise, if you're willing to go the d3 route, you could explore something like this posted by R Views.



            Why can I not put files in directory and download in zip using Shiny?
            Asked 2022-Jan-05 at 09:56

            I am making an app which can generate plots from input and it has no problem showing it on the UI but when I try to zip it by putting them into a temporary directory using ggsave() and use zip(), it doesn't work.

            The example I have here generated the plot file in the temporary directory, but no zip file was generated. There is an extra directory in the temp dir which makes me think it has tried the process but somehow stopped.

            Here is my code:



            Answered 2022-Jan-05 at 09:51

            When running this on Windows make sure zip works. See this related article and follow the procedure in section "Putting Rtools on the PATH".

            The following works as intended:



            How to download multiple files from R/Shiny app?
            Asked 2021-Dec-16 at 23:55

            There are a number of different Q/A's regarding this topic on SO, but none that I have been able to find that fit my use-case. I am also very surprised that RStudio / the Shiny developers themselves have not come out with some documentation on how to do this. Regardless, take this example application:



            Answered 2021-Dec-16 at 23:55

            A few things edited and it's working:

            • using dir instead of ls inside the zip::zip call to show the contents of the temp directory (ls lists R environment rather than directory contents)
            • as a further suggestion: making a new, unique folder inside tempdir() to ensure only relevant files are added.


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install shiny

            To install the stable version from CRAN:.
            Once installed, load the library and run an example:. For more examples and inspiration, check out the Shiny User Gallery. For help with learning fundamental Shiny programming concepts, check out the Mastering Shiny book and the Shiny Tutorial. The former is currently more up-to-date with modern Shiny features, whereas the latter takes a deeper, more visual, dive into fundamental concepts.


            To ask a question about Shiny, please use the RStudio Community website. For bug reports, please use the issue tracker and also keep in mind that by writing a good bug report, you're more likely to get help with your problem.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone rstudio/shiny

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link