Das R-Paket ForestElementsR als forstlicher Taschenrechner - Eine Schritt-für-Schritt-Einführung
von Peter Biber, Astor Toraño Caicoya und Hans-Joachim Klemmt

Die frei verfügbare Software ForestElementsR bringt Methoden der Waldmesslehre in zeitgemäßer Form auf Ihren Rechner. Das Paket bildet die technische Basis für ein langfristiges Konzept: traditionelle und alternative Ansätze zur Auswertung von Inventuren und zur Forstplanung werden sich damit flexibel umsetzen lassen. In unserem Artikel „Das R-Paket ForestElementsR – ein forstlicher Taschenrechner und mehr“ beschreiben wir den Hintergrund. Auf dieser Seite zeigen wir ein Beispiel: ForestElementsR als „forstlicher Taschenrechner“.

Hintergrund

Der Artikel „Das R-Paket ForestElementsR – ein forstlicher Taschenrechner und mehr“ stellt das Konzept und den Entwicklungsstand unseres Vorhabens vor. ForestElementsR bündelt grundlegende Verfahren und Objekte, die wir in unserer darauf aufbauenden Software FeNeu so kombinieren, dass die Auswertung ganzer Forstinventuren möglich wird. Dazu entwickeln wir eine grafische Benutzeroberfläche (FeNeuShiny), die wahlweise eingesetzt werden kann. Während FeNeu und FeNeuShiny derzeit noch in Entwicklung sind, steht ForestElementsR schon jetzt frei zur Verfügung (siehe unten „Download und Installation”).
Die Praxis hat gezeigt: Besonders gefragt ist ForestElementsR als schneller “forstlicher Taschenrechner”. Daher finden Sie hier ein Beispiel, das Sie Schritt für Schritt nacharbeiten können. Beachten Sie aber: Die Möglichkeiten von ForestElementsR reichen weit über diese Anwendung hinaus.

Schritt für Schritt zum Forst-Taschenrechner

Wenn Sie sich fragen, was genau R eigentlich ist, finden Sie am Ende der Seite Einführungsliteratur. Für Anwender mit R-Erfahrung stellen wir unser Beispiel zusätzlich als R-Skript zum Download zur Verfügung. Doch gehen wir konkret an die Arbeit:

R-Beispielskript: Forstlicher Taschenrechner 10 KB

Download und Installation

Die Schritte 1-3 der folgenden Anleitung können übersprungen werden, wenn R und RStudio (empfohlen) bereits auf Ihrem Rechner installiert sind.

  • Laden Sie R kostenlos von https://www.r-project.org/ herunter.
  • Installieren Sie R entsprechend Ihrem Betriebssystem (Windows, macOS, Linux).
  • Empfohlen: Installieren Sie zusätzlich die Benutzeroberfläche RStudio von https://posit.co/downloads/. Die kostenlose Version „RStudio Desktop“ genügt auch professionellen Ansprüchen.
  • Starten Sie RStudio (bzw. R, wenn Sie RStudio nicht installiert haben) und geben Sie in die Kommandozeile ein:
install.packages("ForestElementsR")

R lädt das Paket von CRAN und installiert es mit allen anderen dafür benötigten Paketen, falls diese noch nicht vorhanden sind.

Einfache Operationen mit R

Wenn R gestartet ist, ist eine Eingabe an der Kommandozeile im „Taschenrechner-Stil“ der einfachste Weg, der Software Befehle zu übermitteln. Eine einfache Rechenoperation wäre wie folgt einzugeben

17 + 4

und würde zu folgender Antwort führen:

#> [1] 21

Möglich sind auch komplexere Eingaben; z.B. stellt der Befehl

curve(sin(x^2), -3, 3, col = "red")

die mathematische Funktion y=sin(x²) im Bereich −3<x<3 in roter Farbe graphisch dar:

Grafische Darstellung der Funktion y=sin(x2)

Einzelbäume und Mitteldurchmesser

Um auf die Befehle des Paketes ForestElementsR zugreifen zu können, müssen diese zunächst mit
library(ForestElementsR)

