-
Notifications
You must be signed in to change notification settings - Fork 1
/
quick_start.Rmd
123 lines (101 loc) · 4.84 KB
/
quick_start.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
---
title: "reslr: quick start guide"
author: "Maeve Upton, Andrew Parnell and Niamh Cahill"
date: "`r Sys.Date()`"
output:
rmarkdown::html_vignette:
toc: true
vignette: >
%\VignetteIndexEntry{reslr: quick start guide}
%\VignetteEncoding{UTF-8}
%\VignetteEngine{knitr::rmarkdown}
editor_options:
chunk_output_type: console
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"#,
#fig.path = "qs_vig/"
)
options(rmarkdown.html_vignette.check_title = FALSE)
```
## Step 1: install `reslr`
Use:
```{r, eval = FALSE, results='hide',message=FALSE}
# Not on CRAN yet
#install.packages("reslr")
#devtools::install_github("maeveupton/reslr")
install_github("maeveupton/reslr")
```
then,
```{r, start, message=FALSE}
library(reslr)
```
Note: The JAGS software is a requirement for this instruction sheet and refer back to main vignettes for more information.
## Step 2: load in the data into `reslr`
There is a large example dataset included in the `reslr` package called `NAACproxydata`. In this example, we demonstrate how to include proxy record data which is stored in a csv file. This csv file of data can be found in the package and the `readr` function reads the csv file:
```{r, run_data_qs, eval = TRUE}
path_to_data <- system.file("extdata", "one_data_site_ex.csv", package = "reslr")
example_one_datasite <- read.csv(path_to_data)
```
Using the `reslr_load` function to read in the data into the `reslr` package:
```{r, loadslr_qs, eval = TRUE, message=FALSE, results='hide'}
example_one_site_input <- reslr_load(
data = example_one_datasite)
```
## Step 3: plot the data
```{r, plotdata_qs,fig.align = 'center',fig.width = 7,fig.height = 5,eval = TRUE}
plot(
x = example_one_site_input,
title = "Plot of the raw data",
xlab = "Year (CE)",
ylab = "Relative Sea Level (m)",
plot_tide_gauges = FALSE,
plot_caption = TRUE
)
```
## Step 4: Run your statistical model and check convergence
Select your modelling technique from the modelling options available:
| Statistical Model | Model Information | `model_type` code |
| ---- | ------- | -- |
| Errors in variables simple linear regression | A straight line of best fit taking account of any age and measurement errors in the RSL values using the method of Cahill et al (2015). Use for single proxy site. | **"eiv_slr_t"** |
| Errors in variables change point model | An extension of the linear regression modelling process. It uses piece-wise linear sections and estimates where/when trend changes occur in the data (Cahill et al. 2015). | **"eiv_cp_t"** |
| Errors in variables integrated Gaussian Process | A non linear fit that utilities a Gaussian process prior on the rate of sea-level change that is then integrated (Cahill et al. 2015). | **"eiv_igp_t"** |
| Noisy Input spline in time | A non-linear fit using regression splines using the method of Upton et al (2023). | **"ni_spline_t"** |
| Noisy Input spline in space and time | A non-linear fit for a set of sites across a region using the method of Upton et al (2023). | **"ni_spline_st"**|
| Noisy Input Generalised Additive model for the decomposition of the RSL signal | A non-linear fit for a set of sites across a region and provides a decomposition of the signal into regional, local-linear (commonly GIA) and local non-linear components. Again this full model is as described in Upton et al (2023). | **"ni_gam_decomp"** |
For this example, it is a single site and we are interested in how it varies over time select the Noisy Input spline in time. If it was multiple sites, we recommend using a spatial temporal model, i.e. Noisy Input spline in space and time, or for decomposing the signal, i.e. Noisy Input Generalised Additive model.
Once the model is chosen use the `reslr_mcmc` function to run it:
```{r, runslr_qs,eval = TRUE,message=FALSE, results='hide'}
res_one_site_example <- reslr_mcmc(
input_data = example_one_site_input,
model_type = "ni_spline_t",
CI = 0.95
)
```
The convergence of the algorithm is examined and he parameter estimates from the model can be investigated using the following:
```{r, summaryslr_qs, eval = TRUE}
summary(res_one_site_example)
```
## Step 5: Plot the results
The model fit results can be visualised using the following function:
```{r, plotres_qs, fig.align = 'center',fig.width = 7,fig.height = 5,eval = TRUE}
plot(res_one_site_example,
xlab = "Year (CE)",
ylab = "Relative Sea Level (m)",
plot_type = "model_fit_plot"
)
```
For the rate of change plot use:
```{r, plotresrate_qs, fig.align = 'center',fig.width = 7,fig.height = 5,eval = TRUE}
plot(res_one_site_example,
plot_type = "rate_plot"
)
```
To examine the data creating these plots the user types the following:
```{r, dataframeslrres_qs, eval = TRUE}
output_dataframes <- res_one_site_example$output_dataframes
head(output_dataframes)
```
To examine the additional options in the `reslr` package, see the main vignette.