Digitale Dokumentation in R zu Schauer 2025 ‘La Hoguette - Kultur, Phänomen, Subkultur?’

Abbildungen und Statistiken zu Kapitel 6.2.4.d - Fallstudie Friedberg-Bruchenbrücken Rezepturen

Autor:in
Zugehörigkeiten

Michaela Schauer

Department für Kulturwissenschaften, Geschwister-Scholl-Platz 1, Ludwig-Maximilians-Universität München, München 80539, Deutschland

Naturhistorisches Museum Wien, Burgring 7, 1010 Wien, Österreich

Vienna Institute for Archaeological Science (VIAS), Universität Wien, Franz-Klein-Gasse 1, 1190 Wien, Österreich

Research Network Human Evolution und Archaeological Sciences (HEAS), Universität Wien, Djerassiplatz 1, 1030 Wien, Österreich

Veröffentlichungsdatum

25. Juli 2025

1 Einleitung

1.1 Inhalt

Dieses Skript umfasst die Dokumentation der zu Kapitel 6.2.4.d - Schauer (2025) gehörigen Abbildungen und Statistiken:

1.2 Praktische Hinweise

1.2.1 Einführende Literatur

Um mit dem bereitgestellten R-Skript arbeiten zu können, werden die wichtigsten praktischen Schritte, die für den Einstieg erforderlich sind, kurz erklärt. Dies ersetzt jedoch nicht das Studium des Programms selbst und der Inhalte der Skripte.

Siegmund (2020) wird als Grundlage in deutscher Sprache empfohlen, als Einführung in das R-Plugin Quarto seine Anleitung Siegmund (2023). Auf Englisch ist die R Quarto-Website besonders zu empfehlen.

Field, A. u. a. (2013) ist lesenswert, unterhaltsam und enthält alle relevanten Informationen für den Einstieg. Das R Core Team bietet eine regelmäßig aktualisierte Einführung an; die aktuelle Version ist hier zu finden.

1.2.2 R, R Studio und R Quarto

R, auch R Console oder RGUI, ist das „reine“ R, d. h. es arbeitet ausschließlich mit Code. RStudio hingegen verfügt über eine Benutzeroberfläche und greift auf R zu.

Dieses R-Skript wurde in RStudio in Verbindung mit Quarto erstellt – einer R-spezifischen Schreibumgebung, die die Handhabung von Code sowohl bei der Entwicklung als auch bei der Veröffentlichung erheblich vereinfacht. Quarto ermöglicht es, einzelne R-Skripte in Form von Quarto-Dateien (.qmd) zu erstellen und in verschiedene andere Formate (.html, .pdf) zu exportieren. Neben dem „reinen“ R-Code können auch zusätzliche Informationen zu den Code-Modulen bereitgestellt werden.

Quarto-Dokumente enthalten ausführbaren R-Code, d. h. sie wurden entwickelt und umfangreich getestet, um die gewünschten Berechnungen fehlerfrei durchzuführen. Werden die Quarto-Dateien in RStudio geöffnet, sind die Code-Blöcke grau hinterlegt und können automatisch ausgeführt werden. Weitere Informationen zu Quarto und Quarto-Code finden sich hier.

Um mit diesem Skript zu arbeiten, wird empfohlen, R und RStudio, sowie R Quarto zu installieren.

1.2.3 R Projekte

Um sicherzustellen, dass die Berechnungen reibungslos ablaufen, wurde das Skript in ein R-Projekt eingebettet. Die R-Projektdatei (.Rproj) befindet sich im übergeordneten Ordner der Berechnungen und kann durch Doppelklicken geöffnet werden. Der Dateipfad wird über die Position dieser Datei definiert, sodass das gesamte Projekt beliebig gespeichert werden kann – vorausgesetzt, die Daten befinden sich in den vorgegebenen Ordnern. Die einzige Voraussetzung ist, dass der unter Skript-Kapitel Kapitel 3 hinterlegte Code-Schnipsel beim ersten Arbeiten mit diesem Skript ausgeführt wird.

Ein weiterer Vorteil von R-Projekten ist, dass alle Quarto-Dateien, die beim letzten Schließen geöffnet waren, direkt beim Öffnen des Projekts wieder geladen werden – es muss also nicht manuell nach der Dateistruktur gesucht werden.

1.2.4 R Pakete

R-Pakete müssen zunächst installiert und anschließend in jeder Sitzung erneut geladen werden siehe auch Skript-Kapitel 2, um die Berechnungen auszuführen. Sie enthalten Funktionen, die für bestimmte Analysen erforderlich sind. Zum Installieren kann der folgende Code verwendet werden:

  • install.packages(“Paket-Name”)

Die Pakete werden mit folgendem Befehl geladen:

  • library(Paket-Name)

Eine kurze Einführung in grundlegende R-Befehle findet sich beispielsweise auch hier.

1.3 Skript & Packages

Dieses Quarto-Skript (R Quarto v. 1.5.55) (Allaire u. a. 2024) wurde mit R v. 4.4.1 (R Core Team 2024) und RStudio v. 2024.04.2 (RStudio Team 2024) erstellt. Es werden folgende R-Pakete verwendet:

Vor Beginn der Analysen müssen sowohl alle Pakete (siehe Skript-Kapitel Kapitel 2) geladen als auch das Working Directory gesetzt werden (siehe Skript-Kapitel Kapitel 3).

Der Code ist lauffähig, d. h. er kann fehlerfrei ausgeführt werden, sofern die vorgegebene Datenstruktur beibehalten wird.

In jedem Code-Block wird der Code zur Erstellung der jeweils ersten Abbildung erläutert – nachfolgende Grafiken mit vergleichbarem Code erhalten keine eigene Beschreibung.

1.4 Gerät und Messparameter

Die Messdaten wurden mit dem Niton XL3t (Nr. 97390) des Departments für Kulturwissenschaften der Universität München im TestAllGeo-Modus ermittelt (60 Sekunden Standard, Niedrig, Hoch sowie 120 Sekunden Leicht-Modus) und mit einem 8 mm Messspot von M. Schauer durchgeführt. Die Messungen fanden von September bis Dezember 2018 sowie von September 2019 bis Juli 2020 statt. Weitere Informationen finden sich in Kapitel 6.1.1 – Schauer (2025).

2 Notwendige R Pakete

library(cowplot)
library(data.table)
library(dplyr)
library(factoextra)
library(ggfortify)
library(ggplot2)
library(ggpubr)
library(gt)
library(janitor)    
library(MASS)
library(moments)
library(PCAtest)
library(pivottabler)
library(plyr)
library(Rcmdr)
library(RcmdrPlugin.NMBU)
library(rstatix)
library(tidyverse)         

3 Working directory

knitr::opts_knit$set(root.dir = "./")

4 Zusammenstellen der Daten

# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Normabstand_BB_SE.csv")
data2<- read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_vollständigMW_bearb.csv")
data3<-subset(data2, Messstelle %in% c("frischer Bruch"))
data4<-subset(data3, Kultur %in% c("LBK","La Hoguette"))
data5<-data4[,1:23]

# Kombinieren mehrerer Dataframes basierend auf der Probennummer
data<-merge(data1,data5, by="Probennummer", all=TRUE)

# Entfernen von ".y" aus den Spaltennamen
colnames(data) <- gsub(".y", "", colnames(data))

# Spaltennamen "Summe" durch "Normabst" ersetzen
colnames(data) <- gsub("Summe", "Normabst", colnames(data))

# Speichern als CSV
write.csv(data,"../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten.csv",row.names=TRUE)

5 Abb. 6-77

5.1 Histogramm

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten.csv")

# Berechnung der unteren (25%) und oberen (75%) Quartile für die Spalte "Normabst"
Normabst0 <- (data) %>%
  dplyr::summarize(lower = quantile(Normabst, probs = .25),
            upper = quantile(Normabst, probs = .75))

# Diagramm erstellen 
Hist_NormSE_Keramik_LBKI<-ggplot(data,aes(x=Normabst))+
  geom_histogram(fill="lightgrey",color="black",binwidth=0.5,bins=NULL)+# Manuelle Definition der Farbe der Balken
  ylab("Häufigkeit")+# Manuelle Achsenbeschriftung
  theme_classic()+# Klassisches Design
  scale_x_continuous(breaks=seq(-1,16,1))+scale_y_continuous(breaks=seq(0,100,20))+# Manuelle Definition der Achsen
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+theme(axis.title.x=element_blank())+# Manuelle Formatierung von Achsen- und Legendendarstellung
  geom_vline(aes(xintercept=median(Normabst)),color="blue", linetype="dashed", linewidth=1)+# Vertikale Markierung des Medians
  geom_vline(data=Normabst0, aes(xintercept=lower), color="red", linetype="dotted", linewidth=1)+# Vertikale Markierung des 25%-Quartils
  geom_vline(data=Normabst0, aes(xintercept=upper), color="red", linetype="dotted", linewidth=1) # Vertikale Markierung des 75%-Quartils

# Berechnung der unteren (25%) und oberen (75%) Quartile für die Spalte "Normabst" nach Kultur
Normabst1 <- (data) %>%
  group_by(Kultur) %>%
  dplyr::summarize(lower = quantile(Normabst, probs = .25),
            upper = quantile(Normabst, probs = .75))

# Diagramm erstellen 
Hist_NormSE_Keramik_nKultur_LBKI<-ggplot(subset(data,Kultur %in% c("La Hoguette","LBK")),aes(x=Normabst))+
  geom_histogram(fill="lightgrey", color="black",binwidth=0.5,bins=NULL)+# Manuelle Definition der Farbe der Balken
  xlab("Distanz zur lokalen bandkeramischen Gefäßeinheit von Friedberg-Bruchenbrücken")+ylab("Häufigkeit")+# Manuelle Achsenbeschriftung
  theme_classic()+# Klassisches Design
  scale_x_continuous(breaks=seq(-1,16,1))+scale_y_continuous(breaks=seq(0,70,20))+# Manuelle Formatierung von Achsen- und Legendendarstellung
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+# Manuelle Definition der Achsen
  facet_grid(Kultur~.)+theme(strip.text.y = element_text(angle = 0),strip.background = element_rect(colour="white", fill="white"))+# Facettierung nach Kategorien
  geom_vline(data=ddply(subset(data,Kultur %in% c("La Hoguette","LBK")), "Kultur", summarise, grp.median=median(Normabst)), aes(xintercept=grp.median),color="blue", linetype="dashed", linewidth=1)+ # Vertikale Markierung des Medians
  geom_vline(data=Normabst1, aes(xintercept=lower), color="red", linetype="dotted", linewidth=1)+# Vertikale Markierung des 25%-Quartils nach Kategorien
  geom_vline(data=Normabst1, aes(xintercept=upper), color="red", linetype="dotted", linewidth=1)+# Vertikale Markierung des 75%-Quartils nach Kategorien
  labs(subtitle=paste("Kruskal-Wallis, p=",round(({compare_means(Normabst ~ Kultur,aes(x=Normabst), data=subset(data,Kultur %in% c("La Hoguette","LBK")),method="kruskal.test")$p}),6))) # Berechnen des Kruskal-Wallis-Tests inkl. p-Wert und anzeigen als Unterüberschrift

# Kombination der Diagramme 
plot_grid(Hist_NormSE_Keramik_LBKI,Hist_NormSE_Keramik_nKultur_LBKI,ncol=1,nrow=2,align = "v",axis = "lr",rel_heights=c(1,3))

# Export des kombinierten Diagramms 
ggsave("Abb.6-77.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=9,width=15.3,unit=c("cm"),dpi=1200)

5.2 Kennwerte

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten.csv")

# Berechnen von Mittelwert und Standardabweichung für den gesamten Datensatz
data %>% dplyr::summarise(m = mean(Normabst),sd=sd(Normabst))
         m       sd
1 1.950362 1.309466
# Berechnen von Mittelwert und Standardabweichung nach Kategorien
group_by(data, Kultur) %>% dplyr::summarise(m = mean(Normabst),sd=sd(Normabst))
# A tibble: 2 × 3
  Kultur          m    sd
  <chr>       <dbl> <dbl>
1 LBK          1.78  1.34
2 La Hoguette  2.51  1.04
# Anzahl der Gesamtbeobachtungen
data %>% dplyr::summarise(count=n())
  count
1   283
# Anzahl der Beobachtungen pro Kategorie
data %>%  group_by(Kultur) %>% dplyr::summarise(count=n())
# A tibble: 2 × 2
  Kultur      count
  <chr>       <int>
1 LBK           216
2 La Hoguette    67

6 Abb. 6-78

Die Einteilung der Proben in die chemischen Rezepturen erfolgte in Excel.

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell1),]

# Diagramme erstellen
Modell1_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell1, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+# Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell1",values=c("grey55","orange","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+# Manuelle Achsenbeschriftung
  theme_classic()+# Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Modell1_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell1, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+
  scale_shape_manual(values=c(17,19))+scale_color_manual(name="Modell1",values=c("grey55","orange","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
    xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell1_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell1, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell1",values=c("grey55","orange","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
    xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell1_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell1, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell1",values=c("grey55","orange","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell1_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell1, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell1",values=c("grey55","orange","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell1_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell1, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell1",values=c("grey55","orange","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell1_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell1, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell1",values=c("grey55","orange","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell1_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell1, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell1",values=c("grey55","orange","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme  
ggarrange(Modell1_SE_Rb_Sr,Modell1_SE_Rb_Zr,Modell1_SE_Sr_Zr,Modell1_SE_Y_Zr,Modell1_SE_Cu_Zn,Modell1_SE_Nb_Pb,Modell1_SE_Cu_Nb,Modell1_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

# Export des kombinierten Diagramms 
ggsave("Abb.6-78.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=14,width=15.3,unit=c("cm"),dpi=1200)

7 Erstellen von Modell 2

Die Datei Normabstand_SE_BB_mitMesswerten_bearb wurde in Excel um die im Text beschriebenen Veränderungen für Modell 2 erweitert.

7.1 Modell 2a

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2a),]

# Diagramme erstellen
Modell2a_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell2a, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2a",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Modell2a_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell2a, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2a",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2a_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell2a, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2a",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2a_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell2a, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2a",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2a_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell2a, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2a",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2a_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell2a, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2a",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2a_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell2a, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2a",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
    xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2a_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell2a, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2a",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme   
ggarrange(Modell2a_SE_Rb_Sr,Modell2a_SE_Rb_Zr,Modell2a_SE_Sr_Zr,Modell2a_SE_Y_Zr,Modell2a_SE_Cu_Zn,Modell2a_SE_Nb_Pb,Modell2a_SE_Cu_Nb,Modell2a_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

7.2 Modell 2b

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2b),]

# Diagramme erstellen
Modell2b_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell2b, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2b",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Modell2b_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell2b, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2b",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2b_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell2b, shape=Kultur))+geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+scale_color_manual(name="Modell2b",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ xlab("Rb in ppm")+ylab("Zr in ppm")+theme_classic()+theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2b_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell2b, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2b",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2b_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell2b, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2b",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2b_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell2b, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2b",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2b_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell2b, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+
  scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2b",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2b_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell2b, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2b",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme   
ggarrange(Modell2b_SE_Rb_Sr,Modell2b_SE_Rb_Zr,Modell2b_SE_Sr_Zr,Modell2b_SE_Y_Zr,Modell2b_SE_Cu_Zn,Modell2b_SE_Nb_Pb,Modell2b_SE_Cu_Nb,Modell2b_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

7.3 Modell 2c

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2c),]

# Diagramme erstellen
Modell2c_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell2c, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2c",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Rb in ppm")+ylab("Sr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2c_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell2c, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2c",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2c_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell2c, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2c",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2c_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell2c, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2c",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2c_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell2c, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2c",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2c_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell2c, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2c",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2c_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell2c, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+  scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2c",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2c_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell2c, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2c",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme    
ggarrange(Modell2c_SE_Rb_Sr,Modell2c_SE_Rb_Zr,Modell2c_SE_Sr_Zr,Modell2c_SE_Y_Zr,Modell2c_SE_Cu_Zn,Modell2c_SE_Nb_Pb,Modell2c_SE_Cu_Nb,Modell2c_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

7.4 Modell 2d

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2d),]

# Diagramme erstellen
Modell2d_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell2d, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2d",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue","yellowgreen"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Modell2d_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell2d, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2d",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue","yellowgreen"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2d_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell2d, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2d",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue","yellowgreen"))+ 
  xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2d_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell2d, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2d",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue","yellowgreen"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2d_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell2d, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2d",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue","yellowgreen"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2d_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell2d, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2d",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue","yellowgreen"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2d_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell2d, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2d",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue","yellowgreen"))+
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2d_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell2d, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2d",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue","yellowgreen"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme    
ggarrange(Modell2d_SE_Rb_Sr,Modell2d_SE_Rb_Zr,Modell2d_SE_Sr_Zr,Modell2d_SE_Y_Zr,Modell2d_SE_Cu_Zn,Modell2d_SE_Nb_Pb,Modell2d_SE_Cu_Nb,Modell2d_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

7.5 Modell 2e

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2e),]

# Diagramme erstellen
Modell2e_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell2e, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2e",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Modell2e_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell2e, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2e",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2e_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell2e, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2e",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2e_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell2e, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2e",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2e_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell2e, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2e",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2e_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell2e, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2e",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2e_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell2e, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2e",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2e_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell2e, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2e",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme  
ggarrange(Modell2e_SE_Rb_Sr,Modell2e_SE_Rb_Zr,Modell2e_SE_Sr_Zr,Modell2e_SE_Y_Zr,Modell2e_SE_Cu_Zn,Modell2e_SE_Nb_Pb,Modell2e_SE_Cu_Nb,Modell2e_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

7.6 Modell 2f

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2f),]

# Diagramme erstellen
Modell2f_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell2f, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2f",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+# Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Modell2f_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell2f, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2f",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2f_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell2f, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2f",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ 
  xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2f_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell2f, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2f",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2f_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell2f, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2f",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2f_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell2f, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2f",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2f_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell2f, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2f",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2f_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell2f, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2f",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme   
ggarrange(Modell2f_SE_Rb_Sr,Modell2f_SE_Rb_Zr,Modell2f_SE_Sr_Zr,Modell2f_SE_Y_Zr,Modell2f_SE_Cu_Zn,Modell2f_SE_Nb_Pb,Modell2f_SE_Cu_Nb,Modell2f_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

7.7 Modell 2g

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2g),]

# Diagramme erstellen
Modell2g_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell2g, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2g",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Modell2g_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell2g, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2g",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2g_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell2g, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2g",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ 
  xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2g_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell2g, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2g",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2g_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell2g, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2g",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2g_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell2g, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2g",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2g_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell2g, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2g",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2g_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell2g, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2g",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme  
ggarrange(Modell2g_SE_Rb_Sr,Modell2g_SE_Rb_Zr,Modell2g_SE_Sr_Zr,Modell2g_SE_Y_Zr,Modell2g_SE_Cu_Zn,Modell2g_SE_Nb_Pb,Modell2g_SE_Cu_Nb,Modell2g_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

7.8 Modell 2h

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2h),]