verfügbar gemacht werden. Nehmen wir an, es wurde in einem Bestand an einer Stichprobe von elf Bäumen jeweils der Brusthöhendurchmesser (bhd) in cm gemessen. Mit folgendem Befehl werden die elf Durchmesserwerte zu einem sogenannten Vektor verbunden und dieser wird mit dem Namen „bhd“ versehen:
bhd <- c(12, 23, 10.4, 19, 21, 27, 35, 23, 21, 19, 32)

Zu beachten ist dabei, dass R Zahlen nach internationalen Standards behandelt, d.h. das Dezimaltrennzeichen ist ein Punkt, und Kommata trennen verschiedene Zahlen voneinander. Um den Inhalt von „bhd“ anzuzeigen, wird einfach „bhd“ getippt und man erhält folgerichtig:
bhd
#> [1] 12.0 23.0 10.4 19.0 21.0 27.0 35.0 23.0 21.0 19.0 32.0

Der „[1]“ am Anfang der Antwortzeile braucht hier keine weitere Beachtung geschenkt zu werden. Sie ist Teil eines Darstellungsprinzips, das sich bei größeren Datenmengen selbst erklärt. Den durchschnittlichen bhd könnte man, ganz ohne ForestElementsR, mithilfe der Funktion mean() erhalten:
mean(bhd)
#> [1] 22.03636

Allerdings ist der so erhaltene arithmetische Mitteldurchmesser für forstliche Anwendungen weniger geeignet und üblich als der (stets etwas größere) Durchmesser des Grundflächenmittelstamms. Diesen erhält man mit Hilfe der Funktion d_q() aus ForestElementsR
d_q(bhd)
#> [1] 23.14413

Eine Dokumentation zur Funktion d_q() wie für jede andere R-Funktion erhält man, wenn man dem Namen der Funktion ein Fragezeichen voranstellt:
?d_q

Stammdurchmesser und Winkelzählprobe

Nehmen wir an, die oben aufgeführten Durchmesser stammen von Bäumen, die mittels einer Winkelzählprobe mit einem Zählfaktor von 4 erhoben wurden. Da jeder der Bäume damit eine Grundfläche von 4 m²/ha repräsentiert, repräsentiert jeder Baum, abhängig von seinem Durchmesser eine andere Stammzahl je ha. Dies muss bei der Berechnung des Mitteldurchmessers berücksichtigt werden. Dazu berechnen wir die Grundfläche jedes einzelnen Baumes nach der Kreisflächenformel und rechnen sie per Division durch 10000 von cm² in m² um:
g <- bhd^2 * pi / 4 / 10000

Die Variable g enthält nun für jeden der elf Bäume dessen Grundfläche in m²:
g
#> [1] 0.011309734 0.041547563 0.008494867 0.028352874 0.034636059 0.057255526
#> [7] 0.096211275 0.041547563 0.034636059 0.028352874 0.080424772

Teilt man den Zählfaktor der Winkelzählprobe (4 m²/ha) durch die Kreisflächen der Einzelbäume, erhält man für jeden Baum die Stammzahl je ha, die er repräsentiert:
n_rep <- 4 / g
n_rep
#> [1] 353.67765 96.27520 470.87261 141.07917 115.48658 69.86225 41.57517
#> [8] 96.27520 115.48658 141.07917 49.73592

Nebenbei erhält man einen Schätzwert für die Stammzahl je des Gesamtbestandes durch Aufsummieren dieser Stammzahlen mit der Funktion sum(), die R standardmäßig bereitstellt:
sum(n_rep)
#> [1] 1691.406

Nutzen wir die Repräsentationszahlen der Einzelbäume zur Berechnung des Durchmessers des Grundflächenmittelstammes, erhalten wir den korrekten Wert bei Annahme einer Winkelzählprobe mit Zählfaktor 4:
d_q(bhd, n_rep)
#> [1] 18.19942

