Thanks Simon,
When I deploy my app to shinyapps.io it works just fine, provided I reduce the the "max worker process" to 1 (to keep the application's instance’s memory usage down). If it is much higher than 1, the app has a tendency to disconnect when there is more than one user. I believe this is due to the large data size.
(https://shiny.rstudio.com/articles/scaling-and-tuning.html)
This all works fine when the data loading takes places at the very start of the code. However when I move the data loading stage to the server (so that the user can see the front page while the data is loading), there is again a tendency for the app to disconnect when there are multiple users.
This suggests to me that, when the data is loaded upfront, multiple users are able to work off the same data. However when the loading takes place at the server stage, each user is using their own version of the data (thereby using up a lot of memory).
Is my assumption correct and do you know of any way to get around this issue?
Thank very much for your help