# Diagramme erstellen
Modell2h_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell2h, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2h",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Modell2h_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell2h, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2h",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2h_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell2h, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2h",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ 
  xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2h_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell2h, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2h",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2h_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell2h, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2h",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2h_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell2h, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2h",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+ xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2h_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell2h, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2h",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2h_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell2h, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2h",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme   
ggarrange(Modell2h_SE_Rb_Sr,Modell2h_SE_Rb_Zr,Modell2h_SE_Sr_Zr,Modell2h_SE_Y_Zr,Modell2h_SE_Cu_Zn,Modell2h_SE_Nb_Pb,Modell2h_SE_Cu_Nb,Modell2h_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

7.9 Modell 2j

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2j),]

# Diagramme erstellen
Modell2j_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Modell2j_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2j_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+ 
  xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2j_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2j_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2j_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2j_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2j_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme  
ggarrange(Modell2j_SE_Rb_Sr,Modell2j_SE_Rb_Zr,Modell2j_SE_Sr_Zr,Modell2j_SE_Y_Zr,Modell2j_SE_Cu_Zn,Modell2j_SE_Nb_Pb,Modell2j_SE_Cu_Nb,Modell2j_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

7.10 Modell 2k

data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2j),]

# Diagramme erstellen
Modell2j_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Modell2j_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2j_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+ 
  xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2j_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2j_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2j_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2j_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+
    xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2j_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell2j, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2j",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","pink","blue"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme  
ggarrange(Modell2j_SE_Rb_Sr,Modell2j_SE_Rb_Zr,Modell2j_SE_Sr_Zr,Modell2j_SE_Y_Zr,Modell2j_SE_Cu_Zn,Modell2j_SE_Nb_Pb,Modell2j_SE_Cu_Nb,Modell2j_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

7.11 Modell 2L

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2L),]

# Diagramme erstellen
Modell2L_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell2L, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2L",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","magenta"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Modell2L_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell2L, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2L",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","magenta"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2L_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell2L, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2L",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","magenta"))+ 
  xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2L_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell2L, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2L",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","magenta"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2L_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell2L, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2L",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","magenta"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2L_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell2L, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2L",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","magenta"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2L_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell2L, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2L",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","magenta"))+
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2L_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell2L, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2L",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","wheat","magenta"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme   
ggarrange(Modell2L_SE_Rb_Sr,Modell2L_SE_Rb_Zr,Modell2L_SE_Sr_Zr,Modell2L_SE_Y_Zr,Modell2L_SE_Cu_Zn,Modell2L_SE_Nb_Pb,Modell2L_SE_Cu_Nb,Modell2L_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

8 Abb. 6-79

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2),]