Dieser ist wegen der zahlenmäßig stärkeren Repräsentation der schwächeren Bäume wesentlich geringer als der oben erhaltene Wert von 23.1 cm, der von einer gleichen Repräsentation aller Bäume ausgeht. Die Oberdurchmesser d100 (Mitteldurchmesser der hundert stärksten Bäume je Hektar) und der Oberdurchmesser nach Weise lassen sich ebenfalls leicht berechnen:
d_100(bhd, n_rep)
#> [1] 32.89276
d_dom_weise(bhd, n_rep)
#> [1] 26.99298

Die Ermittlung der Grundfläche in m²/ha ist bei einer Winkelzählprobe trivial. Sie ergibt sich aus dem gewählten Zählfaktor 4 multipliziert mit der Anzahl der erfassten Bäume (R-technisch: mit der Länge des Vektors bhd),
length(bhd) * 4
#> [1] 44

aber auch wenn man die Grundflächen der einzelnen Bäume mit ihrer Repräsentationszahl pro Hektar multipliziert und das über alle Bäume aufsummiert:
sum(g * n_rep)
#> [1] 44

Baumarten und Stammvolumina

Um die Stammvolumina der Einzelbäume zu schätzen, müssen für jeden Baum Durchmesser und Höhen gegeben sein. Letztere fehlen jedoch, d.h. wir sind auf eine Schätzung angewiesen. Dies wird ermöglicht über ein Einheitshöhenkurvensystem, das jedoch als Einhängepunkt den Durchmesser und die Höhe des Grundflächenmittelstammes im Bestand benötigt. Ersterer wurde oben schon gezeigt. Wir berechnen ihn nochmals, legen den Wert aber nun in einer Variablen ab, die wir „dg“ nennen:
dg <- d_q(bhd, n_rep)
dg
#> [1] 18.19942

Nehmen wir an, ein h/d Wert von 1.1 sei für den gegebenen Bestand realistisch, kann daraus die Höhe des Grundflächenmittelstammes, hg (in m), geschätzt werden:
hg <- dg * 1.1
hg
#> [1] 20.01936

Einzelne Baumhöhen können davon ausgehend mit einem Einheitshöhenkurvenverfahren geschätzt werden. Dazu ist allerdings noch eine Information über die Baumart(en) nötig. Der Einfachheit wegen nehmen wir einen Buchenreinbestand an. Da wir in diesem Beispiel die Baumartencodierung der Bayerischen Staatsforsten verwenden wollen, müssen wir den Code „60“, der dort für die Rotbuche steht, verwenden. Damit die Baumartinformation von den Funktionen in ForestElementsR richtig erkannt wird, sollte die Zahl 60 in das Artcodierungssystem von ForestElementsR übersetzt werden:
b_art <- as_fe_species_bavrn_state(60)
b_art
#> <fe_species_bavrn_state[1]>
#> [1] 60

Die Ausgabe zeigt an, dass die Zahl 60 nun als ein Baumartencode nach dem System der Bayerischen Staatsforsten verstanden wird. Wie die verschiedenen Artcodierungstabellen in ForestElementsR eingesehen und verwendet werden können, ist in der zugehörigen Vignette dargestellt. Der Befehl „format“ erlaubt es auch, den Artnamen in verschiedenen Sprachen darzustellen:

Tree Species Codings in ForestElementsR Externer Link

format(b_art, "ger")
#> [1] "Buche"
format(b_art, "eng")
#> [1] "European beech"
format(b_art, "sci")
#> [1] "Fagus sylvatica"

Sollen die Namen von Baumarten in der ganzen verbleibenden Sitzung in deutscher Sprache angezeigt werden, kann das mit dem Befehl „options“ erreicht werden:
options(fe_spec_lang = "ger")

Ein Aufruf der zuvor definierten Variable b_art führt dann zu folgendem Ergebnis:
b_art
#> <fe_species_bavrn_state[1]>
#> [1] Buche

Mitteldurchmesser, Mittelhöhe und die Baumartinformation erlauben es nun, mit Hilfe des Einheitshöhenkurvensystems der Bundeswaldinventur (Riedel et al. 2012) für jeden Baum unserer Stichprobe eine Höhe in m zu schätzen. Wir speichern die erhaltenen Höhen in einer Variablen, als deren Namen wir im Beispiel „h“ wählen:
h <- h_standard_gnfi3(b_art, bhd, dg, hg)
h
#> [1] 16.81135 21.49646 15.54876 20.30858 20.95016 22.37661 23.59196 21.49646
#> [9] 20.95016 20.30858 23.20002

