install.packages("patchwork")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.5'
## (as 'lib' is unspecified)
read.csv("rspb20181715supp3.csv")
## date ID material context manutimeuse manutime
## 1 2015-01-24 JN leaf sponge log expe 21 19
## 2 2015-01-12 KB moss sponge log expe 6 4
## 3 2014-01-23 KH moss sponge log expe 6 3
## 4 2015-01-08 KR moss sponge log expe 5 5
## 5 2015-01-17 KR leaf sponge log expe 8 6
## 6 2014-01-16 KZ leaf sponge log expe 23 21
## 7 2015-01-20 ML leaf sponge log expe 18 18
## 8 2014-01-23 NB moss sponge log expe 8 7
## 9 2014-01-23 NT leaf sponge log expe 12 10
## 10 2014-01-16 NT moss sponge log expe 5 1
## 11 2014-01-15 RF leaf sponge log expe 6 4
## 12 2015-01-22 RF leaf sponge log expe 6 5
## 13 2015-01-22 RF leaf sponge log expe 7 5
## 14 2015-01-08 RF leaf sponge log expe 9 9
## 15 2015-01-22 RF leaf sponge log expe 12 11
## 16 2014-01-15 RS leaf sponge log expe 8 7
## 17 2015-01-22 RS leaf sponge log expe 9 8
## 18 2015-01-08 RS leaf sponge log expe 11 8
## 19 2015-01-22 RS moss sponge log expe 11 11
## 20 2015-01-20 SM leaf sponge log expe 7 6
## 21 2015-01-17 ST moss sponge log expe 6 5
## 22 2014-01-16 UP leaf sponge log expe 8 6
## 23 2014-01-23 ZG leaf sponge log expe 21 18
## 24 2014-01-23 ZG leaf sponge log expe 25 21
## 25 2015-01-20 ZL moss sponge log expe 10 8
read.csv("rspb20181715supp2.csv")
## ID mossed cond state
## 1 HW 1 knowledge knowledge
## 2 JN 1 knowledge knowledge
## 3 JS 1 knowledge knowledge
## 4 KB 1 knowledge knowledge
## 5 KH 0 knowledge knowledge
## 6 KR 1 knowledge knowledge
## 7 KS 0 knowledge knowledge
## 8 KW 1 knowledge knowledge
## 9 KZ 0 knowledge knowledge
## 10 MB 0 knowledge knowledge
## 11 ML 0 knowledge knowledge
## 12 NB 1 knowledge knowledge
## 13 NT 1 knowledge knowledge
## 14 RF 0 knowledge knowledge
## 15 RS 0 knowledge knowledge
## 16 SM 0 knowledge knowledge
## 17 ST 0 knowledge knowledge
## 18 UP 1 knowledge knowledge
## 19 ZG 0 knowledge knowledge
## 20 ZL 0 knowledge knowledge
## 21 HW NA log1 logexp
## 22 JN NA log1 logexp
## 23 JS 1 log1 logexp
## 24 KB NA log1 logexp
## 25 KH 1 log1 logexp
## 26 KR NA log1 logexp
## 27 KS 0 log1 logexp
## 28 KW NA log1 logexp
## 29 KZ 0 log1 logexp
## 30 MB NA log1 logexp
## 31 ML NA log1 logexp
## 32 NB 1 log1 logexp
## 33 NT 1 log1 logexp
## 34 RF 0 log1 logexp
## 35 RS 0 log1 logexp
## 36 SM NA log1 logexp
## 37 ST NA log1 logexp
## 38 UP 0 log1 logexp
## 39 ZG 0 log1 logexp
## 40 ZL NA log1 logexp
## 41 HW 1 log2 logexp
## 42 JN 0 log2 logexp
## 43 JS NA log2 logexp
## 44 KB 1 log2 logexp
## 45 KH NA log2 logexp
## 46 KR 1 log2 logexp
## 47 KS NA log2 logexp
## 48 KW 1 log2 logexp
## 49 KZ NA log2 logexp
## 50 MB 0 log2 logexp
## 51 ML 0 log2 logexp
## 52 NB NA log2 logexp
## 53 NT NA log2 logexp
## 54 RF NA log2 logexp
## 55 RS NA log2 logexp
## 56 SM 0 log2 logexp
## 57 ST 1 log2 logexp
## 58 UP NA log2 logexp
## 59 ZG NA log2 logexp
## 60 ZL 1 log2 logexp
## 61 HW 1 claypitexp claypitexp
## 62 JN NA claypitexp claypitexp
## 63 JS 1 claypitexp claypitexp
## 64 KB 1 claypitexp claypitexp
## 65 KH 0 claypitexp claypitexp
## 66 KR 1 claypitexp claypitexp
## 67 KS NA claypitexp claypitexp
## 68 KW 1 claypitexp claypitexp
## 69 KZ 0 claypitexp claypitexp
## 70 MB 0 claypitexp claypitexp
## 71 ML 0 claypitexp claypitexp
## 72 NB 0 claypitexp claypitexp
## 73 NT 0 claypitexp claypitexp
## 74 RF NA claypitexp claypitexp
## 75 RS 0 claypitexp claypitexp
## 76 SM NA claypitexp claypitexp
## 77 ST NA claypitexp claypitexp
## 78 UP 0 claypitexp claypitexp
## 79 ZG 0 claypitexp claypitexp
## 80 ZL NA claypitexp claypitexp
figure1=read.csv("rspb20181715supp5.csv")
str("rspb20181715supp5.csv")
## chr "rspb20181715supp5.csv"
library(ggplot2)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyverse)
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ forcats 1.0.1 ✔ stringr 1.6.0
## ✔ lubridate 1.9.5 ✔ tibble 3.3.1
## ✔ purrr 1.2.1 ✔ tidyr 1.3.2
## ✔ readr 2.2.0
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(ggimage)
library(patchwork)
long_format=figure1 %>%
pivot_longer(cols=c(plant,moss),
names_to="material",
values_to="volume") %>%
mutate(material=ifelse(material=="plant","leaves","moss"))
summary_stat=long_format%>%
group_by(material, location)%>%
summarise(mean=mean(volume), se=sd(volume)/sqrt(n()),.groups = "drop")
ggplot(long_format, aes(x=location, y=volume, color=material))+
geom_jitter(width=0.1,size=2,alpha=0.7,shape=15)+
geom_errorbar(data = summary_stat, aes(y=mean, ymin= mean-se, ymax=mean+se),width=.2, position = position_dodge(width = 0.4),linewidth=1)+
scale_color_viridis_d(option = "D")+
theme_minimal()
For this figure, I simply changed the colors to a
color blind friendly option. As well as added more points and included
outliers that were not present in the initial figure. The location of
the legend was changed simply moved because I do not know how to move it
into the corner.
out_L=figure1 %>%
group_by(location) %>%
mutate(
Q1=quantile(moss,0.25,na.rm=TRUE),
Q3=quantile(moss,0.75,na.rm=TRUE),
IQR=Q3-Q1,
is_outlier = moss < (Q1 - 1.5 * IQR) | moss > (Q3 + 1.5 * IQR)
) %>%
filter(is_outlier)
out_R=figure1 %>%
group_by(location) %>%
mutate(
Q1=quantile(plant,0.25,na.rm=TRUE),
Q3=quantile(plant,0.75,na.rm=TRUE),
IQR=Q3-Q1,
is_outlier = plant < (Q1 - 1.5 * IQR) | plant > (Q3 + 1.5 * IQR)
) %>%
filter(is_outlier)
sum_L=figure1 %>%
group_by(location) %>%
summarise(mean=mean(moss,na.rm=TRUE),se=sd(moss,na.rm = TRUE)/sqrt(n()),.groups="drop")
sum_R=figure1 %>%
group_by(location) %>%
summarise(mean=mean(plant,na.rm=TRUE),se=sd(plant,na.rm = TRUE)/sqrt(n()),.groups="drop")
figl=ggplot(figure1,aes(x=location,y=moss))+
geom_boxplot(fill="white",outlier.shape=NA)+
geom_point(data=out_L, aes(y=moss),shape=1,size=3,alpha=0.7)+
labs(
x="",
y="no. patches",
title="(i) moss-sponge material")+
theme_minimal()
figr=ggplot(figure1,aes(x=location,y=plant))+
geom_boxplot(fill="white",outlier.shape=NA)+
geom_point(data=out_R, aes(y=plant),shape=1,size=3,color="black",alpha=0.7)+
labs(
x="",
y="no. stems",
title="(ii) leaf-sponge material")+
theme_minimal()
Figure2=figl+figr
Figure2
My second replicated figure was slightly changes
because I could not add the dashed line on the whiskers and the lines at
the end as well. The values are also slightly formatted different yet
the message stays clear across my figure.