Advice on how to share Reports to a non R-user

I have a client who has asked me to create reports based on xml files they receive.

I am confident enough in creating rmarkdown reports and shiny apps.

Where I struggle most is knowing how to provide them with a report where they can run themselves regularly. They would like to be able to print the report for meetings.

Shinyapps.io allows me share easier but the printed report isn't something I've found easy to generate from there.

Rmarkdown reports are superb to make but I'm not sure how to hand them over to someone not using Rstudio...or able to use R....so that they can run the reports themselves.

I have considered creating a desktop app of some sort but cannot see a relatively easy method through R. Any non R steps worth trying?

The client is not within my network and will need to update the underlying dataset themselves regularly.

Any ideas or thoughts are more than welcome.

Thanks.

You can't always get what you want, but

But if you try sometime you find
You get what you need

(M. Jagger, K. Richards, 1969, You Can't Always Get What You Want (from Let it Bleed), ABKCO Records, London, United Kingdom.)

I'd approach this the same way as any other problem in R—functionally, f(x) = y, where

  1. x is the current dataset
  2. y is a printed report of some derivation of the dataset
  3. f' is a workflow in R that can process x to a pdf file

where f' is subject to the constraint that it must be invoked by a user who is assumed to be solely in possession of x and incapable of invoking f' from either an R console or IDE (such as RStudio desktop, cloud or other, similar product).

The problem resolves to the design of f(f') where f is a composite of some facility that may be a wrapper R script, desktop app, SaaS or a combination.

By hypothesis a bare R script is infeasible. A desktop app is unmaintainable over the long run unless it has no operating system or library dependencies and SaaS is also, by hypothesis, unmaintainable by the user. What is left is a containerized software application to operate as a virtual virtual machine.

Ideally, opening the container would run the app with a single argument—the location of the current dataset. Still, the human factor reliability metric for placing the dataset in the correct location is open to doubt.

One consideration is the projected lifetime of the report. In my organizational experience, these tend to track the tenure of the most senior manager who regularly acts of them. That will vary by organization. For a relatively stable organization, such as a government agency, this can be expected to span many years. For a start-up, conversely, it may be measured in months.

For the short-tenured case, platform obsolescence is less a concern. For the long-term, consideration might be given to a closed system, such as a containerized app running with a Linux OS all flashed to EPROM on a Raspberry Pi with a thumb drive reader.

1 Like

Look at this example (though there are other options also)

1 Like

Hi @Barry_Cleary! Is it for reports that you would want viewers to log in to view or could it be open to anyone?

You could publish the RMarkdown report to RPubs. (Keep in mind that RPubs documents are (1) always public, (2) always self-contained, and (3) and cannot contain any Shiny content) or you could also check out RStudio Connect which is the professional product companies use for sharing a variety of data products (RMarkdown, Shiny, Dash, Flask, etc.) For example, this would let you schedule parameterized RMarkdown documents to be automatically emailed out or provide a link to have someone login and view them from a web browser without having RStudio installed on their own computer.

If you want to use shinyapps.io, what about using the download button in a Shiny app? Shiny - File Download

If I could elaborate on what @rachel said.... because you can add custom photos or diagrams, I find Rpubs and Rmarkdown are perfect for helping to keep R code and statistics simple. In fact, it's so nice that I recently have been using Rpubs to write funny math articles about popular fictional stories for my friends.

Thanks for repsonses,

My work would need to be kept private, so Rpubs wouldn't be an option.
I'd love Rstudio connect but this is not for a major income - the pricing is way above my level of business.

I'll have a look at that knit to pdf option.
I have used pagedown and chrome_print but it isn't working with Shinyapps.io.

Really appreciate the responses, the R community is so helpful.

1 Like

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

If you have a query related to it or one of the replies, start a new topic and refer back with a link.