Die Funktion v_gri() erlaubt nun die Berechnung des Holzvolumens aller Bäume (in VfmD m.R.) ausgehend von Baumart, Brusthöhendurchmesser und Höhe:
v_gri(b_art, bhd, h)
#> [1] 0.08366269 0.44096199 0.05612344 0.27669387 0.35390298 0.64456520
#> [7] 1.16869636 0.44096199 0.35390298 0.27669387 0.95400515

Zum Volumen des gesamten Bestandes pro Hektar kommt man, indem die einzelnen Volumina mit der Repräsentationszahl der Bäume multipliziert werden und die Ergebnisse über alle Bäume hinweg aufsummiert werden:
sum(v_gri(b_art, bhd, h) * n_rep)
#> [1] 441.8054

Unser Bestand hat also ein Holzvolumen von rund 442 Vorratsfestmetern Derbholz mit Rinde (VfmD m.R.) je ha. In der Praxis werden jedoch häufig Volumenangaben in Erntefestmetern mit Rinde (Efm o.R.) benötigt. Die entsprechenden Reduktionsfaktoren sind in ForestElementsR über die Funktion v_red_ harvest_ubark() verfügbar.
v_red_harvest_ubark(b_art, 1)
#> [1] 0.846

Das obige Ergebnis zeigt, dass ein Vfm m.R. der Baumart Buche 0.846 Efm o.R. entspricht. Durch Multiplikation kommen wir zum Bestandesvolumen in Efm o.R. je Hektar:
sum(v_gri(b_art, bhd, h) * n_rep) * v_red_harvest_ubark(b_art, 1)
#> [1] 373.7674

Bonitierung und mehr

Soll die Bonität unseres Bestandes ermittelt werden, wird neben der bereits bekannten Mittelhöhe hg (20,0 m) noch dessen Alter benötigt. Nehmen wir an, der Bestand sei 57 Jahre alt, und es soll die Buchenertragstafel von Wiedemann (1931), mäßige Durchforstung (BaySTMELF 2018) verwendet werden. Diese Ertragstafel (englisch “yield table”) steht im Paket unter dem Namen „fe_ytable_beech_wiedemann_moderate_1931“ direkt zur Verfügung. Eine grafische Darstellung des Bonitätsfächers dieser Tafel erhält man, in dem man den Befehl „plot“ darauf anwendet:
fe_ytable_beech_wiedemann_moderate_1931 |> plot()

Das führt zu folgender Darstellung:

Diagamm mit sehr vielen abflachend ansteigenden Linien

Abb. 1. Mit ForestElementsR erzeugte Darstellung des Bonitätsfächers der Ertragstafel für Rotbuche, mäßige Durchforstung, von Wiedemann (1931) (BaySTMLF 2018). Die horizontale Achse zeigt das Bestandesalter, die vertikale Achse die Höhe des Grundflächenmittelstammes. Mit „si“ ist der international übliche Begriff für die Bonität, „Site Index“ abgekürzt. Die mit „si_1.5“ bezeichnete Kurve stellt also die Höhenentwicklung bei einer Bonität von I.5 dar.

Die konkrete Bonität (international „Site Index“) des Bestandes erhalten wir mit dem Befehl site_index() unter Angabe von Alter (57 Jahre), Mittelhöhe (20.0 m) und der gewünschten Ertragstafel:

bon <- site_index(57, 20.0, fe_ytable_beech_wiedemann_moderate_1931, "h_q_m")
bon
#> [1] 1.292683

Der Bestand hat also eine Bonität von rund I.3; diese Information haben wir in der Variable „bon“ abgelegt. Zusammen mit dem Alter kann sie verwendet werden, um die zugehörigen Werte beliebiger Variablen aus der Ertragstafel zu ziehen. Dazu dient die Funktion ytable_lookup(), mit der wir hier den laufenden Zuwachs des Bestandes (im Paket mit der international üblichen Abkürzung „pai“ bezeichnet; „pai“ = „periodic annual increment“) schätzen wollen:

ytable_lookup(57, bon, "pai_m3_ha_yr", fe_ytable_beech_wiedemann_moderate_1931)
#> [1] 11.56293

Laut Ertragstafel ergibt sich so für den Bestand ein Zuwachs von rund 11,6 Festmetern pro Jahr und Hektar, s. allerdings die Anmerkungen zur Zuwachsschätzung mit Ertragstafeln von Pretzsch in BaySTMELF (2018), wo für die Buche eine Korrektur von +20% vorgeschlagen wird. Aus Gründen des Umfangs kann hier nicht weiter auf die Handhabung von Ertragstafeln mit ForestElementsR eingegangen werden. Interessierte Leser seien auf die ausführliche Darstellung in der entsprechenden Vignette des Paketes hingewiesen:

Yield Tables in ForestElementsR Externer Link

Bestandesstruktur und -diversität

Das Paket ForestElementsR ermöglicht auch erste Auswertungen zur Baumart- und Strukturdiversität von Beständen namentlich des in der Ökologie weit verbreiteten Diversitätsindex von Shannon (1948) und des Artprofilindex von Pretzsch (2019). Letzterer beruht auf dem gleichen Prinzip wie der Shannon-Index, bezieht aber auch noch die Komponente der vertikalen Bestandesstruktur ein. Zum Einsatz solcher Indizes bei der Abschätzung von Ökosystemleistungen s. Biber et al. (2020, 2021), Blattert et al. (2017) und Brockerhoff et al. (2017). Im Folgenden berechnen wir beide Indizes für unseren Beispielbestand. Hierfür ist es notwendig, für jeden einzelnen der elf Bäume die Baumart explizit anzugeben, auch wenn es sich um einen Buchenreinbestand handelt. Wir müssen also den Baumartencode 60 (s.o.) elfmal wiederholen und den erhaltenen Vektor als Baumartencodes nach dem System der Bayerischen Staatsforsten definieren:

art_vek <- as_fe_species_bavrn_state(rep(60, 11))
art_vek
#> <fe_species_bavrn_state[11]>
#> [1] Buche Buche Buche Buche Buche Buche Buche Buche Buche Buche Buche

Den Shannon-Index erhalten wir mit der Funktion „shannon_index“, die neben dem Vektor mit den Artcodes auch die Repräsentationszahlen der einzelnen Bäume, „n_rep“, als Angabe benötigt:

shannon_index(art_vek, n_rep = n_rep)
#> [1] 0

Da wir es mit einem Reinbestand zu tun haben, ist die Baumartendiversität folgerichtig 0. Der Artprofilindex (Funktion „species_profile“) benötigt als Eingangsinformation zusätzlich noch die Höhen der Bäume (die wir zuvor in der Variable „h“ abgelegt haben):

species_profile(art_vek, h, n_rep = n_rep)
#> [1] 0.6928344

Der erhaltene Wert ist größer als Null, weil der Bestand zwar ein Reinbestand, aber nicht völlig einschichtig ist. Zum Vergleich nehmen wir nun an, dass nicht alle unserer Bäume Buchen, sondern drei davon Eichen (Code 70) und einer davon eine Kiefer (Code 20) ist. Entsprechend definieren wir einen zweiten Vektor mit Baumartenbezeichnungen:

art_vek_2 <- c(60, 70, 60, 60, 60, 70, 20, 70, 60, 60, 60)
art_vek_2 <- as_fe_species_bavrn_state(art_vek_2)
art_vek_2
#> <fe_species_bavrn_state[11]>
#> [1] Buche Eiche (Stiel-/Trauben-) Buche
#> [4] Buche Buche Eiche (Stiel-/Trauben-)
#> [7] Kiefer Eiche (Stiel-/Trauben-) Buche
#> [10] Buche Buche

Dies führt erwartungsgemäß zu einer deutlichen Anhebung beider Indexwerte.

shannon_index(art_vek_2, n_rep = n_rep)
#> [1] 0.5426953
species_profile(art_vek_2, h, n_rep = n_rep)
#> [1] 1.096588