# Diagramme erstellen
Modell2_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+  # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Modell2_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell2_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell2_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme   
ggarrange(Modell2_SE_Rb_Sr,Modell2_SE_Rb_Zr,Modell2_SE_Sr_Zr,Modell2_SE_Y_Zr,Modell2_SE_Cu_Zn,Modell2_SE_Nb_Pb,Modell2_SE_Cu_Nb,Modell2_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

# Export des kombinierten Diagramms 
ggsave("Abb.6-79.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=14.5,width=15.3,unit=c("cm"),dpi=1200)

9 Abb. 6-80

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")

# Berechnung der unteren (25%) und oberen (75%) Quartile für die Spalte "Normabst"
Normabst0 <- (data) %>%
  dplyr::summarize(lower = quantile(Normabst, probs = .25),
            upper = quantile(Normabst, probs = .75))

# Diagramm erstellen  
Hist_NormSE_Keramik_LBKI<-ggplot(data,aes(x=Normabst))+
  geom_histogram(fill="lightgrey", color="black",binwidth=0.5,bins=NULL)+ # Manuelle Definition der Farbe und Breite der Balken
  ylab("Häufigkeit")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  scale_x_continuous(breaks=seq(-1,16,1))+scale_y_continuous(breaks=seq(0,100,20))+ # Manuelle Definition der Achsen
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung
  geom_vline(aes(xintercept=median(Normabst)),color="blue", linetype="dashed", linewidth=1)+ # Vertikale Markierung des Medians
  geom_vline(data=Normabst0, aes(xintercept=lower), color="red", linetype="dotted", linewidth=1)+ # Vertikale Markierung des 25%-Quartils
  geom_vline(data=Normabst0, aes(xintercept=upper), color="red", linetype="dotted", linewidth=1)+theme(axis.title.x=element_blank()) # Vertikale Markierung des 75%-Quartils

# Berechnung der unteren (25%) und oberen (75%) Quartile für die Spalte "Normabst" nach Modell 2
Normabst10 <- (data) %>%
  group_by(Modell2) %>%
  dplyr::summarize(lower = quantile(Normabst, probs = .25),
            upper = quantile(Normabst, probs = .75))

# Diagramm erstellen  
Hist_Modell2<-ggplot(data,aes(x=Normabst))+
  geom_histogram(fill="lightgrey", color="black",binwidth=0.5,bins=NULL)+ # Manuelle Definition der Farbe der Balken
  xlab("Distanz zur lokalen bandkeramischen Gefäßeinheit von Friedberg-Bruchenbrücken")+ylab("Häufigkeit")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  scale_x_continuous(breaks=seq(-1,16,1))+scale_y_continuous(breaks=seq(0,100,20))+ # Manuelle Definition der Achsen
  theme(axis.line=element_line(colour="black",size=0.5))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung
  facet_grid(Modell2~.)+theme(strip.text.y = element_text(angle = 0),strip.background = element_rect(colour="white", fill="white"))+ # Facettierung nach Kategorien
  geom_vline(data=ddply(data,"Modell2", summarise, grp.median=median(Normabst)), aes(xintercept=grp.median),color="blue", linetype="dashed", linewidth=1)+ # Vertikale Markierung des Medians nach Kategorien
  geom_vline(data=Normabst10, aes(xintercept=lower), color="red", linetype="dotted", linewidth=1)+ # Vertikale Markierung des 25%-Quartils nach Kategorien
  geom_vline(data=Normabst10, aes(xintercept=upper), color="red", linetype="dotted", linewidth=1) # Vertikale Markierung des 75%-Quartils nach Kategorien

# Kombination der Diagramme 
plot_grid(Hist_NormSE_Keramik_LBKI,Hist_Modell2,ncol=1,nrow=2,align = "v",axis = "lr",rel_heights=c(1,6))

# Export des kombinierten Diagramms
ggsave("Abb.6-80.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=18,width=15.3,unit=c("cm"),dpi=1200)

9.1 Kennwerte

# Berechnen von Mittelwert und Standardabweichung für den gesamten Datensatz
data %>% dplyr::summarise(m = mean(Normabst),sd=sd(Normabst))
         m       sd
1 1.950362 1.309466
# Berechnen von Mittelwert und Standardabweichung nach Kategorien
group_by(data, Modell2) %>% dplyr::summarise(m = mean(Normabst),sd=sd(Normabst))
# A tibble: 9 × 3
  Modell2        m     sd
  <chr>      <dbl>  <dbl>
1 Herkunft 1  1.85  1.25 
2 Herkunft 2  2.69  0.396
3 Herkunft 3  2.93  0.595
4 Herkunft 4  3.76 NA    
5 Herkunft 5  4.00 NA    
6 Herkunft 6  4.11 NA    
7 Herkunft 7  4.21 NA    
8 Herkunft 8  4.55 NA    
9 Herkunft 9  6.03  0.383
# Anzahl der Gesamtbeobachtungen
data %>% dplyr::summarise(count=n())
  count
1   283
# Anzahl der Beobachtungen pro Kategorie
data %>%  group_by(Modell2) %>% dplyr::summarise(count=n())
# A tibble: 9 × 2
  Modell2    count
  <chr>      <int>
1 Herkunft 1   266
2 Herkunft 2     6
3 Herkunft 3     4
4 Herkunft 4     1
5 Herkunft 5     1
6 Herkunft 6     1
7 Herkunft 7     1
8 Herkunft 8     1
9 Herkunft 9     2

9.2 Histogramm mit Probenausschluss Modell 2

Ausschließen der Proben 409-2 und 2906 aus der Grafik da ihre hohen Werte nicht für die Auswertung relevant sind

# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")
data<-data1[!(data1$Probennummer=="409-2" | data1$Probennummer=="2906"),]

# Berechnung der unteren (25%) und oberen (75%) Quartile für die Spalte "Normabst"
Normabst0 <- (data) %>%
  dplyr::summarize(lower = quantile(Normabst, probs = .25),
            upper = quantile(Normabst, probs = .75))

# Diagramm erstellen  
Hist_NormSE_Keramik_LBKI<-ggplot(data,aes(x=Normabst))+
  geom_histogram(fill="lightgrey", color="black",binwidth=0.25,bins=NULL)+
  ylab("Häufigkeit")+
  theme_classic()+
  scale_x_continuous(breaks=seq(-1,16,1))+scale_y_continuous(breaks=seq(0,100,20))+theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+
  geom_vline(aes(xintercept=median(Normabst)),color="blue", linetype="dashed", linewidth=1)+
  geom_vline(data=Normabst0, aes(xintercept=lower), color="red", linetype="dotted", linewidth=1)+
  geom_vline(data=Normabst0, aes(xintercept=upper), color="red", linetype="dotted", linewidth=1)+theme(axis.title.x=element_blank())

# Berechnung der unteren (25%) und oberen (75%) Quartile für die Spalte "Modell 2"
Normabst10 <- (data) %>%
  group_by(Modell2) %>%
  dplyr::summarize(lower = quantile(Normabst, probs = .25),
            upper = quantile(Normabst, probs = .75))
 
# Diagramm erstellen  
Hist_Modell2<-ggplot(data,aes(x=Normabst))+
  geom_histogram(fill="lightgrey", color="black",binwidth=0.25,bins=NULL)+ # Manuelle Definition der Farbe und Breite der Balken
  xlab("Distanz zur lokalen bandkeramischen Gefäßeinheit von Friedberg-Bruchenbrücken")+ylab("Häufigkeit")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  scale_x_continuous(breaks=seq(-1,16,1))+scale_y_continuous(breaks=seq(0,100,20))+ # Manuelle Definition der Achsen
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+
  theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung
  facet_grid(Modell2~.)+theme(strip.text.y = element_text(angle = 0),strip.background = element_rect(colour="white", fill="white"))+ # Facettierung nach Kategorien
  geom_vline(data=ddply(data,"Modell2", summarise, grp.median=median(Normabst)), aes(xintercept=grp.median),color="blue", linetype="dashed", linewidth=1)+ # Vertikale Markierung des Medians
  geom_vline(data=Normabst10, aes(xintercept=lower), color="red", linetype="dotted", linewidth=1)+ # Vertikale Markierung des 25%-Quartils
  geom_vline(data=Normabst10, aes(xintercept=upper), color="red", linetype="dotted", linewidth=1) # Vertikale Markierung des 75%-Quartils

# Kombination der Diagramme 
plot_grid(Hist_NormSE_Keramik_LBKI,Hist_Modell2,ncol=1,nrow=2,align = "v",axis = "lr",rel_heights=c(1,8))

9.3 Kennwerte mit Probenausschluss Modell 2

# Berechnen von Mittelwert und Standardabweichung für den gesamten Datensatz
data %>% dplyr::summarise(m = mean(Normabst),sd=sd(Normabst))
         m       sd
1 1.902045 1.161567
# Berechnen von Mittelwert und Standardabweichung nach Kategorien
group_by(data, Modell2) %>% dplyr::summarise(m = mean(Normabst),sd=sd(Normabst))
# A tibble: 9 × 3
  Modell2        m     sd
  <chr>      <dbl>  <dbl>
1 Herkunft 1  1.80  1.08 
2 Herkunft 2  2.69  0.396
3 Herkunft 3  2.93  0.595
4 Herkunft 4  3.76 NA    
5 Herkunft 5  4.00 NA    
6 Herkunft 6  4.11 NA    
7 Herkunft 7  4.21 NA    
8 Herkunft 8  4.55 NA    
9 Herkunft 9  6.03  0.383
# Anzahl der Gesamtbeobachtungen
data %>% dplyr::summarise(count=n())
  count
1   281
# Anzahl der Beobachtungen pro Kategorie
data %>%  group_by(Modell2) %>% dplyr::summarise(count=n())
# A tibble: 9 × 2
  Modell2    count
  <chr>      <int>
1 Herkunft 1   264
2 Herkunft 2     6
3 Herkunft 3     4
4 Herkunft 4     1
5 Herkunft 5     1
6 Herkunft 6     1
7 Herkunft 7     1
8 Herkunft 8     1
9 Herkunft 9     2

10 Dunns Test für Modell 2

# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")
data2<-data1[,c(11,45),]

# Berechnung der deskriptiven Statistik für Modell 2
data2 %>% 
  group_by(Modell2) %>%
  get_summary_stats(Normabst, type = "common")
# A tibble: 9 × 11
  Modell2    variable     n   min   max median   iqr  mean     sd     se      ci
  <chr>      <fct>    <dbl> <dbl> <dbl>  <dbl> <dbl> <dbl>  <dbl>  <dbl>   <dbl>
1 Herkunft 1 Normabst   266 0.431 11.3    1.46 1.27   1.85  1.25   0.077   0.151
2 Herkunft 2 Normabst     6 2.26   3.29   2.67 0.524  2.69  0.396  0.162   0.416
3 Herkunft 3 Normabst     4 2.18   3.52   3.01 0.737  2.93  0.595  0.298   0.947
4 Herkunft 4 Normabst     1 3.76   3.76   3.76 0      3.76 NA     NA     NaN    
5 Herkunft 5 Normabst     1 4.00   4.00   4.00 0      4.00 NA     NA     NaN    
6 Herkunft 6 Normabst     1 4.11   4.11   4.11 0      4.11 NA     NA     NaN    
7 Herkunft 7 Normabst     1 4.21   4.21   4.21 0      4.21 NA     NA     NaN    
8 Herkunft 8 Normabst     1 4.55   4.55   4.55 0      4.55 NA     NA     NaN    
9 Herkunft 9 Normabst     2 5.76   6.30   6.03 0.271  6.03  0.383  0.271   3.44 
# Durchführung des Kruskal-Wallis-Tests   
res.kruskal<-data2%>%kruskal_test(Normabst~Modell2)
res.kruskal
# A tibble: 1 × 6
  .y.          n statistic    df        p method        
* <chr>    <int>     <dbl> <int>    <dbl> <chr>         
1 Normabst   283      28.6     8 0.000373 Kruskal-Wallis
# Berechnung der Effektgröße
data2%>%kruskal_effsize(Normabst~Modell2)
# A tibble: 1 × 5
  .y.          n effsize method  magnitude
* <chr>    <int>   <dbl> <chr>   <ord>    
1 Normabst   283  0.0752 eta2[H] moderate 
# Durchführung des Dunn-Tests für paarweise Vergleiche mit Bonferroni-Korrektur
pwc<-data2%>%dunn_test(Normabst~Modell2,p.adjust.method="bonferroni")
pwc
# A tibble: 36 × 9
   .y.      group1     group2       n1    n2 statistic      p p.adj p.adj.signif
 * <chr>    <chr>      <chr>     <int> <int>     <dbl>  <dbl> <dbl> <chr>       
 1 Normabst Herkunft 1 Herkunft…   266     6     2.49  0.0126 0.455 ns          
 2 Normabst Herkunft 1 Herkunft…   266     4     2.25  0.0242 0.872 ns          
 3 Normabst Herkunft 1 Herkunft…   266     1     1.51  0.132  1     ns          
 4 Normabst Herkunft 1 Herkunft…   266     1     1.55  0.120  1     ns          
 5 Normabst Herkunft 1 Herkunft…   266     1     1.59  0.112  1     ns          
 6 Normabst Herkunft 1 Herkunft…   266     1     1.61  0.106  1     ns          
 7 Normabst Herkunft 1 Herkunft…   266     1     1.64  0.101  1     ns          
 8 Normabst Herkunft 1 Herkunft…   266     2     2.49  0.0126 0.454 ns          
 9 Normabst Herkunft 2 Herkunft…     6     4     0.164 0.870  1     ns          
10 Normabst Herkunft 2 Herkunft…     6     1     0.443 0.658  1     ns          
# ℹ 26 more rows
# Speichern als CSV
write.csv(pwc,"../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//TestHerkunften_Dunn_Mod2.csv",row.names=FALSE)

11 Berechnen des Test für Modell 2 (Modell 3/4)

11.1 Zusammenstellen der Daten

# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Normabstand_SE_BB_mitMesswerten_bearb.csv")
data<-data1[,c(3:10,45),]

# Umbennennen der Spaltenköpfe
data<-data %>% dplyr::rename(Cu=1,Zn=2,Rb=3,Sr=4,Y=5,Zr=6,Nb=7,Pb=8)

# Definieren relevanter Variablen
Probennummer<-data1$Probennummer
Kultur<-data1$Kultur

# Berechnung des Medians der Gruppen nach Modell 2
MedianGruppenMod3<-(data) %>%
  group_by(Modell2) %>%
  dplyr::summarise(across(everything(),list(median=median))) 

# Entfernen von "_median" aus den Spaltennamen
colnames(MedianGruppenMod3) <- gsub("_median", "", colnames(MedianGruppenMod3))

11.2 Abstand zum Median von Herkunft 1

# Filtern nach den Daten von Herkunft 1
MedianHerkunft1<-filter(MedianGruppenMod3, Modell2=="Herkunft 1")

# Extrahieren des Medians von Herkunft 1 für Cu
MedianHerkunft1_Cu<-MedianHerkunft1$Cu

# Extrahieren der Messwerte für Cu
data_Cu<-data$Cu

# Berechnen des Multivariaten Normabstandes für jede Probe zum Median von Herkunft 1 von Cu
Cu<-sqrt((data_Cu-MedianHerkunft1_Cu)^2)

MedianHerkunft1_Zn<-MedianHerkunft1$Zn
data_Zn<-data$Zn
Zn<-sqrt((data_Zn-MedianHerkunft1_Zn)^2)

MedianHerkunft1_Rb<-MedianHerkunft1$Rb
data_Rb<-data$Rb
Rb<-sqrt((data_Rb-MedianHerkunft1_Rb)^2)

MedianHerkunft1_Sr<-MedianHerkunft1$Sr
data_Sr<-data$Sr
Sr<-sqrt((data_Sr-MedianHerkunft1_Sr)^2)

MedianHerkunft1_Y<-MedianHerkunft1$Y
data_Y<-data$Y
Y<-sqrt((data_Y-MedianHerkunft1_Y)^2)

MedianHerkunft1_Zr<-MedianHerkunft1$Zr
data_Zr<-data$Zr
Zr<-sqrt((data_Zr-MedianHerkunft1_Zr)^2)

MedianHerkunft1_Nb<-MedianHerkunft1$Nb
data_Nb<-data$Nb
Nb<-sqrt((data_Nb-MedianHerkunft1_Nb)^2)

MedianHerkunft1_Pb<-MedianHerkunft1$Pb
data_Pb<-data$Pb
Pb<-sqrt((data_Pb-MedianHerkunft1_Pb)^2)

# Kombinieren mehrerer Dataframes
Normabstand_SE<-data.frame(Probennummer,Kultur,Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)

# Berechnen des Normabstandes zum Median von Herkunft 1 pro Probe basierend auf den Spurenelementen
Normabstand_Herk1Tabelle<-Normabstand_SE %>% rowwise() %>%  mutate(Summe = sum(c(Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)))

# Definieren der Summe als Variablen
Normabstand_Herk1<-Normabstand_Herk1Tabelle$Summe

11.3 Abstand zum Median von Herkunft 2

MedianHerkunft2<-filter(MedianGruppenMod3, Modell2=="Herkunft 2")

MedianHerkunft2_Cu<-MedianHerkunft2$Cu
data_Cu<-data$Cu
Cu<-sqrt((data_Cu-MedianHerkunft2_Cu)^2)

MedianHerkunft2_Zn<-MedianHerkunft2$Zn
data_Zn<-data$Zn
Zn<-sqrt((data_Zn-MedianHerkunft2_Zn)^2)

MedianHerkunft2_Rb<-MedianHerkunft2$Rb
data_Rb<-data$Rb
Rb<-sqrt((data_Rb-MedianHerkunft2_Rb)^2)

MedianHerkunft2_Sr<-MedianHerkunft2$Sr
data_Sr<-data$Sr
Sr<-sqrt((data_Sr-MedianHerkunft2_Sr)^2)

MedianHerkunft2_Y<-MedianHerkunft2$Y
data_Y<-data$Y
Y<-sqrt((data_Y-MedianHerkunft2_Y)^2)

MedianHerkunft2_Zr<-MedianHerkunft2$Zr
data_Zr<-data$Zr
Zr<-sqrt((data_Zr-MedianHerkunft2_Zr)^2)

MedianHerkunft2_Nb<-MedianHerkunft2$Nb
data_Nb<-data$Nb
Nb<-sqrt((data_Nb-MedianHerkunft2_Nb)^2)

MedianHerkunft2_Pb<-MedianHerkunft2$Pb
data_Pb<-data$Pb
Pb<-sqrt((data_Pb-MedianHerkunft2_Pb)^2)

Normabstand_SE<-data.frame(Probennummer,Kultur,Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)
Normabstand_Herk2Tabelle<-Normabstand_SE %>% rowwise() %>%  mutate(Summe = sum(c(Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)))
Normabstand_Herk2<-Normabstand_Herk2Tabelle$Summe

11.4 Abstand zum Median von Herkunft 3

MedianHerkunft3<-filter(MedianGruppenMod3, Modell2=="Herkunft 3")

MedianHerkunft3_Cu<-MedianHerkunft3$Cu
data_Cu<-data$Cu
Cu<-sqrt((data_Cu-MedianHerkunft3_Cu)^2)

MedianHerkunft3_Zn<-MedianHerkunft3$Zn
data_Zn<-data$Zn
Zn<-sqrt((data_Zn-MedianHerkunft3_Zn)^2)

MedianHerkunft3_Rb<-MedianHerkunft3$Rb
data_Rb<-data$Rb
Rb<-sqrt((data_Rb-MedianHerkunft3_Rb)^2)

MedianHerkunft3_Sr<-MedianHerkunft3$Sr
data_Sr<-data$Sr
Sr<-sqrt((data_Sr-MedianHerkunft3_Sr)^2)

MedianHerkunft3_Y<-MedianHerkunft3$Y
data_Y<-data$Y
Y<-sqrt((data_Y-MedianHerkunft3_Y)^2)

MedianHerkunft3_Zr<-MedianHerkunft3$Zr
data_Zr<-data$Zr
Zr<-sqrt((data_Zr-MedianHerkunft3_Zr)^2)

MedianHerkunft3_Nb<-MedianHerkunft3$Nb
data_Nb<-data$Nb
Nb<-sqrt((data_Nb-MedianHerkunft3_Nb)^2)

MedianHerkunft3_Pb<-MedianHerkunft3$Pb
data_Pb<-data$Pb
Pb<-sqrt((data_Pb-MedianHerkunft3_Pb)^2)

Normabstand_SE<-data.frame(Probennummer,Kultur,Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)
Normabstand_Herk3Tabelle<-Normabstand_SE %>% rowwise() %>%  mutate(Summe = sum(c(Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)))
Normabstand_Herk3<-Normabstand_Herk3Tabelle$Summe

11.5 Abstand zum Median von Herkunft 4

MedianHerkunft4<-filter(MedianGruppenMod3, Modell2=="Herkunft 4")

MedianHerkunft4_Cu<-MedianHerkunft4$Cu
data_Cu<-data$Cu
Cu<-sqrt((data_Cu-MedianHerkunft4_Cu)^2)

MedianHerkunft4_Zn<-MedianHerkunft4$Zn
data_Zn<-data$Zn
Zn<-sqrt((data_Zn-MedianHerkunft4_Zn)^2)

MedianHerkunft4_Rb<-MedianHerkunft4$Rb
data_Rb<-data$Rb
Rb<-sqrt((data_Rb-MedianHerkunft4_Rb)^2)

MedianHerkunft4_Sr<-MedianHerkunft4$Sr
data_Sr<-data$Sr
Sr<-sqrt((data_Sr-MedianHerkunft4_Sr)^2)

MedianHerkunft4_Y<-MedianHerkunft4$Y
data_Y<-data$Y
Y<-sqrt((data_Y-MedianHerkunft4_Y)^2)

MedianHerkunft4_Zr<-MedianHerkunft4$Zr
data_Zr<-data$Zr
Zr<-sqrt((data_Zr-MedianHerkunft4_Zr)^2)

MedianHerkunft4_Nb<-MedianHerkunft4$Nb
data_Nb<-data$Nb
Nb<-sqrt((data_Nb-MedianHerkunft4_Nb)^2)

MedianHerkunft4_Pb<-MedianHerkunft4$Pb
data_Pb<-data$Pb
Pb<-sqrt((data_Pb-MedianHerkunft4_Pb)^2)

Normabstand_SE<-data.frame(Probennummer,Kultur,Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)
Normabstand_Herk4Tabelle<-Normabstand_SE %>% rowwise() %>%  mutate(Summe = sum(c(Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)))
Normabstand_Herk4<-Normabstand_Herk4Tabelle$Summe

11.6 Abstand zum Median von Herkunft 5

MedianHerkunft5<-filter(MedianGruppenMod3, Modell2=="Herkunft 5")

MedianHerkunft5_Cu<-MedianHerkunft5$Cu
data_Cu<-data$Cu
Cu<-sqrt((data_Cu-MedianHerkunft5_Cu)^2)

MedianHerkunft5_Zn<-MedianHerkunft5$Zn
data_Zn<-data$Zn
Zn<-sqrt((data_Zn-MedianHerkunft5_Zn)^2)

MedianHerkunft5_Rb<-MedianHerkunft5$Rb
data_Rb<-data$Rb
Rb<-sqrt((data_Rb-MedianHerkunft5_Rb)^2)

MedianHerkunft5_Sr<-MedianHerkunft5$Sr
data_Sr<-data$Sr
Sr<-sqrt((data_Sr-MedianHerkunft5_Sr)^2)

MedianHerkunft5_Y<-MedianHerkunft5$Y
data_Y<-data$Y
Y<-sqrt((data_Y-MedianHerkunft5_Y)^2)

MedianHerkunft5_Zr<-MedianHerkunft5$Zr
data_Zr<-data$Zr
Zr<-sqrt((data_Zr-MedianHerkunft5_Zr)^2)

MedianHerkunft5_Nb<-MedianHerkunft5$Nb
data_Nb<-data$Nb
Nb<-sqrt((data_Nb-MedianHerkunft5_Nb)^2)

MedianHerkunft5_Pb<-MedianHerkunft5$Pb
data_Pb<-data$Pb
Pb<-sqrt((data_Pb-MedianHerkunft5_Pb)^2)

Normabstand_SE<-data.frame(Probennummer,Kultur,Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)
Normabstand_Herk5Tabelle<-Normabstand_SE %>% rowwise() %>%  mutate(Summe = sum(c(Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)))
Normabstand_Herk5<-Normabstand_Herk5Tabelle$Summe

11.7 Abstand zum Median von Herkunft 6

MedianHerkunft6<-filter(MedianGruppenMod3, Modell2=="Herkunft 6")

MedianHerkunft6_Cu<-MedianHerkunft6$Cu
data_Cu<-data$Cu
Cu<-sqrt((data_Cu-MedianHerkunft6_Cu)^2)

MedianHerkunft6_Zn<-MedianHerkunft6$Zn
data_Zn<-data$Zn
Zn<-sqrt((data_Zn-MedianHerkunft6_Zn)^2)

MedianHerkunft6_Rb<-MedianHerkunft6$Rb
data_Rb<-data$Rb
Rb<-sqrt((data_Rb-MedianHerkunft6_Rb)^2)

MedianHerkunft6_Sr<-MedianHerkunft6$Sr
data_Sr<-data$Sr
Sr<-sqrt((data_Sr-MedianHerkunft6_Sr)^2)

MedianHerkunft6_Y<-MedianHerkunft6$Y
data_Y<-data$Y
Y<-sqrt((data_Y-MedianHerkunft6_Y)^2)

MedianHerkunft6_Zr<-MedianHerkunft6$Zr
data_Zr<-data$Zr
Zr<-sqrt((data_Zr-MedianHerkunft6_Zr)^2)

MedianHerkunft6_Nb<-MedianHerkunft6$Nb
data_Nb<-data$Nb
Nb<-sqrt((data_Nb-MedianHerkunft6_Nb)^2)

MedianHerkunft6_Pb<-MedianHerkunft6$Pb
data_Pb<-data$Pb
Pb<-sqrt((data_Pb-MedianHerkunft6_Pb)^2)

Normabstand_SE<-data.frame(Probennummer,Kultur,Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)
Normabstand_Herk6Tabelle<-Normabstand_SE %>% rowwise() %>%  mutate(Summe = sum(c(Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)))
Normabstand_Herk6<-Normabstand_Herk6Tabelle$Summe

11.8 Abstand zum Median von Herkunft 7

MedianHerkunft7<-filter(MedianGruppenMod3, Modell2=="Herkunft 7")

MedianHerkunft7_Cu<-MedianHerkunft7$Cu
data_Cu<-data$Cu
Cu<-sqrt((data_Cu-MedianHerkunft7_Cu)^2)

MedianHerkunft7_Zn<-MedianHerkunft7$Zn
data_Zn<-data$Zn
Zn<-sqrt((data_Zn-MedianHerkunft7_Zn)^2)

MedianHerkunft7_Rb<-MedianHerkunft7$Rb
data_Rb<-data$Rb
Rb<-sqrt((data_Rb-MedianHerkunft7_Rb)^2)

MedianHerkunft7_Sr<-MedianHerkunft7$Sr
data_Sr<-data$Sr
Sr<-sqrt((data_Sr-MedianHerkunft7_Sr)^2)

MedianHerkunft7_Y<-MedianHerkunft7$Y
data_Y<-data$Y
Y<-sqrt((data_Y-MedianHerkunft7_Y)^2)

MedianHerkunft7_Zr<-MedianHerkunft7$Zr
data_Zr<-data$Zr
Zr<-sqrt((data_Zr-MedianHerkunft7_Zr)^2)

MedianHerkunft7_Nb<-MedianHerkunft7$Nb
data_Nb<-data$Nb
Nb<-sqrt((data_Nb-MedianHerkunft7_Nb)^2)

MedianHerkunft7_Pb<-MedianHerkunft7$Pb
data_Pb<-data$Pb
Pb<-sqrt((data_Pb-MedianHerkunft7_Pb)^2)

Normabstand_SE<-data.frame(Probennummer,Kultur,Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)
Normabstand_Herk7Tabelle<-Normabstand_SE %>% rowwise() %>%  mutate(Summe = sum(c(Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)))
Normabstand_Herk7<-Normabstand_Herk7Tabelle$Summe

11.9 Abstand zum Median von Herkunft 8

MedianHerkunft8<-filter(MedianGruppenMod3, Modell2=="Herkunft 8")

MedianHerkunft8_Cu<-MedianHerkunft8$Cu
data_Cu<-data$Cu
Cu<-sqrt((data_Cu-MedianHerkunft8_Cu)^2)

MedianHerkunft8_Zn<-MedianHerkunft8$Zn
data_Zn<-data$Zn
Zn<-sqrt((data_Zn-MedianHerkunft8_Zn)^2)

MedianHerkunft8_Rb<-MedianHerkunft8$Rb
data_Rb<-data$Rb
Rb<-sqrt((data_Rb-MedianHerkunft8_Rb)^2)

MedianHerkunft8_Sr<-MedianHerkunft8$Sr
data_Sr<-data$Sr
Sr<-sqrt((data_Sr-MedianHerkunft8_Sr)^2)

MedianHerkunft8_Y<-MedianHerkunft8$Y
data_Y<-data$Y
Y<-sqrt((data_Y-MedianHerkunft8_Y)^2)

MedianHerkunft8_Zr<-MedianHerkunft8$Zr
data_Zr<-data$Zr
Zr<-sqrt((data_Zr-MedianHerkunft8_Zr)^2)

MedianHerkunft8_Nb<-MedianHerkunft8$Nb
data_Nb<-data$Nb
Nb<-sqrt((data_Nb-MedianHerkunft8_Nb)^2)

MedianHerkunft8_Pb<-MedianHerkunft8$Pb
data_Pb<-data$Pb
Pb<-sqrt((data_Pb-MedianHerkunft8_Pb)^2)

Normabstand_SE<-data.frame(Probennummer,Kultur,Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)
Normabstand_Herk8Tabelle<-Normabstand_SE %>% rowwise() %>%  mutate(Summe = sum(c(Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)))
Normabstand_Herk8<-Normabstand_Herk8Tabelle$Summe

11.10 Abstand zum Median von Herkunft 9

MedianHerkunft9<-filter(MedianGruppenMod3, Modell2=="Herkunft 9")

MedianHerkunft9_Cu<-MedianHerkunft9$Cu
data_Cu<-data$Cu
Cu<-sqrt((data_Cu-MedianHerkunft9_Cu)^2)

MedianHerkunft9_Zn<-MedianHerkunft9$Zn
data_Zn<-data$Zn
Zn<-sqrt((data_Zn-MedianHerkunft9_Zn)^2)

MedianHerkunft9_Rb<-MedianHerkunft9$Rb
data_Rb<-data$Rb
Rb<-sqrt((data_Rb-MedianHerkunft9_Rb)^2)

MedianHerkunft9_Sr<-MedianHerkunft9$Sr
data_Sr<-data$Sr
Sr<-sqrt((data_Sr-MedianHerkunft9_Sr)^2)

MedianHerkunft9_Y<-MedianHerkunft9$Y
data_Y<-data$Y
Y<-sqrt((data_Y-MedianHerkunft9_Y)^2)

MedianHerkunft9_Zr<-MedianHerkunft9$Zr
data_Zr<-data$Zr
Zr<-sqrt((data_Zr-MedianHerkunft9_Zr)^2)

MedianHerkunft9_Nb<-MedianHerkunft9$Nb
data_Nb<-data$Nb
Nb<-sqrt((data_Nb-MedianHerkunft9_Nb)^2)

MedianHerkunft9_Pb<-MedianHerkunft9$Pb
data_Pb<-data$Pb
Pb<-sqrt((data_Pb-MedianHerkunft9_Pb)^2)

Normabstand_SE<-data.frame(Probennummer,Kultur,Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)
Normabstand_Herk9Tabelle<-Normabstand_SE %>% rowwise() %>%  mutate(Summe = sum(c(Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb)))
Normabstand_Herk9<-Normabstand_Herk9Tabelle$Summe

11.11 Zusammenführen der Variablen

# Kombinieren mehrerer Dataframes für Modell 3
NormabstandGruppenMod3<-data.frame(Normabstand_Herk1,Normabstand_Herk2,Normabstand_Herk3,Normabstand_Herk4,Normabstand_Herk5,Normabstand_Herk6,Normabstand_Herk7,Normabstand_Herk8,Normabstand_Herk9)

# Kombinieren mehrerer Dataframes für Modell 4
NormabstandGruppenMod4<-data.frame(Normabstand_Herk1,Normabstand_Herk2,Normabstand_Herk3,Normabstand_Herk9)

11.12 Modell 3 & 4 - Zuweisen der Funde zum geringsten Normabstand

# Bestimmen der Rezeptur mit dem kleinsten Normabstand für jede Probe
Min<-colnames(NormabstandGruppenMod3)[apply(NormabstandGruppenMod3,1,which.min)]

# Definieren der Summe als Variablen
data1$Modell3<-Min

# Spaltennamen "Normabstand_Herk" durch "Herkunft" ersetzen
data1$Modell3<-gsub("Normabstand_Herk","Herkunft ",data1$Modell3)

# Bestimmen der Rezeptur mit dem kleinsten Normabstand für jede Probe
Min<-colnames(NormabstandGruppenMod4)[apply(NormabstandGruppenMod4,1,which.min)]

# Definieren der Summe als Variablen
data1$Modell4<-Min

# Spaltennamen "Normabstand_Herk" durch "Herkunft" ersetzen
data1$Modell4<-gsub("Normabstand_Herk","Herkunft ",data1$Modell4)

# Speichern als CSV
write.csv(data1,"../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//TestHerkunft_Abstmaß.csv",row.names=FALSE)

12 Abb. 6-81

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//TestHerkunft_Abstmaß.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell3),]

# Diagramme erstellen
Modell3_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell3, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell3",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Modell3_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell3, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell3",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell3_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell3, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell3",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell3_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell3, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell3",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell3_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell3, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell3",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell3_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell3, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell3",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell3_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell3, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell3",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell3_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell3, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell3",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme   
ggarrange(Modell3_SE_Rb_Sr,Modell3_SE_Rb_Zr,Modell3_SE_Sr_Zr,Modell3_SE_Y_Zr,Modell3_SE_Cu_Zn,Modell3_SE_Nb_Pb,Modell3_SE_Cu_Nb,Modell3_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

# Export des kombinierten Diagramms 
ggsave("Abb.6-81.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=14.5,width=15.3,unit=c("cm"),dpi=1200)

12.1 Streudiagramm zu Modell 4

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//TestHerkunft_Abstmaß.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell4),]

Modell4_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell4, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell4",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design 
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Modell4_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell4, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell4",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell4_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=Modell4, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell4",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell4_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell4, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell4",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell4_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell4, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell4",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell4_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell4, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell4",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
Modell4_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell4, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell4",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Modell4_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell4, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+scale_color_manual(name="Modell4",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme   
ggarrange(Modell4_SE_Rb_Sr,Modell4_SE_Rb_Zr,Modell4_SE_Sr_Zr,Modell4_SE_Y_Zr,Modell4_SE_Cu_Zn,Modell4_SE_Nb_Pb,Modell4_SE_Cu_Nb,Modell4_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

13 Abb. 6-82

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//TestHerkunft_Abstmaß.csv")

ggplot(data)+
  geom_bar(aes(x=Modell2),fill="lightgrey",color="black")+ # Manuelle Definition der Farbe der Balken
  xlab("Chemische Herkunften")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  scale_y_continuous(breaks=seq(0,300,20),expand=c(0,0), limits=c(0,270))+ # Manuelle Definition der Achsen
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung
  geom_text(aes(x=Modell2,label=..count..),stat='count',position=position_dodge(1),vjust=-0.3,size=2.75)+ # Manuelles Hinzufügen der Zahlenwerte als Text oberhalb der Balken
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # Axenbeschriftung vertikal

ggsave("Abb.6-82.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=9,width=9,unit=c("cm"),dpi=1200)

14 Berechnen der MANOVA

14.1 Zusammenstellen der Daten

# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb.csv")
data2<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//TestHerkunft_Abstmaß.csv")
data10<-data2[,c(1,45),]

# Kombinieren mehrerer Dataframes basierend auf der Probennummer
data<-merge(data1,data10, by="Probennummer", all=TRUE)

# Speichern als CSV
write.csv(data,"../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb_SE.csv",row.names=FALSE)

14.2 Zusammenstellen der log-Daten für die Herkunft der Keramik

# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb_SE.csv")
data7<-data1[,c(1,78),]

# Daten einlesen und filtern
data2<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_log10_MW.csv")
data3<-subset(data2, Messstelle %in% c("frischer Bruch"))
data4<-subset(data3, Kultur %in% c("LBK","La Hoguette"))

# Kombinieren mehrerer Dataframes basierend auf der Probennummer
data8<-merge(data4,data7, by="Probennummer", all=TRUE)

# Daten filtern
data8<-data8[,c(1,3:26),]

# Speichern als CSV
write.csv(data8,"../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Daten_Herk_log10_MW.csv",row.names=FALSE)

14.3 Durchführen der MANOVA

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Daten_Herk_log10_MW.csv")

# Durchführen der MANOVA für ausgewählte Spalten im Hinblick auf Modell
manova<-manova(cbind(Cu,Zn,Rb,Sr,Y,Zr,Nb,Pb) ~ Modell2, data)

# Zusammenfassung der MANOVA mit Intercept 
summary(manova)
           Df Pillai approx F num Df den Df    Pr(>F)    
Modell2     8 1.0259    5.038     64   2192 < 2.2e-16 ***
Residuals 274                                            
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Anzeige der MANOVA-Ergebnisse mit Wilks-Lambda-Tests
summary(manova,test="Wilks")
           Df   Wilks approx F num Df den Df    Pr(>F)    
Modell2     8 0.30645   5.4994     64 1546.5 < 2.2e-16 ***
Residuals 274                                             
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

15 Hauptkomponentenanalyse

Achtung! Hauptkomponenten- und Clusteranalysen für die Rezepturen müssen in derselben Sitzung durchgeführt werden da nur so die in den folgenden Schritten berechneten Variablen konsistent genutzt werden können.

15.1 Berechnen und Zusammenstellen der PCA-DAten

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Daten_Herk_log10_MW.csv")

# Durchführen der PCA für ausgewählte Spalten
myPr <- prcomp(~ Cu+Zn+Rb+Sr+Y+Zr+Nb+Pb,data=data,scale = TRUE)
myPr
Standard deviations (1, .., p=8):
[1] 1.4221188 1.2792333 1.1939135 0.9382426 0.8194244 0.7967207 0.6466607
[8] 0.5576930

Rotation (n x k) = (8 x 8):
           PC1        PC2         PC3         PC4         PC5         PC6
Cu -0.29800098 -0.0446824  0.47378089  0.47279343  0.65212434 -0.09051521
Zn -0.49236543  0.3122952  0.08283820 -0.24354397 -0.16592867 -0.47312192
Rb -0.48952110  0.1403748 -0.22371715  0.08919234  0.05806970  0.74253900
Sr -0.12424193 -0.1770644  0.59421133  0.27033997 -0.69276623  0.19503015
Y   0.31086352  0.5209670  0.05727396  0.47934714 -0.08236299 -0.17186699
Zr  0.44945361  0.4618429  0.13137069 -0.02179811  0.06274609  0.34916327
Nb -0.08313859  0.3984859  0.48357273 -0.57681889  0.12816487  0.12618251
Pb -0.32885868  0.4537861 -0.33339447  0.27045307 -0.19172224 -0.10576596
           PC7         PC8
Cu -0.09742276 -0.13507994
Zn  0.44296176 -0.38246616
Rb  0.34477988  0.09513119
Sr -0.07626724 -0.05712122
Y   0.40298011  0.44742417
Zr -0.03862078 -0.66303507
Nb -0.22868928  0.42788703
Pb -0.67336507 -0.01640333
# Eigenwerte der Hauptkomponenten
summary(myPr)
Importance of components:
                          PC1    PC2    PC3    PC4     PC5     PC6     PC7
Standard deviation     1.4221 1.2792 1.1939 0.9382 0.81942 0.79672 0.64666
Proportion of Variance 0.2528 0.2046 0.1782 0.1100 0.08393 0.07935 0.05227
Cumulative Proportion  0.2528 0.4574 0.6355 0.7456 0.82951 0.90885 0.96112
                           PC8
Standard deviation     0.55769
Proportion of Variance 0.03888
Cumulative Proportion  1.00000
# Screeplot der Eigenwerte
plot(myPr, type="l")

# Kombinieren der ursprünglichen Daten mit den ersten drei Hauptkomponenten
PCdata1 <- cbind(data,myPr$x[,1:3])

# Speichern als CSV
write.csv(PCdata1,"../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//PCA_SE.csv",row.names=FALSE)

15.2 Berechnen der Camargo-Teststatistik

# Daten einlesen und filtern
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Daten_Herk_log10_MW.csv")
data10<-data[,c(14:20,22),]

# Berechnung der Varianz für alle numerischen Spalten
data10 %>% summarise_if(is.numeric, var)
           Cu         Zn         Rb         Sr           Y          Zr
1 0.009988742 0.05282668 0.01371613 0.02618863 0.003891094 0.009176658
          Nb          Pb
1 0.01061232 0.007550025
# Durchführen des Camargo-Tests mit Hauptkomponentenanalyse (PCA)
result <- PCAtest(
  data10,   # Eingabedaten
  1000,     # Anzahl der Permutationen
  1000,     # Anzahl der Bootstrap-Resamples
  0.05,     # Signifikanzniveau
  varcorr = FALSE,  # Keine Korrektur für Variablenkorrelationen anwenden
  counter = FALSE,  # Keine Zählvariable für Iterationen anzeigen
  plot = TRUE       # Ergebnisse grafisch darstellen
)

Sampling bootstrap replicates... Please wait

Calculating confidence intervals of empirical statistics... Please wait

Sampling random permutations... Please wait

Comparing empirical statistics with their null distributions... Please wait

========================================================
Test of PCA significance: 8 variables, 283 observations
1000 bootstrap replicates, 1000 random permutations
========================================================

Empirical Psi = 2.7003, Max null Psi = 0.4172, Min null Psi = 0.0803, p-value = 0
Empirical Phi = 0.2196, Max null Phi = 0.0863, Min null Phi = 0.0379, p-value = 0

Empirical eigenvalue #1 = 2.02242, Max null eigenvalue = 1.44222, p-value = 0
Empirical eigenvalue #2 = 1.63644, Max null eigenvalue = 1.28325, p-value = 0
Empirical eigenvalue #3 = 1.42543, Max null eigenvalue = 1.19897, p-value = 0
Empirical eigenvalue #4 = 0.8803, Max null eigenvalue = 1.10898, p-value = 1
Empirical eigenvalue #5 = 0.67146, Max null eigenvalue = 1.03957, p-value = 1
Empirical eigenvalue #6 = 0.63476, Max null eigenvalue = 0.99138, p-value = 1
Empirical eigenvalue #7 = 0.41817, Max null eigenvalue = 0.91954, p-value = 1
Empirical eigenvalue #8 = 0.31102, Max null eigenvalue = 0.87251, p-value = 1

PC 1 is significant and accounts for 25.3% (95%-CI:23.1-29.3) of the total variation
PC 2 is significant and accounts for 20.5% (95%-CI:18.3-23.5) of the total variation
PC 3 is significant and accounts for 17.8% (95%-CI:14.8-19.4) of the total variation

The first 3 PC axes are significant and account for 63.6% of the total variation

Variables 2, 3, and 6 have significant loadings on PC 1
Variables 5, 6, and 8 have significant loadings on PC 2
Variables , and 4 have significant loadings on PC 3

16 Abb. 6-83

# Erstellung einer EPS-Datei
setEPS()
postscript("../Daten//Kap_6//Kap_6.2///Abbildungen//Herkunft//Abb.6-83.eps", width = 6.5, height = 6.5)

# Erstellen eines 2x2 Plots
par(mfrow = c(2, 2))

# Diagramme erstellen
barplot(myPr$rotation[,1], main="PC 1 Loadings Plot", las=2) # Loadings der spezifizierten Hauptkomponente
barplot(myPr$rotation[,2], main="PC 2 Loadings Plot", las=2)
barplot(myPr$rotation[,3], main="PC 3 Loadings Plot", las=2)

# Schließen der EPS-Datei
dev.off()
png 
  2 

17 Abb. 6-84

# Daten einlesen
data1<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//PCA_SE.csv")

# Daten nach ausgewählter Spalte sortieren und in data.table umwandeln
data2 <- setDT(data1)[order(-PC1)]

# Berechnung der Zeilenanzahl
num_rows = nrow(data2)

# Erstellen einer ID-Spalte mit aufsteigenden Werten
ID_PC1 <- c(1:num_rows)

# Spaltenweise Kombination von Dataframes
data3 <- cbind(ID_PC1, data2)

# Diagramme erstellen
Score_PC1<-ggplot(data3, aes(x=ID_PC1,y=PC1, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Zeilennummer")+ylab("Scorewert PC 1")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung
  geom_hline(yintercept=0,size=0.25) # Horizontale 0-Linie einfügen

data2 <- setDT(data1)[order(-PC2)]
num_rows = nrow(data2)
ID_PC2 <- c(1:num_rows)
data3 <- cbind(ID_PC2, data2)

Score_PC2<-ggplot(data3, aes(x=ID_PC2,y=PC2, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Zeilennummer")+ylab("Scorewert PC 2")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+
  geom_hline(yintercept=0,size=0.25)
  
data2 <- setDT(data1)[order(-PC3)]
num_rows = nrow(data2)
ID_PC3 <- c(1:num_rows)
data3 <- cbind(ID_PC3, data2)
  
Score_PC3<-ggplot(data3, aes(x=ID_PC3,y=PC3, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Zeilennummer")+ylab("Scorewert PC 3")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+geom_hline(yintercept=0,size=0.25)

# Kombination der Diagramme 
ggarrange(Score_PC1,Score_PC2,Score_PC3,ncol=2,nrow=2,common.legend = TRUE)+theme(legend.position="bottom")

# Export des kombinierten Diagramms 
ggsave("Abb.6-84.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=15,width=15.3,unit=c("cm"),dpi=1200)

18 Abb. 6-85

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Daten_Herk_log10_MW.csv")

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2),]

# Diagramme erstellen
PCA1_2<-autoplot(myPr, data = data, colour = 'Modell2', shape='Kultur',loadings.colour = 'black', loadings.label = TRUE, loadings.label.size = 3,loadings = TRUE)+
  scale_shape_manual(values=c(17,19))+ # Manuelle Definition der Form der Symbole
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ # Manuelle Definition der Farbe der Symbole
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung
  geom_vline(xintercept=0, color="black", size=0.25)+geom_hline(yintercept=0, color="black", size=0.25) # Horizontale und vertikale 0-Linie einfügen
         
PCA1_3<-autoplot(myPr, x=1, y=3,data = data, colour = 'Modell2', shape='Kultur',loadings.colour = 'black',loadings.label = TRUE, loadings.label.size = 3,loadings = TRUE)+ 
  scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+
  geom_vline(xintercept=0, color="black", size=0.25)+geom_hline(yintercept=0, color="black", size=0.25)

PCA2_3<-autoplot(myPr, x=2, y=3,data = data, colour = 'Modell2', shape='Kultur',loadings.colour = 'black',loadings.label = TRUE, loadings.label.size = 3,loadings = TRUE)+ 
  scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+
  geom_vline(xintercept=0, color="black", size=0.25)+geom_hline(yintercept=0, color="black", size=0.25)

# Kombination der Diagramme   
ggarrange(PCA1_2,PCA1_3,PCA2_3,ncol=1,nrow=3,align="v",common.legend=TRUE)+theme(legend.position="bottom")

# Export des kombinierten Diagramms 
ggsave("Abb.6-85.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=20,width=15.3,unit=c("cm"),dpi=1200)

19 Diskriminanzanalyse

19.1 Berechnen und Zusammenstellen der DA-DAten

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Daten_Herk_log10_MW.csv")

# Durchführen der Diskriminanzanalyse für ausgewählte Spalten
DAModel.1 <- lda(Modell2~Cu+Zn+Rb+Sr+Y+Zr+Nb+Pb, data=data)

# Visualisierung der LDA-Ergebnisse
DAModel.1
Call:
lda(Modell2 ~ Cu + Zn + Rb + Sr + Y + Zr + Nb + Pb, data = data)

Prior probabilities of groups:
 Herkunft 1  Herkunft 2  Herkunft 3  Herkunft 4  Herkunft 5  Herkunft 6 
0.939929329 0.021201413 0.014134276 0.003533569 0.003533569 0.003533569 
 Herkunft 7  Herkunft 8  Herkunft 9 
0.003533569 0.003533569 0.007067138 

Group means:
                 Cu       Zn       Rb       Sr        Y       Zr       Nb
Herkunft 1 1.298722 2.093495 1.933665 2.293970 1.550506 2.601858 1.492797
Herkunft 2 1.397401 2.167221 1.822446 2.589169 1.567357 2.614278 1.578192
Herkunft 3 1.430571 2.132991 1.994769 2.263404 1.405734 2.292392 1.171174
Herkunft 4 1.443518 2.213949 1.997964 2.378148 1.668210 2.765653 1.869939
Herkunft 5 1.218124 2.216413 1.726629 2.745188 1.405299 2.605393 1.602833
Herkunft 6 1.464696 2.185535 2.175597 2.656795 1.615682 2.539593 1.518244
Herkunft 7 1.284162 1.977304 1.788217 2.880664 1.511539 2.300148 1.283125
Herkunft 8 1.533499 1.834343 1.506202 2.261437 1.463906 2.597342 1.948042
Herkunft 9 1.288953 2.728766 1.978901 1.964347 1.648709 2.603317 1.501143
                 Pb
Herkunft 1 1.411883
Herkunft 2 1.328088
Herkunft 3 1.320587
Herkunft 4 1.317187
Herkunft 5 1.242073
Herkunft 6 1.588015
Herkunft 7 1.369086
Herkunft 8 1.094485
Herkunft 9 1.565602

Coefficients of linear discriminants:
           LD1        LD2        LD3         LD4        LD5       LD6
Cu   0.5216077  2.2588066 -4.6699662  4.36337813  4.2641718  2.709770
Zn   1.2492995 -0.5719173 -0.7393422  2.29291748 -4.4557146  2.036482
Rb   1.1186306 -4.2567726  1.2969839 -0.11232542  5.4060397  5.584310
Sr  -0.2151129  2.6447125  6.6290660  0.29861388 -0.4110414  1.066632
Y   -2.4704786 -5.8177036  3.1803197 13.53727441  4.5026588 -5.709037
Zr  -2.9916026 -3.6835562  0.9453194 -5.05009781 -4.2763450  9.714141
Nb -10.5949155  1.6447596 -1.6951810 -0.01011325  3.1278057 -3.793879
Pb  -0.1666870 -4.4435838  5.0564307 -2.72136372  0.8654814 -7.149243
           LD7        LD8
Cu   4.7757316 -5.4566720
Zn   0.2070353  0.5764052
Rb  -2.3171128  4.3258842
Sr   0.4322587  0.1537619
Y  -11.7501165 -0.3389666
Zr   3.0553030 -6.3621938
Nb   1.0336214  5.4365293
Pb   9.7373221 -2.5945928

Proportion of trace:
   LD1    LD2    LD3    LD4    LD5    LD6    LD7    LD8 
0.4186 0.2521 0.1557 0.0709 0.0605 0.0288 0.0078 0.0057 
plot(DAModel.1)

# Erstellen einer Konfusionsmatrix zur Bewertung der Klassifikationsgüte
confusion(data$Modell2[], predict(DAModel.1)$class)
            True
Predicted    Herkunft 1 Herkunft 2 Herkunft 3 Herkunft 4 Herkunft 5 Herkunft 6
  Herkunft 1        257          4          0          0          0          0
  Herkunft 2          3          2          0          0          0          0
  Herkunft 3          2          0          4          0          0          0
  Herkunft 4          1          0          0          1          0          0
  Herkunft 5          0          0          0          0          1          0
  Herkunft 6          0          0          0          0          0          1
  Herkunft 7          0          0          0          0          0          0
  Herkunft 8          0          0          0          0          0          0
  Herkunft 9          3          0          0          0          0          0
  Total             266          6          4          1          1          1
  Correct           257          2          4          1          1          1
            True
Predicted    Herkunft 7 Herkunft 8 Herkunft 9
  Herkunft 1          0          0          0
  Herkunft 2          0          0          0
  Herkunft 3          0          0          0
  Herkunft 4          0          0          0
  Herkunft 5          0          0          0
  Herkunft 6          0          0          0
  Herkunft 7          1          0          0
  Herkunft 8          0          1          0
  Herkunft 9          0          0          2
  Total               1          1          2
  Correct             1          1          2

Proportions correct
Herkunft 1 Herkunft 2 Herkunft 3 Herkunft 4 Herkunft 5 Herkunft 6 Herkunft 7 
 0.9661654  0.3333333  1.0000000  1.0000000  1.0000000  1.0000000  1.0000000 
Herkunft 8 Herkunft 9 
 1.0000000  1.0000000 

N correct/N total = 270/283 = 0.9540636
# Vorhersage der Zuordnung zu den chemischen Rezepturen basierend auf der DA
da_prediction <- predict(DAModel.1)

# Kombinieren der ursprünglichen Daten mit den ersten beiden Diskriminanzfunktionen
DAdata1 <- cbind(data,da_prediction$x[,1:2])

# Speichern als CSV
write.csv(DAdata1,"../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//DA_SE.csv",row.names=FALSE)

19.2 Jackknifing

# Vergleich der vorhergesagten Zuordnung mit der tatsächlichen Zuordnung nach Modell2
confusion(data$Modell2, lda(Modell2~Cu+Zn+Rb+Sr+Y+Zr+Nb+Pb, data=data,CV=TRUE)$class)
            True
Predicted    Herkunft 1 Herkunft 2 Herkunft 3 Herkunft 4 Herkunft 5 Herkunft 6
  Herkunft 1        257          6          0          0          0          0
  Herkunft 2          3          0          0          0          0          0
  Herkunft 3          2          0          4          0          0          0
  Herkunft 4          1          0          0          0          0          0
  Herkunft 5          0          0          0          0          0          0
  Herkunft 6          0          0          0          0          0          0
  Herkunft 7          0          0          0          0          0          0
  Herkunft 8          0          0          0          0          0          0
  Herkunft 9          3          0          0          0          0          0
  Total             266          6          4          0          0          0
  Correct           257          0          4          0          0          0
            True
Predicted    Herkunft 7 Herkunft 8 Herkunft 9
  Herkunft 1          0          0          0
  Herkunft 2          0          0          0
  Herkunft 3          0          0          0
  Herkunft 4          0          0          0
  Herkunft 5          0          0          0
  Herkunft 6          0          0          0
  Herkunft 7          0          0          0
  Herkunft 8          0          0          0
  Herkunft 9          0          0          2
  Total               0          0          2
  Correct             0          0          2

Proportions correct
Herkunft 1 Herkunft 2 Herkunft 3 Herkunft 4 Herkunft 5 Herkunft 6 Herkunft 7 
 0.9661654  0.0000000  1.0000000        NaN        NaN        NaN        NaN 
Herkunft 8 Herkunft 9 
       NaN  1.0000000 

N correct/N total = 263/278 = 0.9460432

19.3 PressQ-Statistik

# Berechnen der PressQ-Statistisk

# 283: Gesamtanzahl der Beobachtungen oder ein Gesamtwert
# 270: Durch Diskriminanzanalyse korrekt zugewiesene Objekte
# 9: Anzahl der Gruppen in der Analyse

PressQ<-((283-(270*9))^2)/(283*(9-1))
PressQ
[1] 2036.046

20 Abb. 6-86

# Erstellung einer EPS-Datei
setEPS()
postscript("../Daten//Kap_6//Kap_6.2///Abbildungen//Herkunft//Abb.6-86.eps", width = 2.9527952, height = 6.50)

# Erstellen eines 2x1 Plots
par(mfrow = c(2, 1))

# Diagramme erstellen
barplot(DAModel.1$scaling[,1], main="LDA 1 Loadings Plot", las=2)
barplot(DAModel.1$scaling[,2], main="LDA 2 Loadings Plot", las=2)

# Schließen der EPS-Datei
dev.off()
png 
  2 

21 Abb. 6-87

# Daten einlesen
data1<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//DA_SE.csv")

# Daten nach ausgewählter Spalte sortieren und in data.table umwandeln
data2 <- setDT(data1)[order(-LD1)]

# Berechnung der Zeilenanzahl
num_rows = nrow(data2)

# Erstellen einer ID-Spalte mit aufsteigenden Werten
ID_LD1 <- c(1:num_rows)

# Spaltenweise Kombination von Dataframes
data3 <- cbind(ID_LD1, data2)

# Diagramme erstellen
Score_LD1<-ggplot(data3, aes(x=ID_LD1,y=LD1, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Zeilennummer")+ylab("Scorewerte der ersten Diskriminanzfunktion")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung
  geom_hline(yintercept=0,size=0.25) # Horizontale 0-Linie einfügen

data2 <- setDT(data1)[order(-LD2)]
num_rows = nrow(data2)
ID_LD2 <- c(1:num_rows)
data3 <- cbind(ID_LD2, data2)

Score_LD2<-ggplot(data3, aes(x=ID_LD2,y=LD2, color=Modell2, shape=Kultur))+geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ xlab("Zeilennummer")+ylab("Scorewerte der zweiten Diskriminanzfunktion")+theme_classic()+theme(axis.line=element_line(colour="black",size=0.25))+
  theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+geom_hline(yintercept=0,size=0.25)

# Kombination der Diagramme   
ggarrange(Score_LD1,Score_LD2,ncol=2,nrow=1,common.legend = TRUE)+theme(legend.position="bottom")

# Export des kombinierten Diagramms 
ggsave("Abb.6-87.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=8,width=15.3,unit=c("cm"),dpi=1200)

22 Abb. 6-88

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Daten_Herk_log10_MW.csv")

# Erstellen eines Dataframes mit Variablennamen und Koeffizienten des Diskriminanzanalyse-Modells
data.da <- data.frame(varnames=rownames(coef(DAModel.1)), coef(DAModel.1))

# Setzen der Vektorlänge für die spätere Skalierung
rad <- 3.5 

# Berechnung der Länge der Vektoren basierend auf LD1 und LD2
data.da$length <- with(data.da, sqrt(LD1^2+LD2^2))

# Berechnung des Winkels der Vektoren im 2D-Raum
data.da$angle <- atan2(data.da$LD1, data.da$LD2)

# Setzen der Startpunkte aller Vektoren auf (0,0)
data.da$x_start <- data.da$y_start <- 0

# Berechnung der Endpunkte der Vektoren mit der Länge 'rad'
data.da$x_end <- cos(data.da$angle) * rad
data.da$y_end <- sin(data.da$angle) * rad

# Diagramm erstellen
Abb.6.88<-ggplot(cbind(data, da_prediction$x), aes(y = LD2, x = LD1, colour = Modell2))+
  geom_text(aes(y = y_end, x = x_end, label = varnames),data.da, size = 4, vjust = .5, hjust = 0, colour = "black") + # Beschriftung der Endpunkte der Vektoren (Variablennamen)
  geom_spoke(aes(x_start, y_start, angle = angle),data.da, color = "black",radius = rad) + # Zeichnen der Vektoren
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ # Manuelle Definition der Farbe der Symbole 
  xlab("LD 1")+ylab("LD 2")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung 
  geom_hline(yintercept=0,size=0.25)+geom_hline(yintercept = 0, size = .2)+ geom_vline(xintercept = 0, size = .2) # Horizontale und vertikale 0-Linie einfügen

# Diagramm darstellen
Abb.6.88

# Export des Diagramms
ggsave("Abb.6-88.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=11,width=17.5,unit=c("cm"),dpi=1200)

23 Clusteranalyse

23.1 Berechnung der Kmean-Clusteranalyse

# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Daten_Herk_log10_MW.csv")
data2<-data1[,c(14:20,22),]

# Zeilennamen der neuen Datenmenge mit den Probennummern aus der Originaldatei setzen
rownames(data2) <- data1$Probennummer

# Berechnung der Zeilenanzahl
n<-nrow(data2)

# Zufallszahlengenerator initialisieren
set.seed(123)

# Distanzmatrix berechnen
distance <- get_dist(data2)

# Distanzmatrix  mit Farbverlauf visualisieren
fviz_dist(distance, gradient = list(low = "#00AFBB", mid = "white", high = "#FC4E07"))

# Optimale Anzahl an Clustern mit der "Within Sum of Squares" (WSS)-Methode bestimmen
fviz_nbclust(data2, kmeans, method = "wss")

23.2 Berechnung unter Vorgabe von 5 Clustern

# Zufallszahlengenerator initialisieren
set.seed(123)

# K-Means Clustering mit 5 Clustern und maximal 100 Iterationen
km.res5<-kmeans(data2,5,100)

# Clustering-Ergebnis in Scatterplot darstellen
fviz_cluster(km.res5, data = data2)

# Cluster-Labels zuweisen und Mittelwerte je Cluster berechnen
data2 %>%
  mutate(Cluster = km.res5$cluster) %>% # Cluster-Labels hinzufügen
  group_by(Cluster) %>% # Nach Cluster gruppieren
  summarise_all("mean") # Mittelwert berechnen
# A tibble: 5 × 9
  Cluster    Cu    Zn    Rb    Sr     Y    Zr    Nb    Pb
    <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1       1  1.25  1.92  1.89  2.11  1.56  2.63  1.45  1.40
2       2  1.30  1.94  1.91  2.36  1.56  2.63  1.46  1.38
3       3  1.31  2.53  2.00  2.23  1.56  2.57  1.56  1.49
4       4  1.34  2.21  2.03  2.36  1.52  2.52  1.49  1.43
5       5  1.36  2.13  1.75  2.48  1.55  2.62  1.60  1.33

24 Abb. 6-89

# Spalten zu data2 hinzufügen
data3 <- cbind(data2, 
               cluster = km.res5$cluster, # Cluster-Zuordnung aus der K-Means-Analyse
               Kultur = data1$Kultur, # Kultur, Probennummer und Modell2 aus data1
               Probennummer = data1$Probennummer,
               Modell2 = data1$Modell2)

# Pivot-Tabelle erstellen: Anzahl der Beobachtungen pro Kombination von "Modell2" und "cluster"
Tab_objekt<-qhpvt(data=data3, "Modell2", "cluster", "n()")

# Tabelle exportieren
setwd("../Daten/Kap_6/Kap_6.2/Abbildungen/Herkunft")
htmlwidgets::saveWidget(Tab_objekt, file = "Abb.6-89.html")

25 Abb. 6-90

Die Variable myPr stammt aus der Berechnung der Hauptkomponentenanalyse.

# Definieren von Spalte cluster als Zeichenvektor
data3$cluster <- as.character(data3$cluster)

# Diagramm erstellen
autoplot(myPr, data = data3, colour = 'cluster',loadings.colour = 'black', loadings.label = TRUE, loadings.label.size = 3,loadings = TRUE)+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(2,1))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="cluster",values=c("orange","#FCCDE5","purple2","darkred","#CCEBC5"))+ # Manuelle Definition der Farbe der Symbole
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung
  geom_vline(xintercept=0, color="black", size=0.25)+geom_hline(yintercept=0, color="black", size=0.25) # Horizontale und vertikale 0-Linie einfügen 

# Export des Diagramms 
ggsave("Abb.6-90.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=11,width=15.3,unit=c("cm"),dpi=1200)

26 Abb. 6-91

26.1 Zusammenstellen der Daten

# Daten einlesen und filtern
data5<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb.csv")
data4<-data3[,c(9,11),]

# Kombinieren mehrerer Dataframes basierend auf der Probennummer
data6<-merge(data5,data4, by="Probennummer", all=TRUE)

# Umbenennen von cluster_SE zu cluster
data6<-data6 %>% dplyr::rename(cluster_SE=cluster)

# Speichern als CSV
write.csv(data6,"../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_SE_CL.csv",row.names=FALSE)

26.2 Erstellen Abb. 6-91

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_SE_CL.csv")

# Definieren von Spalte cluster_SE als Zeichenvektor
data$cluster_SE <- as.character(data$cluster_SE)

# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$cluster_SE),]

# Diagramme erstellen
cluster_SE_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=cluster_SE, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="cluster_SE",values=c("orange","#FCCDE5","purple2","darkred","#CCEBC5","blue"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

cluster_SE_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=cluster_SE, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="cluster_SE",values=c("orange","#FCCDE5","purple2","darkred","#CCEBC5","blue"))+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
cluster_SE_Rb_Zr<-ggplot(data, aes(x=Rb,y=Zr, color=cluster_SE, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="cluster_SE",values=c("orange","#FCCDE5","purple2","darkred","#CCEBC5","blue"))+ 
  xlab("Rb in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

cluster_SE_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=cluster_SE, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="cluster_SE",values=c("orange","#FCCDE5","purple2","darkred","#CCEBC5","blue"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

cluster_SE_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=cluster_SE, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="cluster_SE",values=c("orange","#FCCDE5","purple2","darkred","#CCEBC5","blue"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

cluster_SE_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=cluster_SE, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="cluster_SE",values=c("orange","#FCCDE5","purple2","darkred","#CCEBC5","blue"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))
  
cluster_SE_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=cluster_SE, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="cluster_SE",values=c("orange","#FCCDE5","purple2","darkred","#CCEBC5","blue"))+
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

cluster_SE_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=cluster_SE, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,19))+
  scale_color_manual(name="cluster_SE",values=c("orange","#FCCDE5","purple2","darkred","#CCEBC5","blue"))+
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme  
ggarrange(cluster_SE_Rb_Sr,cluster_SE_Rb_Zr,cluster_SE_Sr_Zr,cluster_SE_Y_Zr,cluster_SE_Cu_Zn,cluster_SE_Nb_Pb,cluster_SE_Cu_Nb,cluster_SE_Cu_Pb,ncol=3,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")

# Export des kombinierten Diagramms 
ggsave("Abb.6-91.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=14.5,width=15.3,unit=c("cm"),dpi=1200)

27 Abb. 6-92

27.1 Zusammenstellen der Daten

# Daten einlesen und filtern
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb_SE.csv")
data2<-data[,c(14:20,22,78),]

# Variationskoeffizient-Funktion mit Fehlerbehandlung
Varkoef <- function(x) { (sd(x, na.rm = TRUE) / mean(x, na.rm = TRUE)) * 100 }

# Berechnung der Kennwerte
KennwerteHerkunft<-(data2) %>%
  dplyr::group_by(Modell2) %>%
  dplyr::summarise(across(everything(),list(Varkoef=Varkoef,Mittelwert=mean,stabw=sd, Median=median)))

# Erste Zeilen der Tabelle anziegen
head(KennwerteHerkunft)
# A tibble: 6 × 33
  Modell2   Cu_Varkoef Cu_Mittelwert Cu_stabw Cu_Median Zn_Varkoef Zn_Mittelwert
  <chr>          <dbl>         <dbl>    <dbl>     <dbl>      <dbl>         <dbl>
1 Herkunft…      24.5           20.4     5.01      19.7       70.6          146.
2 Herkunft…       6.78          25.0     1.70      24.6       17.4          149.
3 Herkunft…      20.8           27.4     5.70      28.7       26.2          140.
4 Herkunft…      NA             27.8    NA         27.8       NA            164.
5 Herkunft…      NA             16.5    NA         16.5       NA            165.
6 Herkunft…      NA             29.2    NA         29.2       NA            153.
# ℹ 26 more variables: Zn_stabw <dbl>, Zn_Median <dbl>, Rb_Varkoef <dbl>,
#   Rb_Mittelwert <dbl>, Rb_stabw <dbl>, Rb_Median <dbl>, Sr_Varkoef <dbl>,
#   Sr_Mittelwert <dbl>, Sr_stabw <dbl>, Sr_Median <dbl>, Y_Varkoef <dbl>,
#   Y_Mittelwert <dbl>, Y_stabw <dbl>, Y_Median <dbl>, Zr_Varkoef <dbl>,
#   Zr_Mittelwert <dbl>, Zr_stabw <dbl>, Zr_Median <dbl>, Nb_Varkoef <dbl>,
#   Nb_Mittelwert <dbl>, Nb_stabw <dbl>, Nb_Median <dbl>, Pb_Varkoef <dbl>,
#   Pb_Mittelwert <dbl>, Pb_stabw <dbl>, Pb_Median <dbl>
# Speichern als CSV
write.csv(KennwerteHerkunft,"../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//KennwerteHerkunft.csv",row.names=FALSE)

27.2 Erstellen Abb. 6-92

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//KennwerteHerkunft.csv")

# Diagramme erstellen
Herkunft_Errorplot_Rb_Sr<-ggplot(data, aes(x=Rb_Mittelwert,y=Sr_Mittelwert, color=Modell2,
                                           xmin = Rb_Mittelwert-Rb_stabw, xmax = Rb_Mittelwert+Rb_stabw, # Fehlerbalken links und rechts
                                           ymin=Sr_Mittelwert-Sr_stabw,ymax=Sr_Mittelwert+Sr_stabw))+ # Fehlerbalken unten und oben
  geom_errorbar(width=.9)+geom_errorbarh(height=.9)+ # Länge der Fehlerbalken
  geom_point()+ # Hinzufügen der Symbole
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ # Manuelle Definition der Farbe der Symbole
  geom_text(aes(label=Modell2),hjust=-0.1, vjust=-0.3,size=2.75)+ # Manuelle Beschriftung der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design 
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="none")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung

Herkunft_Errorplot_Sr_Zr<-ggplot(data, aes(x=Sr_Mittelwert,y=Zr_Mittelwert, color=Modell2,
                                           xmin = Sr_Mittelwert-Sr_stabw, xmax = Sr_Mittelwert+Sr_stabw,
                                           ymin=Zr_Mittelwert-Zr_stabw, ymax=Zr_Mittelwert+Zr_stabw))+
  geom_errorbar(width=.9)+geom_errorbarh(height=.9)+
  geom_point()+ 
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  geom_text(aes(label=Modell2),hjust=-0.1, vjust=-0.3,size=2.75)+
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="none")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Herkunft_Errorplot_Y_Zr<-ggplot(data, aes(x=Y_Mittelwert,y=Zr_Mittelwert, color=Modell2,
                                          xmin = Y_Mittelwert-Y_stabw, xmax = Y_Mittelwert+Y_stabw,
                                          ymin=Zr_Mittelwert-Zr_stabw, ymax=Zr_Mittelwert+Zr_stabw))+
  geom_errorbar(width=.1)+geom_errorbarh(height=5)+
  geom_point()+ 
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  geom_text(aes(label=Modell2),hjust=-0.1, vjust=-0.3,size=2.75)+
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="none")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Herkunft_Errorplot_Cu_Zn<-ggplot(data, aes(x=Cu_Mittelwert,y=Zn_Mittelwert, color=Modell2,
                                           xmin = Cu_Mittelwert-Cu_stabw, xmax = Cu_Mittelwert+Cu_stabw,
                                           ymin=Zn_Mittelwert-Zn_stabw, ymax=Zn_Mittelwert+Zn_stabw))+
  geom_errorbar(width=.1)+geom_errorbarh(height=1)+
  geom_point()+ 
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  geom_text(aes(label=Modell2),hjust=-0.1, vjust=-0.3,size=2.75)+
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="none")+theme(axis.ticks=element_line(size=0.25,colour="black"))

Herkunft_Errorplot_Nb_Pb<-ggplot(data, aes(x=Nb_Mittelwert,y=Pb_Mittelwert, color=Modell2,
                                           xmin = Nb_Mittelwert-Nb_stabw, xmax = Nb_Mittelwert+Nb_stabw,
                                           ymin=Pb_Mittelwert-Pb_stabw, ymax=Pb_Mittelwert+Pb_stabw))+
  geom_errorbar(width=.1)+geom_errorbarh(height=1)+
  geom_point()+ 
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  geom_text(aes(label=Modell2),hjust=-0.1, vjust=-0.3,size=2.75)+
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="none")+theme(axis.ticks=element_line(size=0.25,colour="black"))

# Kombination der Diagramme
ggarrange(Herkunft_Errorplot_Rb_Sr,Herkunft_Errorplot_Sr_Zr,Herkunft_Errorplot_Y_Zr,Herkunft_Errorplot_Cu_Zn,Herkunft_Errorplot_Nb_Pb,ncol=2,nrow=3,align = "hv")

# Export des kombinierten Diagramms 
ggsave("Abb.6-92.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=14.5,width=15.3,unit=c("cm"),dpi=1200)

28 Tonproben und Keramik

28.1 Zusammenstellen der Daten

# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen///Rezeptur//Daten_Rez_BP_log10_MW_bearb.csv")
data3<-subset(data1, Material %in% c("LBK","La Hoguette","Ton"))

# Daten einlesen und filtern
data2<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb_SE.csv")
data4<-data2[,c(1,78),]

# Kombinieren mehrerer Dataframes basierend auf der Probennummer
data6<-merge(data3,data4, by="Probennummer", all=TRUE)

# Speichern als CSV
write.csv(data6,"../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Daten_Herk_Ton_log10_MW.csv",row.names=FALSE)

28.2 Berechnen der MANOVA

Die Datei Daten_Herk_Ton_log10_MW wurde händisch um Informationen zur optischen Klassifizierung der Bodenproben ergänzt.

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Daten_Herk_Ton_log10_MW_bearb.csv")

# Durchführen der MANOVA für ausgewählte Spalten im Hinblick auf Modell 2
manova<-manova(cbind(SiO2,TiO2,Al2O3,Fe2O3,MnO,CaO,K2O,P2O5,Zn,Rb,Sr,Y,Zr) ~ Modell2, data)

# Zusammenfassung der MANOVA mit Intercept 
summary(manova)
           Df Pillai approx F num Df den Df    Pr(>F)    
Modell2     9 1.8531    5.505    117   2484 < 2.2e-16 ***
Residuals 280                                            
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Anzeige der MANOVA-Ergebnisse mit Wilks-Lambda-Tests
summary(manova,test="Wilks")
           Df    Wilks approx F num Df den Df    Pr(>F)    
Modell2     9 0.083494   6.7917    117 2016.5 < 2.2e-16 ***
Residuals 280                                              
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

28.3 Hauptkomponentenanalyse

28.4 Berechnen und Zusammenstellen der PCA-DAten

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Daten_Herk_Ton_log10_MW_bearb.csv")

# Durchführen der PCA für ausgewählte Spalten
myPr <- prcomp(~ SiO2+TiO2+Al2O3+MnO+Fe2O3+CaO+K2O+P2O5+Zn+Rb+Sr+Y+Zr,data=data,scale = TRUE)
myPr
Standard deviations (1, .., p=13):
 [1] 1.8413818 1.6419084 1.3252092 1.1979075 1.1136210 0.8485251 0.6975619
 [8] 0.6332347 0.5359861 0.4576755 0.4228144 0.3807686 0.2325041

Rotation (n x k) = (13 x 13):
              PC1         PC2         PC3         PC4          PC5         PC6
SiO2   0.50412357  0.10996501  0.02071690 -0.03688935  0.070706489 -0.13267368
TiO2  -0.23081911  0.36673875  0.22716518  0.09682344 -0.189246220 -0.39939354
Al2O3 -0.30901061  0.09885056  0.03876616  0.47996158 -0.177507433  0.53867371
MnO   -0.27101301  0.13919210  0.19578357  0.05117540  0.619780029 -0.21453106
Fe2O3 -0.32548648  0.30488268  0.25945924  0.09223874  0.320120515  0.13820343
CaO   -0.32145970 -0.39012333 -0.01820414 -0.26662437 -0.043257298 -0.24859557
K2O    0.20222162 -0.37879010  0.09138435  0.32624043  0.386273412  0.10465188
P2O5  -0.30651359 -0.21759932 -0.49111858  0.01794661 -0.034487117  0.12530898
Zn    -0.07736754 -0.17083172  0.26862909  0.45357845 -0.453629032 -0.41432580
Rb     0.18382037 -0.39661358  0.16593064  0.40261073  0.178157558 -0.09222555
Sr    -0.33664751 -0.23529589 -0.30751330  0.04150778  0.163088254 -0.29910406
Y      0.07607201  0.22074639 -0.46199124  0.38537462 -0.001485012 -0.04423545
Zr     0.14363234  0.31257721 -0.42806404  0.22774022  0.157117921 -0.32793874
              PC7         PC8         PC9         PC10        PC11        PC12
SiO2  -0.12411002  0.08451738  0.31901931  0.050523927  0.12236735 -0.34177976
TiO2  -0.33356026  0.45334499 -0.37948270 -0.121981791 -0.23731453 -0.10607322
Al2O3 -0.18693127 -0.07145085  0.20269082 -0.382517696  0.02626518  0.10220785
MnO    0.26411848 -0.27130760  0.12461343 -0.365025669 -0.20670389 -0.31812094
Fe2O3  0.03546191  0.02990939 -0.04972505  0.661200272  0.35648919  0.10827020
CaO    0.25917104 -0.02230077 -0.20116122 -0.152533399  0.13389550  0.37007752
K2O   -0.03876783  0.29961460 -0.02495792  0.201746219 -0.56085392  0.28706468
P2O5  -0.13836685 -0.18075206 -0.26361351  0.305301151 -0.24348271 -0.54304734
Zn     0.23161512 -0.28531852  0.27479475  0.280497126 -0.11780576 -0.07673447
Rb    -0.20178428 -0.05746879 -0.42871685 -0.161506693  0.52567166 -0.19561339
Sr    -0.32464687  0.35720340  0.54965729 -0.004842544  0.23216675  0.01829503
Y      0.62695320  0.38744830 -0.10916021 -0.059603306  0.14509318 -0.04226061
Zr    -0.29449705 -0.47156146 -0.10585228  0.017396189 -0.03571926  0.43362183
              PC13
SiO2   0.671353670
TiO2   0.112590312
Al2O3  0.320325821
MnO   -0.003233177
Fe2O3  0.151931593
CaO    0.568411781
K2O    0.105460244
P2O5   0.177727040
Zn    -0.021936988
Rb    -0.102646439
Sr    -0.171998272
Y      0.009088317
Zr     0.066491614
# Eigenwerte der Hauptkomponenten
summary(myPr)
Importance of components:
                          PC1    PC2    PC3    PC4    PC5     PC6     PC7
Standard deviation     1.8414 1.6419 1.3252 1.1979 1.1136 0.84853 0.69756
Proportion of Variance 0.2608 0.2074 0.1351 0.1104 0.0954 0.05538 0.03743
Cumulative Proportion  0.2608 0.4682 0.6033 0.7137 0.8091 0.86445 0.90188
                           PC8    PC9    PC10    PC11    PC12    PC13
Standard deviation     0.63323 0.5360 0.45768 0.42281 0.38077 0.23250
Proportion of Variance 0.03085 0.0221 0.01611 0.01375 0.01115 0.00416
Cumulative Proportion  0.93273 0.9548 0.97094 0.98469 0.99584 1.00000
# Screeplot der Eigenwerte
plot(myPr, type="l")

# Kombinieren der ursprünglichen Daten mit den ersten vier Hauptkomponenten
PCdata1 <- cbind(data,myPr$x[,1:4])

# Speichern als CSV
write.csv(PCdata1,"../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//PCA_Ker_Ton_SE.csv",row.names=FALSE)

28.5 Berechnen der Camargo-Teststatistik

# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//Daten_Herk_Ton_log10_MW_bearb.csv")
data10<-data1[,c(2:6,8:10,15:19),]

# Berechnung der Varianz für alle numerischen Spalten
data10 %>% summarise_if(is.numeric, var)
         SiO2      TiO2       Al2O3      Fe2O3        MnO        CaO
1 0.001756522 0.0141127 0.002462802 0.01331892 0.07937189 0.07519701
          K2O      P2O5         Zn         Rb         Sr           Y
1 0.009483348 0.1067304 0.05203025 0.01485286 0.02866333 0.003957478
           Zr
1 0.009575696
# Durchführen des Camargo-Tests mit Hauptkomponentenanalyse (PCA)
result <- PCAtest(
  data10,   # Eingabedaten
  1000,     # Anzahl der Permutationen
  1000,     # Anzahl der Bootstrap-Resamples
  0.05,     # Signifikanzniveau
  varcorr = FALSE,  # Keine Korrektur für Variablenkorrelationen anwenden
  counter = FALSE,  # Keine Zählvariable für Iterationen anzeigen
  plot = TRUE       # Ergebnisse grafisch darstellen
)

Sampling bootstrap replicates... Please wait

Calculating confidence intervals of empirical statistics... Please wait

Sampling random permutations... Please wait

Comparing empirical statistics with their null distributions... Please wait

========================================================
Test of PCA significance: 13 variables, 290 observations
1000 bootstrap replicates, 1000 random permutations
========================================================

Empirical Psi = 13.5440, Max null Psi = 0.8601, Min null Psi = 0.3087, p-value = 0
Empirical Phi = 0.2947, Max null Phi = 0.0743, Min null Phi = 0.0445, p-value = 0

Empirical eigenvalue #1 = 3.39069, Max null eigenvalue = 1.52462, p-value = 0
Empirical eigenvalue #2 = 2.69586, Max null eigenvalue = 1.39608, p-value = 0
Empirical eigenvalue #3 = 1.75618, Max null eigenvalue = 1.30443, p-value = 0
Empirical eigenvalue #4 = 1.43498, Max null eigenvalue = 1.22741, p-value = 0
Empirical eigenvalue #5 = 1.24015, Max null eigenvalue = 1.17003, p-value = 0
Empirical eigenvalue #6 = 0.71999, Max null eigenvalue = 1.12298, p-value = 1
Empirical eigenvalue #7 = 0.48659, Max null eigenvalue = 1.05169, p-value = 1
Empirical eigenvalue #8 = 0.40099, Max null eigenvalue = 1.00907, p-value = 1
Empirical eigenvalue #9 = 0.28728, Max null eigenvalue = 0.95662, p-value = 1
Empirical eigenvalue #10 = 0.20947, Max null eigenvalue = 0.92301, p-value = 1
Empirical eigenvalue #11 = 0.17877, Max null eigenvalue = 0.89531, p-value = 1
Empirical eigenvalue #12 = 0.14498, Max null eigenvalue = 0.82757, p-value = 1
Empirical eigenvalue #13 = 0.05406, Max null eigenvalue = 0.77298, p-value = 1

PC 1 is significant and accounts for 26.1% (95%-CI:23.8-30.6) of the total variation
PC 2 is significant and accounts for 20.7% (95%-CI:18.6-23) of the total variation
PC 3 is significant and accounts for 13.5% (95%-CI:12-15.6) of the total variation
PC 4 is significant and accounts for 11% (95%-CI:9.5-12.5) of the total variation
PC 5 is significant and accounts for 9.5% (95%-CI:8-10.4) of the total variation

The first 5 PC axes are significant and account for 80.9% of the total variation

Variables 1, 2, 3, 4, 5, 6, 7, 8, and 11 have significant loadings on PC 1
Variables 2, 4, 6, 7, 10, 11, and 13 have significant loadings on PC 2
Variables 8, 12, and 13 have significant loadings on PC 3
Variables 3, and 9 have significant loadings on PC 4
Variables , and 5 have significant loadings on PC 5

29 Abb. 6-93

# Daten einlesen
data1<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//PCA_Ker_Ton_SE.csv")

# Daten nach ausgewählter Spalte sortieren und in data.table umwandeln
data2 <- setDT(data1)[order(-PC1)]

# Berechnung der Zeilenanzahl
num_rows = nrow(data2)

# Erstellen einer ID-Spalte mit aufsteigenden Werten
ID_PC1 <- c(1:num_rows)

# Spaltenweise Kombination von Dataframes
data3 <- cbind(ID_PC1, data2)

# Diagramme erstellen
Score_PC1<-ggplot(data3, aes(x=ID_PC1,y=PC1, color=Modell2, shape=Shape))+
  geom_point(aes(shape=Shape),size=2)+scale_shape_manual(values=c(18,15,17,19))+ # Manuelle Definition von Größe und Form der Symbole
  scale_color_manual(name="Modell2",values=c("black","grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ # Manuelle Definition der Farbe der Symbole 
  xlab("Zeilennummer")+ylab("Scorewerte der ersten Hauptkomponente")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+  # Manuelle Formatierung von Achsen- und Legendendarstellung
  geom_hline(yintercept=0,size=0.25) # Horizontale 0-Linie einfügen

data2 <- setDT(data1)[order(-PC2)]
num_rows = nrow(data2)
ID_PC2 <- c(1:num_rows)
data3 <- cbind(ID_PC2, data2)

Score_PC2<-ggplot(data3, aes(x=ID_PC2,y=PC2, color=Modell2, shape=Shape))+
  geom_point(aes(shape=Shape),size=2)+scale_shape_manual(values=c(18,15,17,19))+
  scale_color_manual(name="Modell2",values=c("black","grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  xlab("Zeilennummer")+ylab("Scorewerte der zweiten Hauptkomponente")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+
  geom_hline(yintercept=0,size=0.25)
  
data2 <- setDT(data1)[order(-PC3)]
num_rows = nrow(data2)
ID_PC3 <- c(1:num_rows)
data3 <- cbind(ID_PC3, data2)
  
Score_PC3<-ggplot(data3, aes(x=ID_PC3,y=PC3, color=Modell2, shape=Shape))+
  geom_point(aes(shape=Shape),size=2)+scale_shape_manual(values=c(18,15,17,19))+
  scale_color_manual(name="Modell2",values=c("black","grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ 
  xlab("Zeilennummer")+ylab("Scorewerte der dritten Hauptkomponente")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+
  geom_hline(yintercept=0,size=0.25)

# Kombination der Diagramme    
ggarrange(Score_PC1,Score_PC2,Score_PC3,ncol=2,nrow=2,align = "v",common.legend = TRUE)+theme(legend.position="bottom")

# Export des kombinierten Diagramms
ggsave("Abb.6-93.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=15,width=15.3,unit=c("cm"),dpi=1200)

30 Abb. 6-94

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//PCA_Ker_Ton_SE.csv")

# Diagramme erstellen
PCA1_2<-autoplot(myPr, data = data, colour = 'Modell2', shape='Shape',loadings.colour = 'black', loadings.label = TRUE, loadings.label.size = 3,loadings = TRUE)+
  scale_shape_manual(values=c(18,15,17,19))+ # Manuelle Definition der Form der Symbole
  scale_color_manual(name="Modell2",values=c("black","grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+ # Manuelle Definition der Farbe der Symbole
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung
  geom_vline(xintercept=0, color="black", size=0.25)+geom_hline(yintercept=0, color="black", size=0.25) # Horizontale und vertikale 0-Linie einfügen
         
PCA1_3<-autoplot(myPr, x=1, y=3,data = data, colour = 'Modell2', shape='Shape',loadings.colour = 'black',loadings.label = TRUE, loadings.label.size = 3,loadings = TRUE)+
  scale_shape_manual(values=c(18,15,17,19))+
  scale_color_manual(name="Modell2",values=c("black","grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+
  geom_vline(xintercept=0, color="black", size=0.25)+geom_hline(yintercept=0, color="black", size=0.25)

PCA2_3<-autoplot(myPr, x=2, y=3,data = data, colour = 'Modell2', shape='Shape',loadings.colour = 'black',loadings.label = TRUE, loadings.label.size = 3,loadings = TRUE)+
  scale_shape_manual(values=c(18,15,17,19))+
  scale_color_manual(name="Modell2",values=c("black","grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta"))+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+
  geom_vline(xintercept=0, color="black", size=0.25)+geom_hline(yintercept=0, color="black", size=0.25)

# Kombination der Diagramme     
ggarrange(PCA1_2,PCA1_3,PCA2_3,ncol=1,nrow=3,align="v",common.legend=TRUE)+theme(legend.position="bottom")

# Export des kombinierten Diagramms
ggsave("Abb.6-94.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=20,width=15.3,unit=c("cm"),dpi=1200)

31 Abb. 6-95

31.1 Zusammenstellen der Daten von Tonen und Keramik (Messwerte+chem. Gruppen)

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_Ton_Messwerte_chemGruppen_bearb.csv")

# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Herkunft//PCA_Ker_Ton_SE.csv")
data2<-data1[,c(1,29),]

# Kombinieren mehrerer Dataframes basierend auf der Probennummer
data12<-merge(data,data2, by="Probennummer", all=TRUE)

# Speichern als CSV 
write.csv(data12,"../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_Ton_Messwerte_chemGruppen_SE.csv",row.names=FALSE)

31.2 Erstellen Abb. 6-95

In Datei Daten_BB_Ker_Ton_Messwerte_chemGruppen wurden händisch in Spalte Modell 2 die Probennr. der Tone spezifiziert sowie die Einzelmessungen der Bodenproben entfernt.

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_Ton_Messwerte_chemGruppen_SE_bearb.csv")
data2<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Bodenproben//MinMaxMeanBP.csv")

# Darstellungsreihenfolge definieren
data$Modell2<-factor(data$Modell2,levels=c("Herkunft 1", "Herkunft 2", "Herkunft 3", "Herkunft 4", "Herkunft 5", "Herkunft 6", "Herkunft 7","Herkunft 8","Herkunft 9","BP 08", "BP 09", "BP 10"))

# Diagramme erstellen
Scatter_Herkunft_Ton_Rb_Sr<-ggplot(data, aes(x=Rb,y=Sr, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+ # Manuelle Definition der Form der Symbole
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Rb in ppm")+ylab("Sr in ppm")+ # Manuelle Achsenbeschriftung
  theme_classic()+ # Klassisches Design 
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung
  geom_errorbar(data = data2,mapping = aes(x=Rb_Mittelwert,y=Sr_Mittelwert, shape=NULL,color=NULL,xmin = Rb_Min, xmax = Rb_Max,ymin=Sr_Min, ymax=Sr_Max),width =2,position = position_dodge(0.05))+ # Hinzufügen von vertikalen Fehlerbalken für die Mittelwerte der Tone
  geom_errorbarh(data = data2, mapping = aes(x=Rb_Mittelwert,y=Sr_Mittelwert, shape=NULL,color=NULL,xmin = Rb_Min, xmax = Rb_Max,ymin=Sr_Min, ymax=Sr_Max),position = position_dodge(0.05),height=12)  # Hinzufügen von horizontalen Fehlerbalken für die Mittelwerte der Tone

Scatter_Herkunft_Ton_Sr_Zr<-ggplot(data, aes(x=Sr,y=Zr, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ 
  xlab("Sr in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+  
  geom_errorbar(data = data2,mapping = aes(x=Sr_Mittelwert,y=Zr_Mittelwert, shape=NULL,color=NULL,xmin = Sr_Min, xmax = Sr_Max,ymin=Zr_Min, ymax=Zr_Max),width =0.5,position = position_dodge(0.05))+
  geom_errorbarh(data = data2, mapping = aes(x=Zr_Mittelwert,y=Zr_Mittelwert, shape=NULL,color=NULL,xmin = Sr_Min, xmax = Sr_Max,ymin=Zr_Min, ymax=Zr_Max),position = position_dodge(0.05),height=12)

Scatter_Herkunft_Ton_Y_Zr<-ggplot(data, aes(x=Y,y=Zr, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ 
  xlab("Y in ppm")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+  
  geom_errorbar(data = data2,mapping = aes(x=Y_Mittelwert,y=Zr_Mittelwert, shape=NULL,color=NULL,xmin = Y_Min, xmax = Y_Max,ymin=Zr_Min, ymax=Zr_Max),width =0.3,position = position_dodge(0.05))+
  geom_errorbarh(data = data2, mapping = aes(x=Y_Mittelwert,y=Zr_Mittelwert, shape=NULL,color=NULL,xmin = Y_Min, xmax = Y_Max,ymin=Zr_Min, ymax=Zr_Max),position = position_dodge(0.05),height=10)

Scatter_Herkunft_Ton_Cu_Zn<-ggplot(data, aes(x=Cu,y=Zn, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ 
  xlab("Cu in ppm")+ylab("Zn in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ 
  geom_errorbar(data = data2,mapping = aes(x=Cu_Mittelwert,y=Zn_Mittelwert, shape=NULL,color=NULL,xmin = Cu_Min, xmax = Cu_Max,ymin=Zn_Min, ymax=Zn_Max),width =0.5,position = position_dodge(0.05))+
  geom_errorbarh(data = data2, mapping = aes(x=Cu_Mittelwert,y=Zn_Mittelwert, shape=NULL,color=NULL,xmin = Cu_Min, xmax = Cu_Max,ymin=Zn_Min, ymax=Zn_Max),position = position_dodge(0.05),height=1)
  
Scatter_Herkunft_Ton_Cu_Nb<-ggplot(data, aes(x=Cu,y=Nb, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ 
  xlab("Cu in ppm")+ylab("Nb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ 
  geom_errorbar(data = data2,mapping = aes(x=Cu_Mittelwert,y=Nb_Mittelwert, shape=NULL,color=NULL,xmin = Cu_Min, xmax = Cu_Max,ymin=Nb_Min, ymax=Nb_Max),width =0.5,position = position_dodge(0.05))+
  geom_errorbarh(data = data2, mapping = aes(x=Cu_Mittelwert,y=Nb_Mittelwert, shape=NULL,color=NULL,xmin = Cu_Min, xmax = Cu_Max,ymin=Nb_Min, ymax=Nb_Max),position = position_dodge(0.05),height=1)

Scatter_Herkunft_Ton_Cu_Pb<-ggplot(data, aes(x=Cu,y=Pb, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ 
  xlab("Cu in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ 
  geom_errorbar(data = data2,mapping = aes(x=Cu_Mittelwert,y=Pb_Mittelwert, shape=NULL,color=NULL,xmin = Cu_Min, xmax = Cu_Max,ymin=Pb_Min, ymax=Pb_Max),width =0.5,position = position_dodge(0.05))+
  geom_errorbarh(data = data2, mapping = aes(x=Cu_Mittelwert,y=Pb_Mittelwert, shape=NULL,color=NULL,xmin = Cu_Min, xmax = Cu_Max,ymin=Pb_Min, ymax=Pb_Max),position = position_dodge(0.05),height=1)

Scatter_Herkunft_Ton_Nb_Pb<-ggplot(data, aes(x=Nb,y=Pb, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ 
  xlab("Nb in ppm")+ylab("Pb in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ 
  geom_errorbar(data = data2,mapping = aes(x=Nb_Mittelwert,y=Pb_Mittelwert, shape=NULL,color=NULL,xmin = Nb_Min, xmax = Nb_Max,ymin=Pb_Min, ymax=Pb_Max),width =0.5,position = position_dodge(0.05))+
  geom_errorbarh(data = data2, mapping = aes(x=Nb_Mittelwert,y=Pb_Mittelwert, shape=NULL,color=NULL,xmin = Nb_Min, xmax = Nb_Max,ymin=Pb_Min, ymax=Pb_Max),position = position_dodge(0.05),height=1)
  
Scatter_Herkunft_Ton_CaO_Sr<-ggplot(data, aes(x=CaO,y=Sr, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ 
  xlab("CaO in %")+ylab("Sr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+  
  geom_errorbar(data = data2,mapping = aes(x=CaO_Mittelwert,y=Sr_Mittelwert, shape=NULL,color=NULL,xmin = CaO_Min, xmax = CaO_Max,ymin=Sr_Min, ymax=Sr_Max),width =0.1,position = position_dodge(0.05))+
  geom_errorbarh(data = data2, mapping = aes(x=CaO_Mittelwert,y=Sr_Mittelwert, shape=NULL,color=NULL,xmin = CaO_Min, xmax = CaO_Max,ymin=Sr_Min, ymax=Sr_Max),position = position_dodge(0.05),height=10)
  
Scatter_Herkunft_Ton_Rb_K2O<-ggplot(data, aes(x=Rb,y=K2O, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ 
  xlab("Rb in ppm")+ylab("K2O in %")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+
  theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+  
  geom_errorbar(data = data2,mapping = aes(x=Rb_Mittelwert,y=K2O_Mittelwert, shape=NULL,color=NULL,xmin = Rb_Min, xmax = Rb_Max,ymin=K2O_Min, ymax=K2O_Max),width =2,position = position_dodge(0.05))+
  geom_errorbarh(data = data2, mapping = aes(x=Rb_Mittelwert,y=K2O_Mittelwert, shape=NULL,color=NULL,xmin = Rb_Min, xmax = Rb_Max,ymin=K2O_Min, ymax=K2O_Max),position = position_dodge(0.05),height=0.04)

Scatter_Herkunft_Ton_Al2O3_SiO2<-ggplot(data, aes(x=Al2O3,y=SiO2, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ 
  xlab("Al2O3 in %")+ylab("SiO2 in %")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+  
  geom_errorbar(data = data2,mapping = aes(x=Al2O3_Mittelwert,y=SiO2_Mittelwert, shape=NULL,color=NULL,xmin = Al2O3_Min, xmax = Al2O3_Max,ymin=SiO2_Min, ymax=SiO2_Max),width =0.2,position = position_dodge(0.05))+
  geom_errorbarh(data = data2, mapping = aes(x=Al2O3_Mittelwert,y=SiO2_Mittelwert, shape=NULL,color=NULL,xmin = Al2O3_Min, xmax = Al2O3_Max,ymin=SiO2_Min, ymax=SiO2_Max),position = position_dodge(0.05),height=0.5)
  
Scatter_Herkunft_Ton_CaO_P2O5<-ggplot(data, aes(x=CaO,y=P2O5, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ 
  xlab("CaO in %")+ylab("P2O5 in %")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+
  geom_errorbar(data = data2,mapping = aes(x=CaO_Mittelwert,y=P2O5_Mittelwert, shape=NULL,color=NULL,xmin = CaO_Min, xmax = CaO_Max,ymin=P2O5_Min, ymax=P2O5_Max),width =0.2,position = position_dodge(0.05))+
  geom_errorbarh(data = data2, mapping = aes(x=CaO_Mittelwert,y=P2O5_Mittelwert, shape=NULL,color=NULL,xmin = CaO_Min, xmax = CaO_Max,ymin=P2O5_Min, ymax=P2O5_Max),position = position_dodge(0.05),height=0.1)
 
Scatter_Herkunft_Ton_CaO_Fe2O3<-ggplot(data, aes(x=CaO,y=Fe2O3, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ 
  xlab("CaO in %")+ylab("Fe2O3 in %")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+  
  geom_errorbar(data = data2,mapping = aes(x=CaO_Mittelwert,y=Fe2O3_Mittelwert, shape=NULL,color=NULL,xmin = CaO_Min, xmax = CaO_Max,ymin=Fe2O3_Min, ymax=Fe2O3_Max),width =0.2,position = position_dodge(0.05))+
  geom_errorbarh(data = data2, mapping = aes(x=CaO_Mittelwert,y=Fe2O3_Mittelwert, shape=NULL,color=NULL,xmin = CaO_Min, xmax = CaO_Max,ymin=Fe2O3_Min, ymax=Fe2O3_Max),position = position_dodge(0.05),height=0.2)

Scatter_Herkunft_Ton_MnO_Fe2O3<-ggplot(data, aes(x=MnO,y=Fe2O3, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ 
  xlab("MnO in %")+ylab("Fe2O3 in %")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+  
  geom_errorbar(data = data2,mapping = aes(x=MnO_Mittelwert,y=Fe2O3_Mittelwert, shape=NULL,color=NULL,xmin = MnO_Min, xmax = MnO_Max,ymin=Fe2O3_Min, ymax=Fe2O3_Max),width =0.01,position = position_dodge(0.05))+
  geom_errorbarh(data = data2, mapping = aes(x=MnO_Mittelwert,y=Fe2O3_Mittelwert, shape=NULL,color=NULL,xmin = MnO_Min, xmax = MnO_Max,ymin=Fe2O3_Min, ymax=Fe2O3_Max),position = position_dodge(0.05),height=0.2)
  
Scatter_Herkunft_Ton_TiO2_K2O<-ggplot(data, aes(x=TiO2,y=K2O, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ 
  xlab("TiO2 in %")+ylab("K2O in %")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+  
  geom_errorbar(data = data2,mapping = aes(x=TiO2_Mittelwert,y=K2O_Mittelwert, shape=NULL,color=NULL,xmin = TiO2_Min, xmax = TiO2_Max,ymin=K2O_Min, ymax=K2O_Max),width =0.04,position = position_dodge(0.05))+
  geom_errorbarh(data = data2, mapping = aes(x=TiO2_Mittelwert,y=K2O_Mittelwert, shape=NULL,color=NULL,xmin = TiO2_Min, xmax = TiO2_Max,ymin=K2O_Min, ymax=K2O_Max),position = position_dodge(0.05),height=0.05)

Scatter_Herkunft_Ton_TiO2_Zr<-ggplot(data, aes(x=TiO2,y=Zr, color=Modell2, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,17,19))+
  scale_color_manual(name="Modell2",values=c("grey55","orange","wheat","cyan4","dodgerblue1","purple2","#CCEBC5","#FCCDE5","magenta","black","black","black"))+ 
  xlab("TiO2 in %")+ylab("Zr in ppm")+
  theme_classic()+
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+  
  geom_errorbar(data = data2,mapping = aes(x=TiO2_Mittelwert,y=Zr_Mittelwert, shape=NULL,color=NULL,xmin = TiO2_Min, xmax = TiO2_Max,ymin=Zr_Min, ymax=Zr_Max),width =0.04,position = position_dodge(0.05))+
  geom_errorbarh(data = data2, mapping = aes(x=TiO2_Mittelwert,y=Zr_Mittelwert, shape=NULL,color=NULL,xmin = TiO2_Min, xmax = TiO2_Max,ymin=Zr_Min, ymax=Zr_Max),position = position_dodge(0.05),height=10)

# Kombination der Diagramme 
ggarrange(Scatter_Herkunft_Ton_Al2O3_SiO2,Scatter_Herkunft_Ton_CaO_P2O5,Scatter_Herkunft_Ton_CaO_Fe2O3,Scatter_Herkunft_Ton_MnO_Fe2O3,Scatter_Herkunft_Ton_TiO2_K2O,Scatter_Herkunft_Ton_TiO2_Zr,Scatter_Herkunft_Ton_CaO_Sr,Scatter_Herkunft_Ton_Rb_K2O,Scatter_Herkunft_Ton_Rb_Sr,Scatter_Herkunft_Ton_Sr_Zr, Scatter_Herkunft_Ton_Y_Zr,Scatter_Herkunft_Ton_Cu_Zn,Scatter_Herkunft_Ton_Nb_Pb,Scatter_Herkunft_Ton_Cu_Nb,Scatter_Herkunft_Ton_Cu_Pb,ncol=3,nrow=6,align = "hv",common.legend=TRUE)+theme(legend.position="bottom")

# Export des kombinierten Diagramms
ggsave("Abb.6-95.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=26,width=15.3,unit=c("cm"),dpi=1200)

32 Abb. 6-97

# Daten einlesen, filtern und umbenennen
data <- read.csv("../Daten/Kap_6/Kap_6.2/Grundlagen/Datengrundlage/Daten_BB_Ker_Ton_Messwerte_chemGruppen_SE_bearb.csv")
data1 <- data %>%  dplyr::filter(Kultur %in% c("La Hoguette", "LBK")) %>%
  transmute(Herkunft = Modell2,Rezeptur = Modell4,Kultur)

# Pivot-Tabelle erstellen: Anzahl der Beobachtungen pro Kombination von "Rezeptur", "Herkunft" und "Kultur"
table_data <- data1 %>%
  dplyr::count(Herkunft, Rezeptur, Kultur) %>% # Auswahl der relevanten Spalten
  tidyr::complete(Herkunft, Rezeptur, Kultur, fill = list(n = 0)) %>% # fehlende Kombinationen mit "0" auffüllen
  dplyr::mutate(col_name = paste0(Rezeptur, "_", Kultur)) %>% # Neue Spaltennamen erzeugen
  dplyr::select(Herkunft, col_name, n) %>% # Enfernen der Spalten Rezeptur und Kultur
  tidyr::pivot_wider(names_from = col_name, values_from = n, values_fill = 0) # Jede Kombination aus Rezeptur+Kultur wird zu einer eigenen Spalte; die Werte in den Zellen stammen aus der Spalte `n` (Anzahl der Beobachtungen); fehlende Werte mit 0 ersetzt

# Berechnung der Spaltensummen
rezeptur_cols <- names(table_data) %>% setdiff(c("Herkunft", "RowSum"))

# Extrahiere Rezeptur-IDs und Kultur
spalten_info <- tibble(col = rezeptur_cols) %>%
  separate(col, into = c("rezeptur", "kultur"), sep = "_") %>%
  mutate(colname = paste0(rezeptur, "_", kultur))

# Erzeugen neuer Spalten mit Summen pro Rezeptur (LH+LBK)
for (rez in unique(spalten_info$rezeptur)) {
  rez_cols <- spalten_info %>% filter(rezeptur == rez) %>% pull(colname)
  
  table_data[[paste0(rez, "_summe")]] <- rowSums(table_data[rez_cols])
}

# Festlegen der Spaltenreihenfolge pro Rezeptur
sortierte_spalten <- spalten_info %>%
  pivot_wider(names_from = kultur, values_from = colname) %>%
  mutate(summe = paste0(rezeptur, "_summe")) %>%
  dplyr::select(summe, `La Hoguette`, LBK) %>%
  unlist() %>%
  as.character()

# Berechnung der Zeilensumme pro Herkunft basierend auf Summenspalten der Rezepturen
summe_spalten <- sortierte_spalten[grepl("_summe$", sortierte_spalten)]

table_data <- table_data %>%
  dplyr::mutate(RowSum = rowSums(dplyr::select(., all_of(summe_spalten))))

# Berechnung der Zeilensummen
summary_row <- table_data %>%
 dplyr::summarise(across(where(is.numeric), sum)) %>%
  dplyr::mutate(Herkunft = "Summe") %>%
  dplyr::select(Herkunft, everything())

# Zeilenweise Kombination mehrerer Dataframes
table_data <- bind_rows(table_data, summary_row)

# Sortieren der Spalten
table_data <- table_data %>%
  dplyr::select(Herkunft, all_of(sortierte_spalten), RowSum)

# Finale Tabelle erstellen
gt_table <- table_data %>%
  gt() %>%
  cols_label(Herkunft = "Herkunftsgruppe", RowSum = "Gesamt")

# Definieren des Spaltenspanners pro Rezeptur
spalten_info_final <- tibble(col = sortierte_spalten) %>%
  separate(col, into = c("rezeptur", "suffix"), sep = "_") %>%
  mutate(label = paste("Rezeptur", rezeptur)) %>%
  group_by(label) %>%
  summarise(cols = list(paste0(rezeptur, "_", suffix)), .groups = "drop")

# Spanner zu Tabelle hinzufügen
for (i in seq_len(nrow(spalten_info_final))) {
  gültige_spalten <- spalten_info_final$cols[[i]]
  # Prüfe, ob die Spalten existieren
  gültige_spalten <- gültige_spalten[gültige_spalten %in% names(table_data)]

  if (length(gültige_spalten) > 0) {
    gt_table <- gt_table %>%
      tab_spanner(
        label = spalten_info_final$label[i],
        columns = gültige_spalten
      )
  }
}

# Tabelle exportieren
gtsave(gt_table, "../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft/Abb.6-97.html")

33 Abb. 6-98

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb_SE.csv")

# Diagramm erstellen
ggplot(data)+geom_bar(aes(fill=Kultur, x=Modell2),position = position_dodge2(preserve = 'single',padding = 0.0),color="black")+
  scale_fill_manual(values = c("La Hoguette" = "grey20", "LBK" = "lightgrey"))+ # Manuelle Definition der Farbe der Balken
  geom_text(aes(mapping=Kultur, x=Modell2,label=..count..),stat='count',position=position_dodge(1),vjust=-0.3,size=2.75)+ # Manuelles Hinzufügen der Zahlenwerte als Text oberhalb der Balken
  xlab("Chemische Herkunft(sgruppen)")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
  scale_y_continuous(breaks=seq(0,300,20),expand=c(0,0), limits=c(0,210))+ # Manuelle Definition der Y-Achse
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung
  theme(axis.text.x = element_text(angle = 90, vjust = 0.3,hjust=0.3)) # Vertikale Darstellung der X-Achsenbeschriftung

# Export des Diagramms  
ggsave("Abb.6-98.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=13,width=7,unit=c("cm"),dpi=1200)

34 Abb. 6-99

Zur besseren Sichtbarkeit im Druck wurde der längste Balken (Dat. I/Herkunftsgruppe 01 = 239) nicht vollständig abgebildet und den Abbildungen händisch ergänzt

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb_SE.csv")

# Diagramm erstellen
ggplot(data)+geom_bar(aes(fill=Modell2, x=Datierung),position = position_dodge2(preserve = 'single',padding = 0.0),color="black")+
  scale_fill_manual(values = c("Herkunft 1" = "grey55", "Herkunft 2" = "orange","Herkunft 3"="wheat","Herkunft 4"="cyan4","Herkunft 5"="dodgerblue1", "Herkunft 6"="purple2","Herkunft 7"="#CCEBC5","Herkunft 8"="#FCCDE5","Herkunft 9"="magenta"))+  # Manuelle Definition der Farbe der Balken
  geom_text(aes(mapping=Modell2, x=Datierung,label=..count..),stat='count',position=position_dodge(1),vjust=-0.3,size=2.75)+ # Manuelles Hinzufügen der Zahlenwerte als Text oberhalb der Balken
  xlab("Datierung")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
  scale_y_continuous(breaks=seq(0,300,5),expand=c(0,0), limits=c(0,20))+ # Manuelle Definition der Y-Achse
  theme_classic()+ # Klassisches Design
theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))# Manuelle Formatierung von Achsen- und Legendendarstellung

# Export des Diagramms 
ggsave("Abb.6-99.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=6,width=9,unit=c("cm"),dpi=1200)

35 Abb. 6-100

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb_SE.csv")

# Diagramm erstellen
ggplot(data)+geom_bar(aes(fill=Modell2, x=Haus),position = position_dodge2(preserve = 'single',padding = 0.0),color="black")+
  scale_fill_manual(values = c("Herkunft 1" = "grey55", "Herkunft 2" = "orange","Herkunft 3"="wheat","Herkunft 4"="cyan4","Herkunft 5"="dodgerblue1", "Herkunft 6"="purple2","Herkunft 7"="#CCEBC5","Herkunft 8"="#FCCDE5","Herkunft 9"="magenta"))+ # Manuelle Definition der Farbe der Balken
  geom_text(aes(mapping=Modell2, x=Haus,label=..count..),stat='count',position=position_dodge(1),vjust=-0.3,size=2.75)+ # Manuelles Hinzufügen der Zahlenwerte als Text oberhalb der Balken
  xlab("Kontexte - Fokus Häuser")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
  scale_y_continuous(breaks=seq(0,300,5),expand=c(0,0), limits=c(0,70))+ # Manuelle Definition der Y-Achse
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # Vertikale Darstellung der X-Achsenbeschriftung

# Export des Diagramms 
ggsave("Abb.6-100.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=11,width=12,unit=c("cm"),dpi=1200)

36 Abb. 6-101

# Daten einlesen und filtern
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb_SE.csv")
data<-filter(data, Haus=="Gruben")

# Formatieren der Kontextnummern
data$Gruben <- ifelse(data$Gruben %in% c("2","12", "17", "29","45", "48", "79"), 
                      sprintf("%03d", as.numeric(data$Gruben)), 
                      data$Gruben)

# Diagramm erstellen
ggplot(data)+geom_bar(aes(fill=Modell2, x=Gruben),position = position_dodge2(preserve = 'single',padding = 0.0),color="black")+
  scale_fill_manual(values = c("Herkunft 1" = "grey55", "Herkunft 2" = "orange","Herkunft 3"="wheat","Herkunft 4"="cyan4","Herkunft 5"="dodgerblue1", "Herkunft 6"="purple2","Herkunft 7"="#CCEBC5","Herkunft 8"="#FCCDE5","Herkunft 9"="magenta"))+  # Manuelle Definition der Farbe der Balken
  geom_text(aes(mapping=Modell2, x=Gruben,label=..count..),stat='count',position=position_dodge(1),vjust=-0.3,size=2.75)+ # Manuelles Hinzufügen der Zahlenwerte als Text oberhalb der Balken
  xlab("Kontexte - Fokus Gruben")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
  scale_y_continuous(breaks=seq(0,300,5),expand=c(0,0), limits=c(0,22))+ # Manuelle Definition der Y-Achse
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # Vertikale Darstellung der X-Achsenbeschriftung

# Export des Diagramms  
ggsave("Abb.6-101.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=9,width=9,unit=c("cm"),dpi=1200)

37 Abb. 6-103

# Daten einlesen und filtern
data3<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb_SE.csv")
data2<-data3[,c(24,29,30,34,78),]

# Formatieren der Kontextnummern
data2$HausuGruben  <- ifelse(grepl("^\\d+$", data2$HausuGruben ) & as.numeric(data2$HausuGruben ) %in% c(2, 12,17, 29,45, 48, 79), 
                      sprintf("%03d", as.numeric(data2$HausuGruben )), 
                      data2$HausuGruben )

# Gruppieren nach Kategorien und zählen der Häufigkeiten
data<-data2 %>% dplyr::count(HausuGruben,Modell2,Kultur,Knochen)

# Definieren der Darstellungsreihenfolge
data$HausuGruben<-factor(data$HausuGruben,levels=c("Haus 01","Haus 02","Haus 03","Haus 06","Haus 08","Haus 08/16","Haus 10","Haus 11","Haus 12","Haus 15","Haus 16","Haus 17", "002","012","029","045","048","079","575","579","715","801","807","Unbekannt"))

# Diagramm erstellen
ggplot(data,aes(x=Modell2,y=HausuGruben, color=Knochen, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,1))+ # Manuelle Definition der Form der Symbole
  scale_color_manual(name="Knochen",values=c("black","wheat4"))+ # Manuelle Definition der Farbe der Symbole
 xlab("Chemische Herkunft(sgruppen)")+ylab("Kontexte")+ # Manuelle Achsenbeschriftung
  scale_y_discrete(limits=rev)+ # Inverse Darstellung der Y-Achse
  theme_light()+ # Schlichtes Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung 
  theme(axis.text.x = element_text(angle = 90, vjust = 0.3,hjust=0.3)) # Vertikale Darstellung der X-Achsenbeschriftung

# Export des Diagramms  
ggsave("Abb.6-103.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=14,width=7,unit=c("cm"),dpi=1200)

38 Abb. 6-104

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb_SE.csv")

# Diagramm erstellen
ggplot(data)+geom_bar(aes(fill=Modell2, x=Gruppe.Magerung),position = position_dodge2(preserve = 'single',padding = 0.0),color="black")+
  scale_fill_manual(values = c("Herkunft 1" = "grey55", "Herkunft 2" = "orange","Herkunft 3"="wheat","Herkunft 4"="cyan4","Herkunft 5"="dodgerblue1", "Herkunft 6"="purple2","Herkunft 7"="#CCEBC5","Herkunft 8"="#FCCDE5","Herkunft 9"="magenta"))+ # Manuelle Definition der Farbe der Balken
  geom_text(aes(mapping=Modell2, x=Gruppe.Magerung,label=..count..),stat='count',position=position_dodge(1),vjust=-0.3,size=2.75)+ # Manuelles Hinzufügen der Zahlenwerte als Text oberhalb der Balken
  xlab("Warenart")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
  scale_y_continuous(breaks=seq(0,300,5),expand=c(0,0), limits=c(0,30))+ # Manuelle Definition der Y-Achse
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+# Manuelle Formatierung von Achsen- und Legendendarstellung 
  theme(axis.text.x = element_text(angle = 90, vjust = 0.3,hjust=0.3)) # Vertikale Darstellung der X-Achsenbeschriftung

# Export des Diagramms   
ggsave("Abb.6-104.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=11,width=15.3,unit=c("cm"),dpi=1200)

39 Abb. 6-105

# Daten einlesen und filtern
data3<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb_SE.csv")
data2<-data3[,c(24,34,53,78),]

# Gruppieren nach Kategorien und zählen der Häufigkeiten
data<-data2 %>% dplyr::count(Gruppe.Magerung, Modell2,Kultur,Knochen)

# Diagramm erstellen
ggplot(data,aes(x=Modell2,y=Gruppe.Magerung, color=Knochen, shape=Kultur))+
  geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(17,1))+ # Manuelle Definition der Form der Symbole
  scale_color_manual(name="Knochen",values=c("black","wheat4"))+ # Manuelle Definition der Farbe der Symbole
  xlab("Chemische Herkunft(sgruppen)")+ylab("Kontexte")+ # Manuelle Achsenbeschriftung
  scale_y_discrete(limits=rev)+ # Inverse Darstellung der Y-Achse
  theme_light()+ # Schlichtes Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung
  theme(axis.text.x = element_text(angle = 90, vjust = 0.3,hjust=0.3)) # Vertikale Darstellung der X-Achsenbeschriftung

# Export des Diagramms 
ggsave("Abb.6-105.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=19,width=8,unit=c("cm"),dpi=1200)

40 Abb. 6-106

Zur besseren Sichtbarkeit im Druck wurde der längste Balken (Unbestimmt/Herkunftsgruppe 01 = 102) nicht vollständig abgebildet und den Abbildungen händisch ergänzt

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb_SE.csv")

# Definieren der Darstellungsreihenfolge
data$Typ<-factor(data$Typ,levels=c("Eifoermiger Topf","Schale","Kumpfartiges Gefaess","Becherartiges Gefaess","Becher","Flasche","Schuessel", "Feinkeramischer Kumpf","Grobkeramischer Kumpf","Fussgefaess", "Unbestimmt"))

# Diagramm erstellen
ggplot(data)+geom_bar(aes(fill=Modell2, x=Typ),position = position_dodge2(preserve = 'single',padding = 0.0),color="black")+
  scale_fill_manual(values = c("Herkunft 1" = "grey55", "Herkunft 2" = "orange","Herkunft 3"="wheat","Herkunft 4"="cyan4","Herkunft 5"="dodgerblue1", "Herkunft 6"="purple2","Herkunft 7"="#CCEBC5","Herkunft 8"="#FCCDE5","Herkunft 9"="magenta"))+ # Manuelle Definition der Farbe der Balken
  geom_text(aes(mapping=Modell2, x=Typ,label=..count..),stat='count',position=position_dodge(1),vjust=-0.3,size=2.75)+ # Manuelles Hinzufügen der Zahlenwerte als Text oberhalb der Balken
  xlab("Gefäßtyp")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
  scale_y_continuous(breaks=seq(0,300,10),expand=c(0,0), limits=c(0,57))+ # Manuelle Definition der Y-Achse
  theme_classic()+ # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung 
  theme(axis.text.x = element_text(angle = 90, vjust = 0.3,hjust=0.3)) # Vertikale Darstellung der X-Achsenbeschriftung

# Export des Diagramms   
ggsave("Abb.6-106.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=13,width=9,unit=c("cm"),dpi=1200)

41 La Hoguette Zier und Herkunftsgruppen

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb_SE.csv")

# Definieren der Darstellungsreihenfolge
data$ZierDetail<-factor(data$ZierDetail,levels=c("21.1","21.4","21.5","21.4/5","21.5/Leiste","22.1","22.1/58.1","22.1/58.6/Leiste","58.1","58.2","58.5","58.6","58.1/2","58.1/2/Leiste","58.1/7","Leiste","19.1","21.2","21.6","21.7","21.8","21.9","21.2/29.1","21.2/29.22","21.6/29.2","21.7/29.2","21.9/29.1","21.9/29.3/29.22.1","22.1/29.20","22.1/29.20/30.3","22.1/29.20/30.31/58.1","22.1/29.23","22.1/29.27","22.2","29.1","29.2","29.22","29.23","29.27","29.31","29.38","29.55","29.1/2","29.1/3","29.2/22","Eckiges Band gefuellt mit 29.22","29.20/22","29.20/30.1/58.1","29.3/58.2","29.20/Notenkopfzier","30.1/51.1/Linien in Winkelbaendern/Notenkopfzier","Doppelt perforiert","Fingerkniffe als Winkelband","Miniaturgefaess","Unverziert"))

# Daten filtern
data1<-subset(data,Kultur %in% c("La Hoguette"))

# Diagramm erstellen
ggplot(data1)+geom_bar(aes(fill=Modell2, x=ZierDetail),position = position_dodge2(preserve = 'single',padding = 0.0),color="black")+
  scale_fill_manual(values = c("Herkunft 1" = "grey55", "Herkunft 2" = "orange","Herkunft 3"="wheat","Herkunft 4"="cyan4","Herkunft 5"="dodgerblue1", "Herkunft 6"="purple2","Herkunft 7"="#CCEBC5","Herkunft 8"="#FCCDE5","Herkunft 9"="magenta"))+ # Manuelle Definition der Farbe der Balken
  geom_text(aes(mapping=Modell2, x=ZierDetail,label=..count..),stat='count',position=position_dodge(1),vjust=-0.3,size=2.75)+ # Manuelles Hinzufügen der Zahlenwerte als Text oberhalb der Balken
  xlab("Zier - La Hoguette")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
  scale_y_continuous(breaks=seq(0,60,5),expand=c(0,0), limits=c(0,40))+ # Manuelle Definition der Y-Achse
 # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung 
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # Vertikale Darstellung der X-Achsenbeschriftung

42 Abb. 6-107

Zur besseren Sichtbarkeit im Druck wurde der längste Balken (Unverziert/Herkunftsgruppe 01 = 139) nicht vollständig abgebildet und den Abbildungen händisch ergänzt

# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_vollständigMW_chemGruppen_bearb_SE.csv")

# Definieren der Darstellungsreihenfolge
data$ZierDetail<-factor(data$ZierDetail,levels=c("21.1","21.4","21.5","21.4/5","21.5/Leiste","22.1","22.1/58.1","22.1/58.6/Leiste","58.1","58.2","58.5","58.6","58.1/2","58.1/2/Leiste","58.1/7","Leiste","19.1","21.2","21.6","21.7","21.8","21.9","21.2/29.1","21.2/29.22","21.6/29.2","21.7/29.2","21.9/29.1","21.9/29.3/29.22.1","22.1/29.20","22.1/29.20/30.3","22.1/29.20/30.31/58.1","22.1/29.23","22.1/29.27","22.2","29.1","29.2","29.22","29.23","29.27","29.31","29.38","29.55","29.1/2","29.1/3","29.2/22","Eckiges Band gefuellt mit 29.22","29.20/22","29.20/30.1/58.1","29.3/58.2","29.20/Notenkopfzier","30.1/51.1/Linien in Winkelbaendern/Notenkopfzier","Doppelt perforiert","Fingerkniffe als Winkelband","Miniaturgefaess","Unverziert"))

# Daten filtern
data1<-subset(data,Kultur %in% c("LBK"))

# Diagramm erstellen
ggplot(data1)+geom_bar(aes(fill=Modell2, x=ZierDetail),position = position_dodge2(preserve = 'single',padding = 0.0),color="black")+
  scale_fill_manual(values = c("Herkunft 1" = "grey55", "Herkunft 2" = "orange","Herkunft 3"="wheat","Herkunft 4"="cyan4","Herkunft 5"="dodgerblue1", "Herkunft 6"="purple2","Herkunft 7"="#CCEBC5","Herkunft 8"="#FCCDE5","Herkunft 9"="magenta"))+ # Manuelle Definition der Farbe der Balken
  geom_text(aes(mapping=Modell2, x=ZierDetail,label=..count..),stat='count',position=position_dodge(1),vjust=-0.3,size=2.75)+ # Manuelles Hinzufügen der Zahlenwerte als Text oberhalb der Balken
  xlab("Zier - Bandkeramik")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
  scale_y_continuous(breaks=seq(0,60,5),expand=c(0,0), limits=c(0,40))+ # Manuelle Definition der Y-Achse
 # Klassisches Design
  theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.title=element_blank(),legend.text=element_text(size=8),axis.title=element_text(size=9),axis.text=element_text(size=8,color="black"))+theme(legend.position="bottom")+theme(axis.ticks=element_line(size=0.25,colour="black"))+ # Manuelle Formatierung von Achsen- und Legendendarstellung 
  theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1)) # Vertikale Darstellung der X-Achsenbeschriftung

# Export des Diagramms 
ggsave("Abb.6-107.eps",path=("../Daten//Kap_6//Kap_6.2//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=13,width=15.3,unit=c("cm"),dpi=1200)

43 Literatur

Allaire u. a. 2024: J. J. Allaire/C. Teague/C. Scheidegger/Y. Xie/C. Dervieux, Quarto v.1.5.55. https://quarto.org.
Bailiss 2023: C. Bailiss, pivottabler: Create Pivot Tables: R package version 1.5.5. https://cran.r-project.org/package=pivottabler.
Barrett u. a. 2024: T. Barrett/M. Dowle/A. Srinivasan/J. Gorecki/M. Chirico/T. Hocking, data.table: Extension of ‘data.frame‘: R package version 1.15.4. https://cran.r-project.org/package=data.table.
Camargo 2024: A. Camargo, PCAtest: Statistical significance of PCA: R package version 0.0.1. https://github.com/arleyc/pcatest.
Field, A. u. a. 2013: A. Field/J. Miles/Z. Field, Discovering Statistics using R (Los Angeles 2013).
Firke 2024: S. Firke, janitor: Simple Tools for Examining and Cleaning Dirty Data: R package version 2.2.1. https://cran.r-project.org/package=janitor.
Fox u. a. 2024: J. Fox/M. Marquez/M. Bouchet-Valat, Rcmdr: R Commander: R package version 2.9-2. https://socialsciences.mcmaster.ca/jfox/misc/rcmdr/.
Iannone u. a. 2025: R. Iannone/J. Cheng/B. Schloerke/E. Hughes/A. Lauer/J.-Y. Seo/K. Brevoort/O. Roy, gt: Easily Create Presentation-Ready Display Tables: R package version 1.0.0. https://cran.r-project.org/package=gt.
Kassambara 2023a: A. Kassambara, ggpubr: ’ggplot2’ Based Publication Ready Plots: R package version 0.6.0. https://cran.r-project.org/package=ggpubr.
Kassambara 2023b: A. Kassambara, rstatix: Pipe-Friendly Framework for Basic Statistical Tests: R package version 0.7.2. https://cran.r-project.org/package=rstatix.
Kassambara/Mundt 2020: A. Kassambara/F. Mundt, factoextra: Extract and Visualize the Results of Multivariate Data Analyses: R package version 1.0.7. https://cran.r-project.org/package=factoextra.
Komsta/Novomestky 2022: L. Komsta/F. Novomestky, moments: Moments, Cumulants, Skewness, Kurtosis and Related Tests: R package version 0.14.1. https://cran.r-project.org/package=moments.
Liland/Sæbø 2024: K. H. Liland/S. Sæbø, RcmdrPlugin.NMBU: R Commander Plug-in for University Level Applied Statistics: R package version 1.8.15. https://cran.r-project.org/package=rcmdrplugin.nmbu.
R Core Team 2024: R Core Team, R v.4.4.1: A Language and Environment for Statistical Computing: Race for Your Life. https://www.r-project.org/.
RStudio Team 2024: RStudio Team, RStudio v. 2024.04.2: Integrated Development Environment for R. https://www.rstudio.com/.
Schauer 2025: M. Schauer, La Hoguette – Kultur, Phänomen, Subkultur? Archäologische Studien und portable, energiedispersive Röntgenfluoreszenzanalysen (p-ED-RFA) an Keramik zu einer altbekannten Frage 183. Philippika 183 (Wiesbaden 2025).
Siegmund 2020: F. Siegmund, Statistik in der Archäologie: eine anwendungsorientierte Einführung auf Basis freier Software (Norderstedt 2020). https://frank-siegmund.de/images/opendata/2020-archaeostatistik/siegmund_2020_daten.zip.
Siegmund 2023: F. Siegmund, Einführung Quarto. https://www.frank-siegmund.de/images/opendata/einfuehrungquarto.zip.
Venables/Ripley 2007: W. N. Venables/B. D. Ripley, Modern applied statistics with S. Statistics and computing 4(New York 2007).
Wickham 2011: H. Wickham, The Split-Apply-Combine Strategy for Data Analysis. Journal of Statistical Software, 40/1, 2011, 1–29. https://www.jstatsoft.org/v40/i01/.
Wickham 2016: H. Wickham, ggplot2: Elegant graphics for data analysis. Use R! 2(Cham 2016). https://ebookcentral.proquest.com/lib/kxp/detail.action?docid=4546676.
Wickham u. a. 2019: H. Wickham/M. Averick/J. Bryan/W. Chang/L. D’Agostino McGowan/R. François/G. Grolemund/A. Hayes/L. Henry/J. Henster/M. Kuhn/T. L. Pedersen/E. Miller/S. M. Bache/K. Müller/J. Ooms/D. Robinson/D. P. Seidel/V. Spinu/K. Takahashi/D. Vaughan/C. Wilke/K. Woo/H. Yutani, Welcome to the tidyverse. Journal of Open Source Software, 43/4, 2019, 1686. DOI: https://doi.org/10.21105/joss.01686.
Wickham 2023: H. Wickham, stringr: Simple, Consistent Wrappers for Common String Operations: R package version 1.5.1. https://cran.r-project.org/package=stringr.
Wilke 2024: C. Wilke, cowplot: Streamlined Plot Theme and Plot Annotations for ’ggplot2’: R package version 1.1.3. https://cran.r-project.org/package=cowplot.
Yuan Tang/Wenxuan 2016: M. H. Yuan Tang/L. Wenxuan, ggfortify: Unified Interface to Visualize Statistical Result of Popular R Packages. The R Journal, 8/2, 2016, 478–489. https://cran.r-project.org/package=ggfortify.

Wiederverwendung