Exercise -- homework
Evaluation
If you want to obtain a certificate of success for the Shiny course (with indication of ECTS credits), please create a Shiny app as described below, and send it to Frédéric Schütz (frederic.schutz@sib.swiss) before Friday 5 May 2023, end of the day.
1. Normality assessment
Create an app that lets a user upload a data file with one or more columns of data, and allow him/her to assess whether a certain variable is normally distributed. Examples of data you can display (but don’t hesitate to provide your own ideas):
• a histogram or a boxplot of the data
• a normal QQ plot (function "qqnorm" and "qqline" in R)
• calculation of the skewness and kurtosis of the data
• the result of the Shapiro-wilk test (function shapiro.test () )
2. Correlation assessment
Let the user upload a data file with different variables. Let him explore the data and show the relationships between the variables. For example, using a scatterplot (look at the pairs() command in R), correlations, or linear regression between several variables chosen by the user.
3. Power calculation
Program a Shiny app that performs simulations similar to those that were presented in the slides of the course, allowing a user to estimate the power of a test (in the course, we used a Student t-test, but it could be something else) under different scenarios : number of sample in each group, variance of the data, difference between the groups, etc. The app should return the results and graphics that could be of interest to the user.
4. Implement your own idea
Do you have an idea about an app that could be useful and non-trival ? Whether it is related to your own work or not, implement it so that it contains enough content to be at least as complex as the ideas above and submit it for evaluation. If you have any doubt about whether your idea is well-suited for this exercise, do not hesitate to contact us.