Im Rahmen dieser Einführung kann nicht näher auf die Funktionsweise dieser Indizes eingegangen werden; eine gut verständliche Darstellung findet sich jedoch in Pretzsch (2019). Eine wichtige Anwendung besteht darin, dass bei der Auswertung von Folgeaufnahmen durch den Vergleich dieser Indexwerte festgestellt werden kann, in welche Richtung sich die Art- und die Strukturdiversität entwickeln.

An dieser Stelle möchten wir die kurze Einführung in die Verwendung von ForestElementsR als „forstlicher Taschenrechner“ beenden. Naturgemäß konnte hier kein vollständiger Überblick über das Paket gegeben werden. Insbesondere wurde nicht auf die verschiedenen Klassen eingegangen, mit denen sich Stichprobeneinheiten oder Bestände verschiedener Definition bequem abbilden und auswerten lassen. Auch hierfür sei auf die Hauptvignette des Paketes hingewiesen.

Hauptvignette: The Package ForestElementsR Externer Link

ForestElementsR als R-Paket

R ist eine Programmiersprache für professionelle Datenarbeit: Von der Visualisierung bis zur Auswertung mit modernsten statistischen Verfahren. In Wissenschaft und Lehre hat sich R in den letzten 20 Jahren zu einem internationalen Standard entwickelt. ForestElementsR erweitert R um Befehle für forstliche Anwendungen – etwa für Volumenberechnungen, Höhenschätzungen oder Bonitierungen. Die Umsetzung als R-Paket hat mehrere Vorteile:
  • Freie Verfügbarkeit: R und die gängigste Benutzeroberfläche, RStudio, sind kostenlos.
  • Standard in der Datenarbeit: R ist weltweit etabliert, von der statistischen Auswertung bis hin zur Visualisierung.
  • Fester Teil der Ausbildung: Studierende in forstlichen und verwandten Studiengängen lernen fast überall Grundkenntnisse in R.
  • Hervorragende Bereitstellung von R-Paketen: Nur Pakete, die strenge Standards im Hinblick auf technische Umsetzung und Dokumentation erfüllen, schaffen es in die CRAN-Bibliothek. ForestElementsR gehört dazu – frei, open source und leicht zu installieren.
  • Plattformunabhängig: Alle CRAN-Pakete werden täglich auf den gängigen Betriebssystemen getestet. Eine Bindung an ein bestimmtes Betriebssystem und dessen jeweiligen Anbieter besteht deshalb für Nutzer von ForestElementsR nicht.

Literatur zur Einführung in R

Die Auswahl an R-Literatur ist riesig. Allerdings konzentriert sich diese meistens auf den Einsatz in der Wissenschaft. Forstpraktiker möchten in erster Linie anwendungsbezogen mit Daten arbeiten. Daher eignet sich am besten eine Einführung, die das Schwergewicht mehr auf den praktischen Umgang mit Daten legt als auf statistische Methoden. Wir können besonders das Buch „R for Data Science" (Wickham et al. 2023) empfehlen. Das Buch ist in deutscher Übersetzung erhältlich (Wickham et al. 2024). Das englischsprachige Original ist auch als frei zugängliche Webseite verfügbar.

R for Data Science (2e) Externer Link

Danksagung

Die Entwicklung von ForestElementsR und die Arbeit im übergeordneten Projekt FeNEU profitieren in ganz erheblichem Maß vom Dialog mit erfahrenen Praktikerinnen und Praktikern. Stellvertretend für eine sehr viel größere Gruppe seien hier genannt Sabine Andersen, Rainer Dürr, Markus Fritsch sowie Hans Stark und Daniel Kraus. Ein herzlicher Dank gebührt auch Marie Neufanger für die kritische Prüfung des obigen Auswertungsbeipiels. Besonderer Dank gilt dem Bayerischen Staatsministerium für Ernährung, Landwirtschaft, Forsten und Tourismus für die Förderung der Projekte FeNEU: Ein innovatives Instrument für die forstliche Planung in Bayern (E062) und Ertragskundliche Betreuung der langfristigen Versuche (W007).

