Projekt:Ökogramme für Commons/Scripts R
Diese Scripts berechnen gewichtete mittlere Zeigerwerte aus CSV-Dateien für Vegetationsaufnahmen und Lexikon der Zeigerwerte.
Installation der Statistik-Scriptsprache GNU R ist erforderlich.
Es handelt sich lediglich um eine vorläufige Version mit einer Testanwendung. Das Tool ist in der Entwicklung und soll später Diagramme sowie Dateiausgaben zur weiteren Auswertung erzeugen.
Die Anleitung zum Erstellen von Ökogrammen gibt nähere Informationen zur weiteren Verwendung der Ergebnisse sowie Quellen für die nötigen Daten.
Installation
Bearbeiten- Installiere GNU R
- Lege ein Verzeichnis deiner Wahl für Daten und R-Scripts an, z.B. C:/oekogramme/
- Erzeuge die Dateien test.r, calc.r, settings.r und io.r.
- Kopiere die Quelltexte im Abschnitt Quellcodes in diese Dateien (entspr. Name des Script), speiche die Dateien. Nutze hierzu entweder einen Text-Editor oder R
- Speichere die Daten im Abschnitt Testdaten in den Dateien lex.csv und Yio-Blaium.csv.
- Öffne R
- Öffne in R die Datei test.r
- Ersetze in der Zeile
script_path <- "Script- und Datenverzeichnis" # Endend mit "/" !
- den Teil Script- und Datenverzeichnis durch das angelegte Verzeichnis, also bspw. C:/oekogramme/
- Kopiere den gesamten Inhalt der Datei in die Konsole, drück evtl. Enter.
Das Script sollte ein Diagramm ähnlich Abbildung 1 in der Anleitung öffnen sowie als EPS, PDF und PNG speichern. Mittels Inkscape kann die PDF-Datei vor dem Hochladen geöffnet und als SVG gespeichert werden.
Ferner wird die Datei results_wiki.txt erzeugt, welche die mittleren Zeigerwerte aller ausgewerteten Vegetationsaufnahmen in Wiki-Syntax enthält.
Quellcodes
BearbeitenSkript: test.r
Skript: settings.r
Skript: calc.r
- Script io.r
csv.read <- function(f, head = TRUE) { sep <- "," if( tolower(substr(f, nchar(f)-3, nchar(f))) == ".csv" ) sep=";" #print( tolower(substr(f, nchar(f)-3, nchar(f))) ) read.csv(f, header = head , sep = sep, quote="\"", dec=".", fill = TRUE, comment.char="") } save_plot <- function(file, type = c("eps","pdf","png")) { for(t in type) { savePlot(file, type = t, device = dev.cur(), restoreConsole = FALSE) } } write_FloraWeb_wikitable <- function (results, file) { lines <- c() lines <- append(lines, "{| class=\"prettytable\" |") ### Write column names lines <- append(lines, "!ID") lines <- append(lines, "!key") for(n in colnames(results)) { if(n != "key") lines <- append(lines, paste("! ", n, sep="")) } for(row in 1:nrow(results)) { lines <- append(lines, "|-") lines <- append(lines, paste("!", rownames(results)[row])) lines <- append(lines, paste("!", results[row,"key"])) for(col in 1:ncol(results)) { s <- "|" if(colnames(results)[col] == "key") { } else { val <- round(as.numeric(results[row,col]),2) #if(is.nan(val)) { # lines <- append(lines, "| style=\"color:red;\" |") # lines <- append(lines, val) #} else { lines <- append(lines, paste(s, val)) #} } } } lines <- append(lines, "|}") write(lines, file); }
Testdaten
BearbeitenDie Lexikondaten wurden willkürlich erzeugt.
Bei den Vegetationsaufnahmen handelt es sich um die FloraWeb-Aufnahmen 499, 515, 519, 520, 1687. Alle Arten der Baum-, Strauch- und Moosschicht wurden entfernt. Um den Umfang der Daten gering zu halten, wurden zudem alle Pflanzen mit nur einem Auftreten entfernt.
Lexikon lex.csv
ArtNr;Art;Licht;Temp;Kont;Feu;Reakt;Stick 1;Aegopodium podagraria;3;2;4;6;6;3 2;Anemone nemorosa;9;6; ;6;6;3 3;Dentaria bulbifera;;8;5;7;x; 4;Glechoma hederacea;8;6;5;7;3;1 5;Lamium galeobdolon ag.;5;4;4;x; ;2 6;Milium effusum;9;2; ;5;5; 7;Oxalis acetosella;3;5;4;5;3;8 8;Lamium maculatum;8;3; ;6;3;3 9;Stellaria nemorum L. s. l.;x;6; ;6;8;2 10;Athyrium filix-femina;3;2;4; ;9;6 11;Impatiens noli-tangere;2;9; ;7;3;6 12;Senecio ovatus;2;6;4;5;4;8 13;Stachys sylvatica;1;x;5;7;6;x 14;Urtica dioica;6;5;5;6;9;7
Vegetationsaufnahmen Yio-Blaion.csv
Nr;499;515;519;520;1687 key;Yio-Blaium;Yio-Blaium;Yio-Blaium;Yio-Blaium;Yio-Blaium Aegopodium podagraria;.;.;.;2;2m Anemone nemorosa;.;2m;.;+;. Dentaria bulbifera;.;+;+;.;. Glechoma hederacea;.;.;.;+;2b Lamium galeobdolon ag.;.;2a;3;.;. Milium effusum;2;1;.;.;. Oxalis acetosella;.;2m;2;.;. Lamium maculatum;.;3;.;3;+ Stellaria nemorum L. s. l.;1;3;3;.;. Athyrium filix-femina;2;+;1;+;. Impatiens noli-tangere;.;2a;2;3;+ Senecio ovatus;1;+;+;1;. Stachys sylvatica;.;2a;+;+;+ Urtica dioica;2;1;.;3;4