Introduction to R: Data
Oktober 27, 2021 (Version 0.1)
All contents are licensed under CC BY-NC-ND 4.0.
1 Drought
Data basis: Fischer et al. (2006). For further context information, another source working on and interpereting this data is Dobbertin, Neumann, and Schroeck (2013, 202–3).
bair <- c(.505, .648, .523, .426, .64, .5, .257, .866, .434, .368, .54, .923, .702,
.615, 1.013, .807, .262, .887, 1.281, 1.125, .99, 1.2, .983, .697, .606,
.718, .48, .822, .944, .77, 1.036, 1.23, .68, .985)
elev <- c(335, 460, 480, 515, 540, 650, 680, 715, 730, 835, 860, 960,
1020, 1025, 1100, 1150, 1150, 1170, 1190, 1350, 1400, 1500, 1540,
475, 480, 507.5, 580, 750, 780, 800, 1025, 1100, 1150, 1200)
species <- c("Spruce", "Spruce", "Spruce", "Spruce", "Spruce", "Spruce",
"Spruce", "Spruce", "Spruce", "Spruce", "Spruce", "Spruce", "Spruce",
"Spruce", "Spruce", "Spruce", "Spruce", "Spruce", "Spruce", "Spruce",
"Spruce", "Spruce", "Spruce", "Beech", "Beech", "Beech", "Beech",
"Beech", "Beech", "Beech", "Beech", "Beech", "Beech", "Beech")
drought <- data.frame(bair = bair,
elev = elev,
species = species)
rm(bair, elev, species)
summary(drought)
## bair elev species
## Min. :0.2570 Min. : 335.0 Beech :11
## 1st Qu.:0.5272 1st Qu.: 597.5 Spruce:23
## Median :0.7100 Median : 847.5
## Mean :0.7489 Mean : 888.3
## 3rd Qu.:0.9732 3rd Qu.:1150.0
## Max. :1.2810 Max. :1540.0
2 Frost
Data basis: Deutscher Wetterdienst, values shown here were generated based individual values, code by myself.
Direct download links for data basis (Stations Id 1691, Goettingen):
Some definitions:
- Budburst is estimated based on first day where \(\text{dd}>220\) (Thomson and Moncrieff 1982) [degree days \(\text{dd}\), start counting on March, 20].
- End of 1st development stage is estimated based on first day where \(\text{dd}>320\) (start counting on March, 20). … I need to re-discover the source stating that 1st dev. stage is about 100 dd
- Definition frost event: \(\min\left(\text{Temp}_{50\text{cm}}\right) < -1.95^\circ\text{C}\) (Hannerz 1994).
frost <- data.frame(year = 1947:2021,
n_frost = c(0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1,
0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0,
3, 2, 0, 0, 0, 0, 0, 0, 1, 5, 0),
bud_burst = as.Date(c(-19230, -18867, -18503, -18127, -17758, -17408, -17034,
-16661, -16293, -15929, -15566, -15202, -14847, -14475,
-14121, -13744, -13384, -13017, -12647, -12291, -11917,
-11563, -11191, -10821, -10462, -10092, -9720, -9361,
-8997, -8635, -8261, -7896, -7530, -7164, -6808, -6436,
-6078, -5705, -5347, -4981, -4619, -4254, -3883, -3524,
-3145, -2788, -2437, -2060, -1694, -1322, -958, -602,
-237, 124, 499, 864, 1222, 1592, 1957, 2321, 2681, 3055,
3408, 3789, 4137, 4513, 4877, 5234, 5610, 5976, 6345,
6691, 7074, 7435, 7812),
origin = as.Date("2000-01-01")),
end_1st_dev_stage = as.Date(c(-19222, -18859, -18489, -18118, -17746, -17397,
-17026, -16650, -16280, -15921, -15552, -15192,
-14837, -14464, -14104, -13726, -13370, -13006,
-12633, -12281, -11905, -11545, -11180, -10808,
-10455, -10078, -9710, -9349, -8984, -8623, -8248,
-7886, -7521, -7151, -6799, -6427, -6068, -5691,
-5338, -4972, -4601, -4246, -3875, -3513, -3131,
-2780, -2426, -2050, -1679, -1311, -944, -594,
-225, 132, 510, 873, 1235, 1608, 1972, 2332, 2694,
3067, 3422, 3802, 4152, 4525, 4891, 5250, 5623,
5988, 6354, 6703, 7086, 7450, 7824),
origin = as.Date("2000-01-01")))
frost$may1st <- as.Date(paste0(frost$year, "-05-01"))
frost$bud_burst_days_since_may1st <- julian(frost$bud_burst, origin = as.Date("2000-01-01")) -
julian(frost$may1st, origin = as.Date("2000-01-01"))
frost$end_1st_dev_stage_days_since_may1st <- julian(frost$end_1st_dev_stage,
origin = as.Date("2000-01-01")) -
julian(frost$may1st, origin = as.Date("2000-01-01"))
summary(frost)
## year n_frost bud_burst end_1st_dev_stage
## Min. :1947 Min. :0.00 Min. :1947-05-09 Min. :1947-05-17
## 1st Qu.:1966 1st Qu.:0.00 1st Qu.:1965-11-11 1st Qu.:1965-11-23
## Median :1984 Median :0.00 Median :1984-05-19 Median :1984-06-02
## Mean :1984 Mean :0.32 Mean :1984-05-12 Mean :1984-05-24
## 3rd Qu.:2002 3rd Qu.:0.00 3rd Qu.:2002-11-09 3rd Qu.:2002-11-20
## Max. :2021 Max. :5.00 Max. :2021-05-22 Max. :2021-06-03
## may1st bud_burst_days_since_may1st
## Min. :1947-05-01 Min. :-4.00
## 1st Qu.:1965-10-30 1st Qu.: 8.00
## Median :1984-05-01 Median :11.00
## Mean :1984-04-30 Mean :11.69
## 3rd Qu.:2002-10-30 3rd Qu.:16.00
## Max. :2021-05-01 Max. :23.00
## end_1st_dev_stage_days_since_may1st
## Min. : 8.00
## 1st Qu.:20.00
## Median :24.00
## Mean :23.47
## 3rd Qu.:28.50
## Max. :36.00
3 df
This is just re-named spati2
that ships with lmfor
(Mehtatalo 2019):
## plot d h n
## Min. : 1.00 Min. : 1.50 Min. : 1.900 Min. : 7.00
## 1st Qu.:28.00 1st Qu.: 6.20 1st Qu.: 6.000 1st Qu.: 17.00
## Median :56.00 Median :10.20 Median : 8.000 Median : 58.00
## Mean :45.41 Mean :11.66 Mean : 9.566 Mean : 54.96
## 3rd Qu.:61.00 3rd Qu.:14.70 3rd Qu.:11.700 3rd Qu.: 84.00
## Max. :66.00 Max. :51.00 Max. :28.000 Max. :105.00
## dvar dmean
## Min. : 1.867 Min. : 4.821
## 1st Qu.: 2.818 1st Qu.: 6.736
## Median : 3.691 Median :10.879
## Mean : 4.649 Mean :11.660
## 3rd Qu.: 5.621 3rd Qu.:14.168
## Max. :15.636 Max. :29.569
4 All-in-one
… just for convenience, copy-paste only once!
library("lmfor")
bair <- c(.505, .648, .523, .426, .64, .5, .257, .866, .434, .368, .54, .923, .702,
.615, 1.013, .807, .262, .887, 1.281, 1.125, .99, 1.2, .983, .697, .606,
.718, .48, .822, .944, .77, 1.036, 1.23, .68, .985)
elev <- c(335, 460, 480, 515, 540, 650, 680, 715, 730, 835, 860, 960,
1020, 1025, 1100, 1150, 1150, 1170, 1190, 1350, 1400, 1500, 1540,
475, 480, 507.5, 580, 750, 780, 800, 1025, 1100, 1150, 1200)
species <- c("Spruce", "Spruce", "Spruce", "Spruce", "Spruce", "Spruce",
"Spruce", "Spruce", "Spruce", "Spruce", "Spruce", "Spruce", "Spruce",
"Spruce", "Spruce", "Spruce", "Spruce", "Spruce", "Spruce", "Spruce",
"Spruce", "Spruce", "Spruce", "Beech", "Beech", "Beech", "Beech",
"Beech", "Beech", "Beech", "Beech", "Beech", "Beech", "Beech")
drought <- data.frame(bair = bair,
elev = elev,
species = species)
frost <- data.frame(year = 1947:2021,
n_frost = c(0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1,
0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0,
3, 2, 0, 0, 0, 0, 0, 0, 1, 5, 0),
bud_burst = as.Date(c(-19230, -18867, -18503, -18127, -17758, -17408, -17034,
-16661, -16293, -15929, -15566, -15202, -14847, -14475,
-14121, -13744, -13384, -13017, -12647, -12291, -11917,
-11563, -11191, -10821, -10462, -10092, -9720, -9361,
-8997, -8635, -8261, -7896, -7530, -7164, -6808, -6436,
-6078, -5705, -5347, -4981, -4619, -4254, -3883, -3524,
-3145, -2788, -2437, -2060, -1694, -1322, -958, -602,
-237, 124, 499, 864, 1222, 1592, 1957, 2321, 2681, 3055,
3408, 3789, 4137, 4513, 4877, 5234, 5610, 5976, 6345,
6691, 7074, 7435, 7812),
origin = as.Date("2000-01-01")),
end_1st_dev_stage = as.Date(c(-19222, -18859, -18489, -18118, -17746, -17397,
-17026, -16650, -16280, -15921, -15552, -15192,
-14837, -14464, -14104, -13726, -13370, -13006,
-12633, -12281, -11905, -11545, -11180, -10808,
-10455, -10078, -9710, -9349, -8984, -8623, -8248,
-7886, -7521, -7151, -6799, -6427, -6068, -5691,
-5338, -4972, -4601, -4246, -3875, -3513, -3131,
-2780, -2426, -2050, -1679, -1311, -944, -594,
-225, 132, 510, 873, 1235, 1608, 1972, 2332, 2694,
3067, 3422, 3802, 4152, 4525, 4891, 5250, 5623,
5988, 6354, 6703, 7086, 7450, 7824),
origin = as.Date("2000-01-01")))
frost$may1st <- as.Date(paste0(frost$year, "-05-01"))
frost$bud_burst_days_since_may1st <- julian(frost$bud_burst, origin = as.Date("2000-01-01")) -
julian(frost$may1st, origin = as.Date("2000-01-01"))
frost$end_1st_dev_stage_days_since_may1st <- julian(frost$end_1st_dev_stage,
origin = as.Date("2000-01-01")) -
julian(frost$may1st, origin = as.Date("2000-01-01"))
data(spati2)
df <- spati2
rm(bair, elev, species, spati2)
ls()
## [1] "df" "drought" "frost"
References
Dobbertin, Matthias, Markus Neumann, and Hans-Werner Schroeck. 2013. “Tree Growth Measurements in Long-Term Forest Monitoring in Europe.” In, 183–204. Elsevier. https://doi.org/10.1016/b978-0-08-098222-9.00010-8.
Fischer, R, M Dobbertin, O Granke, K Karoles, M Köhl, P Kraft, P Meyer, et al. 2006. “The Condition of Forests in Europe. 2006 Executive Report.” UNECE, Hamburg.
Hannerz, Mats. 1994. “Predicting the Risk of Frost Occurrence After Budburst of Norway Spruce in Sweden.” 28 (4). Finnish Society of Forest Science. https://doi.org/10.14214/sf.a9175.
Mehtatalo, Lauri. 2019. Lmfor: Functions for Forest Biometrics. https://CRAN.R-project.org/package=lmfor.
Thomson, A. J., and S. M. Moncrieff. 1982. “Prediction of Bud Burst in Douglas-Fir by Degree-Day Accumulation” 12 (2). Canadian Science Publishing: 448–52. https://doi.org/10.1139/x82-069.
Private webpage: uncertaintree.github.io↩