Literaturverzeichnis

  • BaySTMELF (Hrsg.), 2018, Hilfstafeln für die Forsteinrichtung. Bayerisches Staatsministerium für Ernährung, Landwirtschaft und Forsten.
  • P. Biber und A. Toraño Caicoya, 2025, ForestElementsR: Data Structures and Functions for Working with Forest Data. [Online]. Verfügbar unter: https://CRAN.R-project.org/package=ForestElementsR
  • P. Biber und A. Toraño Caicoya, 2025, „The Package ForestElementsR“. [Online]. Verfügbar unter: https://cran.r-project.org/web/packages/ForestElementsR/vignettes/forestelementsr_package.html
  • P. Biber, 2025, „Tree Species Codings in ForestElementsR“. [Online]. Verfügbar unter: https://cran.r-project.org/web/packages/ForestElementsR/vignettes/tree_species_codings.html
  • P. Biber, 2025, „Yield Tables in ForestElementsR“. 2025. [Online]. Verfügbar unter: https://cran.r-project.org/web/packages/ForestElementsR/vignettes/yield_tables.html
  • P. Biber, F. Schwaiger, W. Poschenrieder, und H. Pretzsch, „A fuzzy logic-based approach for evaluating forest ecosystem service provision and biodiversity applied to a case study landscape in Southern Germany“, Eur. J. For. Res., Bd. 140, Nr. 6, S. 1559–1586, Dez. 2021, doi: 10.1007/s10342-021-01418-4.
  • P. Biber et. al., 2020, „Forest Biodiversity, Carbon Sequestration, and Wood Production: Modeling Synergies and Trade-Offs for Ten Forest Landscapes Across Europe“, Front. Ecol. Evol., Bd. 8, Okt. 2020, doi: 10.3389/fevo.2020.547696.
  • P. Biber et. al., 2015, „How Sensitive Are Ecosystem Services in European Forest Landscapes to Silvicultural Treatment?“, Forests, Bd. 6, Nr. 5, S. 1666–1695, Mai 2015, doi: 10.3390/f6051666.
  • P. Biber, 2013, „Kontinuität durch Flexibilität – Standardisierte Datenauswertung im Rahmen eines waldwachstumskundlichen Informationssystems“, Allg. Forst- Jagdztg., Bd. 184, Nr. 7/8, S. 167–177, 2013.
  • C. Blattert, R. Lemm, O. Thees, M. J. Lexer, und M. Hanewinkel, 2017, „Management of ecosystem services in mountain forests: Review of indicators and value functions for model based multi-criteria decision analysis“, Ecol. Indic., Bd. 79, S. 391–409, Aug. 2017, doi: 10.1016/j.ecolind.2017.04.025.
  • E. G. Brockerhoff et al., 2017, „Forest biodiversity, ecosystem functioning and the provision of ecosystem services“, Biodivers. Conserv., Bd. 26, Nr. 13, S. 3005–3035, Dez. 2017, doi: 10.1007/s10531-017-1453-2.
  • H. Pretzsch, 2019, Grundlagen der Waldwachstumsforschung, 2. Aufl. Berlin: Springer, 2019. [Online]. Verfügbar unter: https://link.springer.com/book/10.1007/978-3-662-58155-1
  • T. Riedel, P. Hennig, F. Kroiher, H. Polley, F. Schmitz, und F. Schwitzgebel, 2017, Die dritte Bundeswaldinventur BWI 2012, Inventur- und Auswertungsmethoden. Eberswalde: Thünen.
  • C. E. Shannon, 1948, „The mathematical theory of communication“, in Shannon CE, Weaver W (eds): The mathematical theory of communication., Urbana: University of Illinois Press, 1948, S. 3–91.
  • H. Wickham, M. Çetinkaya-Rundel, und G. Grolemund, 2023, R for Data Science: Import, Tidy, Transform, Visualize, and Model Data. O’Reilly Media, Inc.
  • H. Wickham, M. Çetinkaya-Rundel, und G. Grolemund, 2024, R für Data Science: Daten importieren, bereinigen, umformen, modellieren und visualisieren. O’Reilly Media Inc.