Introduction to R: Data
May 14, 2024 (Version 0.2)
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 interpreting 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 Length:34
## 1st Qu.:0.5272 1st Qu.: 597.5 Class :character
## Median :0.7100 Median : 847.5 Mode :character
## 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:2023,
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, 0, 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, 8167, 8533),
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, 8175, 8547),
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.0000 Min. :1947-05-09 Min. :1947-05-17
## 1st Qu.:1966 1st Qu.:0.0000 1st Qu.:1966-05-08 1st Qu.:1966-05-18
## Median :1985 Median :0.0000 Median :1985-05-12 Median :1985-05-21
## Mean :1985 Mean :0.3117 Mean :1985-05-12 Mean :1985-05-24
## 3rd Qu.:2004 3rd Qu.:0.0000 3rd Qu.:2004-05-11 3rd Qu.:2004-05-27
## Max. :2023 Max. :5.0000 Max. :2023-05-13 Max. :2023-05-27
## may1st bud_burst_days_since_may1st
## Min. :1947-05-01 Min. :-4.00
## 1st Qu.:1966-05-01 1st Qu.: 8.00
## Median :1985-05-01 Median :11.00
## Mean :1985-04-30 Mean :11.69
## 3rd Qu.:2004-05-01 3rd Qu.:16.00
## Max. :2023-05-01 Max. :23.00
## end_1st_dev_stage_days_since_may1st
## Min. : 8.00
## 1st Qu.:20.00
## Median :24.00
## Mean :23.44
## 3rd Qu.:28.00
## 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). 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): 448–52. https://doi.org/10.1139/x82-069.
Private webpage: uncertaintree.github.io↩︎