From 359d724d10716a427ed52a398d23eac204d66b8a Mon Sep 17 00:00:00 2001 From: Emma Rand Date: Sun, 24 Nov 2024 08:20:49 +0000 Subject: [PATCH 1/2] overview minor --- r4babs1/week-9/overview.qmd | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/r4babs1/week-9/overview.qmd b/r4babs1/week-9/overview.qmd index 655e7bb8..ecb80beb 100644 --- a/r4babs1/week-9/overview.qmd +++ b/r4babs1/week-9/overview.qmd @@ -5,36 +5,31 @@ toc: true toc-location: right --- -Last week you summarised and plotted single variables. This week you will start plotting data sets with more than one variable. This means you need to be able determine which variable is the response and which is the explanatory. You will find out what is meant by "tidy" data and how to perform a simple data tidying task. Finally you will discover how to save your figures to file. - - - +Last week you summarised and plotted data sets with one variable. This week you will start plotting data sets with more than one variable. This means you need to be able determine which variable is the response and which is the explanatory. You will find out what is meant by "tidy" data and how to perform a simple data tidying task. Finally you will discover how to save your figures to file. ### Learning objectives -- summarise and plot appropriately datasets with more than one variable +- summarise and plot, appropriately, datasets with more than one variable - recognise that variables can be categorised by their role in analysis - explain what is meant by 'tidy' data and be able to perform some data tidying tasks. - save figures to file by scripting - ### Instructions 1. [Prepare](study_before_workshop.qmd) - i. 📖 From importing to reporting - + i. 📖 From importing to reporting 2. [Workshop](workshop.qmd) - i. 💻 Summarise and plot datasets with more than one variable. - - ii. 💻 Practice with working directories, importing data, formatting figures and the pipe + i. 💻 Summarise and plot datasets with more than one variable. + + ii. 💻 Practice with working directories, importing data, formatting figures and the pipe - ii. 💻 Script saving figures to file for reproducibility + iii. 💻 Script saving figures to file for reproducibility 3. [Consolidate](study_after_workshop.qmd) - i. 💻 Summarise and plot a dataframe from the workshop + i. 💻 Summarise and plot a dataframe from the workshop - ii. 💻 Practice the complete RStudio Project worklfow for a new dataset + ii. 💻 Practice the complete RStudio Project worklfow for a new dataset From 7b015d2785da76472b7ae6abffacdefff9a01b1f Mon Sep 17 00:00:00 2001 From: Emma Rand Date: Sun, 24 Nov 2024 09:52:30 +0000 Subject: [PATCH 2/2] workshop, typos, improvments, formatting --- r4babs1/week-9/figures/seal-muscle.png | Bin 59660 -> 59871 bytes r4babs1/week-9/workshop.qmd | 371 +++++++++++++++++++------ 2 files changed, 283 insertions(+), 88 deletions(-) diff --git a/r4babs1/week-9/figures/seal-muscle.png b/r4babs1/week-9/figures/seal-muscle.png index 4c4f0179ebe6b3ad7df67810f55fb721a1aa9780..ff28315d1763d18d1660675962d949bc001e26f4 100644 GIT binary patch literal 59871 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 j5cmJ^_W#3QZ @@ -100,30 +140,46 @@ seal <- read_csv("data-raw/seal.csv") +A key point here is that the fundamental structure of: -The key point here is that the fundamental structure of: - -- one continuous response and one nominal explanatory variable with two groups ([adipocytes](data-raw/adipocytes.txt)), and +- one continuous response and one nominal explanatory variable with two groups ([adipocytes](data-raw/adipocytes.txt)), and -- one continuous response and one nominal explanatory variable with three groups ([seals](data-raw/seal.csv)) +- one continuous response and one nominal explanatory variable with three + groups ([seals](data-raw/seal.csv)) -is the same! The only thing that differs is the number of groups (the number of values in the nominal variable). This means the code for summarising and plotting is *identical* except for the variable names! +is the same! The only thing that differs is the number of groups (the number +of values in the nominal variable). This means the code for summarising and +plotting is *identical* except for the variable names! ::: callout-tip ## Tip -When two datasets have the same number of columns and the response variable and the explanatory variables have the same data types then the code you need is the same. +When two datasets have the same number of columns and the response variable +and the explanatory variables have the same data types then the code you need +is the same. ::: +### Summarise +Summarising the data for each species is the next sensible step. The most +useful summary statistics for a continuous variable like `myoglobin` are: +- mean +- standard deviation +- sample size +- standard error -### Summarise - -Summarising the data for each species is the next sensible step. The most useful summary statistics for a continuous variable like `myoglobin` are the means, standard deviations, sample sizes and standard errors. You might remember from last week that we use the `group_by()` and `summarise()` functions along with the functions that do the calculations. +We *can* get those for the whole `myoglobin` column, like we did for the +[`FSA` column in the cells dataset last week](../week-8/workshop.html#cells). +However, it is likely to be more useful to summarise `myoglobin` separately +for each seal species. We can achieve this using `group_by()` before `summarise()`. +![](images/do_in_R.png) Create a data frame called `seal_summary`[^1] that +contains the means, standard deviations, sample sizes and standard errors for +each of the seal species: -![](images/do_in_R.png) Create a data frame called `seal_summary` that contains the means, standard deviations, sample sizes and standard errors for the control and nicotinic acid treated samples. +[^1]: "Create a dataframe called `seal_summary`" means assign the output of +the `group_by()` and `summarise()` code to something called `seal_summary`. ```{r} seal_summary <- seal |> @@ -142,10 +198,13 @@ You should get the following numbers: knitr::kable(seal_summary) |> kableExtra::kable_styling() ``` - ### Visualise -Most commonly, we put the explanatory variable on the *x* axis and the response variable on the *y* axis. A continuous response, particularly one that follows the normal distribution, is best summarised with the mean and the standard error. In my opinion, you should also show all the raw data points if possible. +Most commonly, we put the explanatory variable on the *x* axis and the response +variable on the *y* axis. A continuous response, particularly one that follows +the normal distribution, is best summarised with the mean and the standard +error. In my opinion, you should also show **all** the raw data points wherever +possible. We are going to create a figure like this: @@ -170,19 +229,63 @@ ggplot() + ``` -In this figure, we have the data points themselves which are in `seal` dataframe and the means and standard errors which are in the `seal_summary` dataframe. That is, we have two dataframes we want to plot. +In this figure, we have two dataframes: + +- the `seal` dataframe which contains the raw data points +- the `seal_summary` dataframe which contains the means and standard errors. + +So far we have plotted just one dataframe on a figure and we have specified the +dataframe to be plotted and the columns to plot inside the `ggplot()` command. +For examples: + +```{r} +#| eval: false + +ggplot(cats, + aes(x = reorder(coat, mass), y = mass)) + + geom_boxplot(fill = "darkcyan") + + scale_x_discrete(name = "Coat colour") + + scale_y_continuous(name = "Mass (kg)", + expand = c(0, 0), + limits = c(0, 8)) + + theme_classic() +``` + +Or + +```{r} +#| eval: false + +ggplot(fly_bristles_means, aes(x = mean_count)) + + geom_histogram(bins = 10, + colour = "black", + fill = "skyblue") + + scale_x_continuous(name = "Number of bristles", + expand = c(0, 0)) + + scale_y_continuous(name = "Frequency", + expand = c(0, 0), + limits = c(0, 35)) + + theme_classic() +``` + -Here you will learn that dataframes and aesthetics can be specified *within a `geom_xxxx`* (rather than in the `ggplot()`). This is very useful if the geom only applies to some of the data you want to plot. +Here you will learn that dataframes and aesthetics can be specified +*within a `geom_xxxx`* rather than within `ggplot()`. This is very useful if +the geom only applies to some of the data you want to plot. ::: callout-tip ## Tip: `ggplot()` -You put the `data` argument and `aes()` inside `ggplot()` if you want all the `geoms` to use that dataframe and variables. If you want a different dataframe for a `geom`, put the `data` argument and `aes()` inside the `geom_xxxx()` +You put the `data` argument and `aes()` inside `ggplot()` if you want all +the `geoms` to use that dataframe and variables. If you want a different +dataframe for a `geom`, put the `data` argument and `aes()` inside +the `geom_xxxx()` ::: -I will build the plot up in small steps **but you should edit your *existing* `ggplot()` command as we go.** +I will build the plot up in small steps +**but you should edit your *existing*`ggplot()` command as we go.** -![](images/do_in_R.png) Plot the data points first. +![](images/do_in_R.png) Plot the raw data points first: ```{r} ggplot() + @@ -190,9 +293,17 @@ ggplot() + aes(x = species, y = myoglobin)) ``` -Notice how we have given the data argument and the aesthetics inside the geom. The variables `species` and `myoglobin` are in the `seal` dataframe +Notice: + +- `geom_point()` is the geom to plot points -![](images/do_in_R.png) So the data points don't overlap, we can add some random jitter in the *x* direction (edit your existing code): +- we have given the data argument and the aesthetics inside the geom. + +- the variables given in the aes(), `species` and `myoglobin`, are columns + in the dataframe, `seal`, given in the data argument. + +![](images/do_in_R.png) We can ensure the points do not overlap, by adding some + random jitter in the *x* direction (edit your existing code): ```{r} ggplot() + @@ -201,11 +312,16 @@ ggplot() + position = position_jitter(width = 0.1, height = 0)) ``` -Note that `position = position_jitter(width = 0.1, height = 0)` is inside the `geom_point()` parentheses, after the `aes()` and a comma. +Notice: + +- `position = position_jitter(width = 0.1, height = 0)` is inside the + `geom_point()` parentheses, *after* the `aes()` and a comma. -We've set the vertical jitter to 0 because, in contrast to the categorical *x*-axis, movement on the *y*-axis has meaning (the myoglobin levels). +- We've set the vertical jitter to 0 because, in contrast to the categorical + *x*-axis, movement on the *y*-axis has meaning (the myoglobin levels). -![](images/do_in_R.png) Let's make the points a light grey (edit your existing code): +![](images/do_in_R.png) Let's make the points a light grey (edit your + existing code): ```{r} ggplot() + @@ -215,9 +331,11 @@ ggplot() + colour = "grey50") ``` -Now to add the errorbars. These go from one standard error below the mean to one standard error above the mean. +Now to add the errorbars. These go from one standard error below the mean to +one standard error above the mean. -![](images/do_in_R.png) Add a `geom_errorbar()` for errorbars (edit your existing code): +![](images/do_in_R.png) Add a `geom_errorbar()` for errorbars (edit + your existing code): ```{r} ggplot() + @@ -230,36 +348,55 @@ ggplot() + ``` -We have specified the `seal_summary` dataframe and the variables `species`, `mean` and `se` are in that. -There are several ways you could add the mean. You could use `geom_point()` but I like to use `geom_errorbar()` again with the `ymin` and `ymax` both set to the mean. +Notice: + +- `geom_errorbar()` is the geom to plot error bars + +- we have given the data argument and the aesthetics inside the geom. + +- the variables given in the aes(), `species`, `mean` and `se`, are columns + in the dataframe, `seal_summary`, given in the data argument. + + +We would like to add the mean. You could use `geom_point()` but I like to +use another `geom_errorbar()` to get a line by setting `ymin` and `ymax` to +the mean. -![](images/do_in_R.png) Add a `geom_errorbar()` for the mean (edit your existing code): +![](images/do_in_R.png) Add a `geom_errorbar()` for the mean (edit your + existing code): ```{r} ggplot() + + # raw data geom_point(data = seal, aes(x = species, y = myoglobin), position = position_jitter(width = 0.1, height = 0), colour = "grey50") + + # error bars geom_errorbar(data = seal_summary, aes(x = species, ymin = mean - se, ymax = mean + se), width = 0.3) + + # line for the mean geom_errorbar(data = seal_summary, aes(x = species, ymin = mean, ymax = mean), width = 0.2) ``` -![](images/do_in_R.png) Alter the axis labels and limits using `scale_y_continuous()` and `scale_x_discrete()` (edit your existing code): +![](images/do_in_R.png) Alter the axis labels and limits using + `scale_y_continuous()` and `scale_x_discrete()` (edit your existing code): ```{r} ggplot() + + # raw data geom_point(data = seal, aes(x = species, y = myoglobin), position = position_jitter(width = 0.1, height = 0), colour = "grey50") + + # error bars geom_errorbar(data = seal_summary, aes(x = species, ymin = mean - se, ymax = mean + se), width = 0.3) + + # line for the mean geom_errorbar(data = seal_summary, aes(x = species, ymin = mean, ymax = mean), width = 0.2) + @@ -270,18 +407,24 @@ ggplot() + ``` -You only need to use `scale_y_continuous()` and `scale_x_discrete()` to use labels that are different from those in the dataset. Often this is to use proper terminology and captialisation. +You only need to use name in `scale_y_continuous()` and `scale_x_discrete()` to +use labels that are different from those in the dataset. Often this is to use +proper terminology and captialisation. -![](images/do_in_R.png) Format the figure in a way that is more suitable for including in a report using `theme_classic()` (edit your existing code): +![](images/do_in_R.png) Format the figure in a way that is more suitable for + including in a report using `theme_classic()` (edit your existing code): ```{r} ggplot() + + # raw data geom_point(data = seal, aes(x = species, y = myoglobin), position = position_jitter(width = 0.1, height = 0), colour = "grey50") + + # error bars geom_errorbar(data = seal_summary, aes(x = species, ymin = mean - se, ymax = mean + se), width = 0.3) + + # line for the mean geom_errorbar(data = seal_summary, aes(x = species, ymin = mean, ymax = mean), width = 0.2) + @@ -292,21 +435,24 @@ ggplot() + theme_classic() ``` - ### Writing figures to file ![](images/do_in_R.png) Make a new folder called `figures`. -![](images/do_in_R.png) Edit you ggplot code so that you assign the figure to a variable. +![](images/do_in_R.png) Edit your ggplot code so that you assign the figure + to a variable. ```{r} sealfig <- ggplot() + + # raw data geom_point(data = seal, aes(x = species, y = myoglobin), position = position_jitter(width = 0.1, height = 0), colour = "grey50") + + # error bars geom_errorbar(data = seal_summary, aes(x = species, ymin = mean - se, ymax = mean + se), width = 0.3) + + # line for the mean geom_errorbar(data = seal_summary, aes(x = species, ymin = mean, ymax = mean), width = 0.2) + @@ -317,9 +463,15 @@ sealfig <- ggplot() + theme_classic() ``` -The figure won't be shown in the Plots tab - the output has gone into `sealfig` rather than to the Plots tab. To make it appear in the Plots tab type `sealfig` +The figure won't be shown in the Plots tab - the output has gone into `sealfig` +rather than to the Plots tab. To make it appear in the Plots tab type `sealfig` + +There is a command to save the figure to a file. This is useful if you want to +include the figure in a report or presentation especially if you want good +control over the size and format of multiple figures. -![](images/do_in_R.png) The `ggsave()` command will write a ggplot figure to a file: +![](images/do_in_R.png) The `ggsave()` command will write a ggplot figure to + a file: ```{r} ggsave("figures/seal-muscle.png", @@ -331,21 +483,25 @@ ggsave("figures/seal-muscle.png", dpi = 300) ``` -`figuresseal-muscle.png` is the name of the file, including the relative path. - - -![](images/do_in_R.png) Look up `ggsave()` in the manual to understand the arguments. You can do this by putting your cursor on the command and pressing F1 +`figuresseal-muscle.png` is the name of the file, including the relative path. +![](images/do_in_R.png) Look up `ggsave()` in the manual to understand the + arguments. You can do this by putting your cursor on the command and + pressing F1 ## Pigeons -The data in [pigeon.txt](data-raw/pigeon.txt) are 40 measurements of interorbital width (in mm) for two populations of domestic pigeons measured to the nearest 0.1mm +The data in [pigeon.txt](data-raw/pigeon.txt) are 40 measurements of +interorbital width (in mm) for two populations of domestic pigeons measured to +the nearest 0.1mm -![Interorbital width is the distance between the eyes](images/interorbital.png){fig-alt="Photo of a domestic pigeon, head on, with an arrow showing the distance between the eyes."} +![Interorbital width is the distance between the eyes](images/interorbital.png){fig-alt="Photo of a domestic pigeon, head on, with an arrow showing the distance between the eyes."} ### Import -![](images/do_on_your_computer.png) Save [pigeon.txt](data-raw/pigeon.txt) to your `data-raw` folder +![](images/do_on_your_computer.png) Save [pigeon.txt](data-raw/pigeon.txt) to + your `data-raw` folder. + ![](images/do_in_R.png) Read the data into a dataframe called `pigeons`. @@ -366,7 +522,11 @@ pigeons <- read_table("data-raw/pigeon.txt") -Hummmm, these data are not organised like the other data sets we have used. The population is given as the column names and the interorbital distances for one population are given in a different column than those for the other population. The first row has data from two pigeons which have nothing in common, they just happen to be the first individual recorded in each population. +Hummmm, these data are not organised like the other data sets we have used. +The population is given as the column names and the interorbital distances for +one population are given in a different column than those for the other +population. The first row has data from two pigeons which have nothing in +common, they just happen to be the first individual recorded in each population. ```{r} #| echo: false @@ -377,7 +537,9 @@ knitr::kable(pigeons) |> This data is not in 'tidy' format [@Wickham2014-nl]. -Tidy format has variables in column and observations in rows. All of the distance measurements should be in one column and a second column should give the population. +Tidy format has variables in columns and observations in rows. All of the +distance measurements should be in one column with a second column giving +the population. ```{r} #| echo: false @@ -390,17 +552,24 @@ knitr::kable() |> kableExtra::scroll_box(height = "200px") ``` -Data which is in tidy format is easier to summarise, analyses and plot because the organisation matches the conceptual structure of the data: +Data which is in tidy format is easier to summarise, analyses and plot because +the organisation matches the conceptual structure of the data: -- it is more obvious what the variables are because they columns are named with them - in the untidy format, that the measures are distances is not clear and what A and B are isn't clear -- it is more obvious that there is no relationship between any of the pigeons except for population +- it is more obvious what the variables are because they columns are named + with them - in the untidy format, that the measures are distances is not + clear, and what A and B are isn't clear +- it is more obvious that there is no relationship between any of the pigeons + except for population - functions are designed to work with variables in columns ### Tidying data -We can put this data in such a format with the `pivot_longer()` function from the `tidyverse`: +We can put this data in such a format with the `pivot_longer()` function +from the `tidyverse`: -`pivot_longer()` collects the values from specified columns (`cols`) into a single column (`values_to`) and creates a column to indicate the group (`names_to`). +`pivot_longer()` collects the values from specified columns (`cols`) into a +single column (`values_to`) and creates a column to indicate the group +(`names_to`). ![](images/do_in_R.png) Put the data in tidy format: @@ -412,21 +581,31 @@ pigeons <- pivot_longer(data = pigeons, ``` -We have overwritten the original dataframe. If you wanted to keep the original you would need to give a new name on the left side of the assignment `<-` Note: the data in the file are unchanged. - +We have overwritten the original dataframe. If you wanted to keep the original +you would need to give a new name on the left side of the assignment +`<-` Note: the actual data in the file are unchanged, only the dataframe in R is +changed. ## Ulna and height -The datasets we have used up to this point, have had a continuous variable and a categorical variable where it makes sense to summarise the response for each of the different groups in the categorical variable and plot the response on the *y*-axis. We will now summarise a dataset with two continuous variables. The data in [height.txt](data-raw/height.txt) are the ulna length (cm) and height (m) of 30 people. In this case, it is more appropriate to summarise both of thee variables and to plot them as a scatter plot. - -We will use `summarise()` again but we do not need the `group_by()` function this time. We will also need to use each of the summary functions, such as `mean()`, twice, once for each variable. +The datasets we have used up to this point, have had a continuous variable and +a categorical variable where it makes sense to summarise the response for each +of the different groups in the categorical variable and plot the response on +the *y*-axis. We will now summarise a dataset with two continuous variables. +The data in [height.txt](data-raw/height.txt) are the ulna length (cm) and +height (m) of 30 people. In this case, it is more appropriate to summarise +both of thee variables and to plot them as a scatter plot. +We will use `summarise()` again but we do not need the `group_by()` function +this time. We will also need to use each of the summary functions, such as +`mean()`, twice, once for each variable. ### Import -![](images/do_on_your_computer.png) Save [height.txt](data-raw/height.txt) to your `data-raw` folder +![](images/do_on_your_computer.png) Save [height.txt](data-raw/height.txt) +to your `data-raw` folder -![](images/do_in_R.png) Read the data into a dataframe called `ulna_heights`. +![](images/do_in_R.png) Read the data into a dataframe called `ulna_heights`. ```{r} #| include: false @@ -437,7 +616,9 @@ ulna_heights <- read_table("data-raw/height.txt") ### Summarise -![](images/do_in_R.png) Create a data frame called `ulna_heights_summary` that contains the sample size and means, standard deviations and standard errors for both variables. +![](images/do_in_R.png) Create a data frame called `ulna_heights_summary` that +contains the sample size and means, standard deviations and standard errors +for both variables. ```{r} ulna_heights_summary <- ulna_heights |> @@ -460,9 +641,12 @@ knitr::kable(ulna_heights_summary) |> kableExtra::kable_styling() ### Visualise -To plot make a scatter plot we need to use `geom_point()` again but without any scatter. In this case, it does not really matter which variable is on the *x*-axis and which is on the *y*-axis. +To plot make a scatter plot we need to use `geom_point()` again but without +any scatter. In this case, it does not really matter which variable is on +the *x*-axis and which is on the *y*-axis. + +![](images/do_in_R.png) Make a simple scatter plot: -![](images/do_in_R.png) Make a simple scatter plot ```{r} ggplot(data = ulna_heights, aes(x = ulna, y = height)) + geom_point() @@ -492,10 +676,16 @@ ggsave("figures/ulna_heights.png", dpi = 300) ``` +## Look after future you! - +Future you is going to summarise and plot data from the "River practicals". +You can make this much easier by documenting what you have done now. Go through +your script (`summarise-plot-data-with-several-vars.R`) and remove code that +you do not need. Add comments to the code you do need to explain what it does. + + + - You're finished! # 🥳 Well Done! 🎉 @@ -506,13 +696,18 @@ You're finished! [Consolidate](study_after_workshop.qmd) - # The Code file -This contains all the code needed in the workshop even where it is not visible on the webpage. +This contains all the code needed in the workshop even where it is not visible +on the webpage. -The `workshop.qmd` file is the file I use to compile the practical. Qmd stands for Quarto markdown. It allows code and ordinary text to be interweaved to produce well-formatted reports including webpages. [View the Qmd in Browser](https://github.com/3mmaRand/R4BABS/blob/main/r4babs1/week-9/workshop.qmd). Coding and thinking answers are marked with `#---CODING ANSWER---` and `#---THINKING ANSWER---` +The `workshop.qmd` file is the file I use to compile the practical. Qmd stands +for Quarto markdown. It allows code and ordinary text to be interweaved to +produce well-formatted reports including webpages. [View the Qmd in Browser](https://github.com/3mmaRand/R4BABS/blob/main/r4babs1/week-9/workshop.qmd). +Coding and thinking answers are marked with `#---CODING ANSWER---` and +`#---THINKING ANSWER---` -Pages made with R [@R-core], Quarto [@allaire2022], `knitr` [@knitr], `kableExtra` [@kableExtra] +Pages made with R [@R-core], Quarto [@allaire2022], `knitr` [@knitr], +`kableExtra` [@kableExtra] # References