library(cowplot)
library(dplyr)
library(ggfortify)
library(ggplot2)
library(ggpubr)
library(moments)
library(openxlsx)
library(PCAtest)
library(plyr)
library(rstatix)1 Einleitung
1.1 Inhalt
Dieses Skript umfasst die Dokumentation der zu Kapitel 6.3.2.b - Schauer (2025) gehörigen Abbildungen und Statistiken:
Kapitel 6.3.2.b - Multivariater Normabstand: Abb. 6-119 – Skript-Kapitel 4 und Abb. 6-120 – 5 geben einen Überblick über die Datengrundlage. Ergänzend: Streudiagramm Abb. 6-121 – 6
Kapitel 6.3.2.b.i - Rezepturen: Berechnung des multivariaten Normabstands für Modell 1 (Skript-Kapitel 7) für Hauptelemente (Kapitel 6.3.2.b.i) und Spurenelemente (Kapitel 6.3.2.b.ii). Ebenfalls durchgeführt: die Berechnung des Normabstands für Modell 3 der Hauptelemente (Skript-Kapitel 12). Abb. 6-122 – 8 zeigt Modell 1, Abb. 6-123 – 9 das zugehörige Streudiagramm. Das finale Streudiagramm für Modell 2 ist in Abb. 6-124 – 10 dargestellt, das zugehörige Histogramm in Abb. 6-125 – 11. Abb. 6-126 – 13 zeigt das Streudiagramm für Modell 3, Abb. 6-127 – 15 die Kennwerte der Rezepturen. Das Ergebnis des Dunn-Tests für Modell 2 ist ebenfalls dokumentiert (Skript-Kapitel 14). Das Zusammenspiel von Rezepturen und Probenanzahl wird in Abb. 6-128 – 16 visualisiert, die Definition und Kategorisierung der Warenarten in Abb. 6-129 – 17. Weitere Darstellungen zum Zusammenspiel von Rezeptur und: – Warenarten: Abb. 6-130 – 18 – Kontexten: Abb. 6-132 – 21 – Gefäßtypen: Abb. 6-134 – 22 – Zierstil nach LeFranc: Abb. 6-135 – 23. Die Zusammenhänge zwischen Rezepturen, Technologien und Warenarten werden in Abb. 6-131 – 19 dargestellt. Die Berechnungen zur Hauptkomponentenanalyse sind ausschließlich in diesem Skript hinterlegt (Skript-Kapitel 20).
Kapitel 6.3.2.b.ii - Herkunft: Abb. 6-136 – 25 veranschaulicht den multivariaten Normabstand (Datengrundlage: Skript-Kapitel 24). Abb. 6-137 – 26 zeigt die Kategorisierung für Modell 1, Abb. 6-138 – 27 das zugehörige Streudiagramm. Für Modell 2 sind sämtliche Klassifizierungsschritte als Streudiagramme im Skript-Kapitel 28 dokumentiert. Das finale Streudiagramm zu Modell 2 ist in Abb. 6-139 – 29 dargestellt. Das Zusammenspiel von Zierweise und Keramiktechnologie wird in Abb. 6-140 – 30 visualisiert.
Kapitel 6.3.2.b.iii - Interpretation: Ausgewählte Streudiagramme zur Interpretation der chemischen Signaturen: – Rezepturen von Friedberg-Bruchenbrücken: Abb. 6-141 – 32 – Rezepturen von Rottenburg ‘Fröbelweg’: Abb. 6-142 – 33. Die Datengrundlage dazu ist dokumentiert in Kapitel 31.
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:
- cowplot (Barrett u. a. 2024)
- dplyr (Wickham 2023)
- ggfortify (Yuan Tang/Wenxuan 2016)
- ggplot2 (Wickham 2016)
- ggpubr (Kassambara 2023a)
- moments (Komsta/Novomestky 2022)
- openxlsx (Schauberger/Walker 2024)
- PCAtest (Camargo 2024)
- plyr (Wickham 2011)
- rstatix (Kassambara 2023b)
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
3 Working directory
knitr::opts_knit$set(root.dir = "./")4 Abb. 6-119
4.1 Daten zusammenstellen
# Daten einlesen und filtern
data1<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage//Daten_OG_vollständigMW.csv")
data2<-subset(data1, Fundort %in% c("Rottenburg 'Froebelweg'"))
# Speichern als CSV
write.csv(data2,"../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage/Daten_RB_vollständigMW.csv",row.names=FALSE)4.2 Erstellen Abb. 6-119
# Daten einlesen
data<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage/Daten_RB_vollständigMW.csv")
# Diagramm erstellen
ggplot(data)+
geom_bar(aes(x=Kultur),fill="lightgrey",color="black")+ # Manuelle Definition der Farbe der Balken
geom_text(aes(x=Kultur,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("Artefaktyp")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
scale_y_continuous(breaks=seq(0,340,20),expand=c(0,0), limits=c(0,162))+ # 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-119.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Grundlagen//"),plot=last_plot(),device="eps",height=5,width=6,unit=c("cm"),dpi=1200)5 Abb. 6-120
# Daten einlesen
data<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage/Daten_RB_vollständigMW.csv")
# Formatieren der Kontextnummern
data$HausKontext <- ifelse(grepl("^\\d+$", data$HausKontext ) & as.numeric(data$HausKontext ) %in% c(26,27,51),
sprintf("%03d", as.numeric(data$HausKontext )),
data$HausKontext )
# Diagramm erstellen
ggplot(data)+ geom_bar(aes(fill=Kultur, x=HausKontext),position = position_dodge2(preserve = 'single',padding = 0.0),color="black")+
scale_fill_manual(values = c("La Hoguette" = "grey20", "LBK" = "lightgrey","Huettenlehm"="white"))+ # Manuelle Definition der Farbe der Balken
geom_text(aes(mapping=Kultur,x=HausKontext,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")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
scale_y_continuous(breaks=seq(0,52,5),expand=c(0,0), limits=c(0,52))+ # 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-120.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Grundlagen//"),plot=last_plot(),device="eps",height=7,width=10,unit=c("cm"),dpi=1200)6 Abb. 6-121
# Daten einlesen und filtern
data2<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage//Daten_RB_vollständigMW.csv")
data<-subset(data2, Kultur %in% c("LBK","La Hoguette"))
# Darstellungsreihenfolge definieren
data$Kultur<-factor(data$Kultur,levels=c("LBK","La Hoguette"))
# Diagramme erstellen
P2O5_Ba<-ggplot(data, aes(x=P2O5,y=Ba, color=Kultur, shape=Kultur))+
geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(19,17))+ # Manuelle Definition der Form der Symbole
scale_color_manual(name="Kultur",values=c("grey30","grey90"))+ # Manuelle Definition der Farbe der Symbole
xlab("P2O5 in %")+ylab("Ba 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
CaO_Ba<-ggplot(data, aes(x=CaO,y=Ba, color=Kultur, shape=Kultur))+
geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(19,17))+
scale_color_manual(name="Kultur",values=c("grey30","grey90"))+
xlab("CaO in %")+ylab("Ba 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"))
CaO_P2O5<-ggplot(data, aes(x=CaO,y=P2O5, color=Kultur, shape=Kultur))+
geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(19,17))+
scale_color_manual(name="Kultur",values=c("grey30","grey90"))+
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"))
# Kombination der Diagramme
ggarrange(P2O5_Ba,CaO_Ba,CaO_P2O5,ncol=2,nrow=2,align = "hv",common.legend=TRUE)+theme(legend.position="bottom")# Export des kombinierten Diagramms
ggsave("Abb.6-121.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Grundlagen//"),plot=last_plot(),device="eps",height=10,width=12,unit=c("cm"),dpi=1200)7 Modell 1 - Normabstand berechnen
7.1 Zusammenstellen der Daten
# Daten einlesen und filtern
data1<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage//Daten_RB_vollständigMW.csv")
data2<-subset(data1, Kultur %in% c("LBK"))
data<-data2[,3:23]
data4<-subset(data1, Kultur %in% c("LBK","La Hoguette"))
# Definieren relevanter Variablen
Probennummer<-data4$Probennummer
Kultur<-data4$Kultur
# Berechnung des Medians der LBK-Keramik
MedianLBK<-(data) %>% dplyr::summarise(across(everything(),list(median=median)))
# Entfernen von "_median" aus den Spaltennamen
colnames(MedianLBK) <- gsub("_median", "", colnames(MedianLBK))7.2 Normabstand der Keramik zum Median der LBK berechnen
# Extrahieren des Medians der LBK-Keramik für SiO2
MedianLBK_SiO2<-MedianLBK$SiO2
# Extrahieren der Messwerte für SiO2
data_SiO2<-data4$SiO2
# Berechnen des Multivariaten Normabstandes für jede Probe zum Median von SiO2
SiO2<-sqrt((data_SiO2-MedianLBK_SiO2)^2)/MedianLBK_SiO2
MedianLBK_TiO2<-MedianLBK$TiO2
data_TiO2<-data4$TiO2
TiO2<-sqrt((data_TiO2-MedianLBK_TiO2)^2)/MedianLBK_TiO2
MedianLBK_Al2O3<-MedianLBK$Al2O3
data_Al2O3<-data4$Al2O3
Al2O3<-sqrt((data_Al2O3-MedianLBK_Al2O3)^2)/MedianLBK_Al2O3
MedianLBK_Fe2O3<-MedianLBK$Fe2O3
data_Fe2O3<-data4$Fe2O3
Fe2O3<-sqrt((data_Fe2O3-MedianLBK_Fe2O3)^2)/MedianLBK_Fe2O3
MedianLBK_MnO<-MedianLBK$MnO
data_MnO<-data4$MnO
MnO<-sqrt((data_MnO-MedianLBK_MnO)^2)/MedianLBK_MnO
MedianLBK_MgO<-MedianLBK$MgO
data_MgO<-data4$MgO
MgO<-sqrt((data_MgO-MedianLBK_MgO)^2)/MedianLBK_MgO
MedianLBK_CaO<-MedianLBK$CaO
data_CaO<-data4$CaO
CaO<-sqrt((data_CaO-MedianLBK_CaO)^2)/MedianLBK_CaO
MedianLBK_K2O<-MedianLBK$K2O
data_K2O<-data4$K2O
K2O<-sqrt((data_K2O-MedianLBK_K2O)^2)/MedianLBK_K2O
MedianLBK_P2O5<-MedianLBK$P2O5
data_P2O5<-data4$P2O5
P2O5<-sqrt((data_P2O5-MedianLBK_P2O5)^2)/MedianLBK_P2O5
MedianLBK_V<-MedianLBK$V
data_V<-data4$V
V<-sqrt((data_V-MedianLBK_V)^2)/MedianLBK_V
MedianLBK_Cr<-MedianLBK$Cr
data_Cr<-data4$Cr
Cr<-sqrt((data_Cr-MedianLBK_Cr)^2)/MedianLBK_Cr
MedianLBK_Zn<-MedianLBK$Zn
data_Zn<-data4$Zn
Zn<-sqrt((data_Zn-MedianLBK_Zn)^2)/MedianLBK_Zn
MedianLBK_Rb<-MedianLBK$Rb
data_Rb<-data4$Rb
Rb<-sqrt((data_Rb-MedianLBK_Rb)^2)/MedianLBK_Rb
MedianLBK_Sr<-MedianLBK$Sr
data_Sr<-data4$Sr
Sr<-sqrt((data_Sr-MedianLBK_Sr)^2)/MedianLBK_Sr
MedianLBK_Y<-MedianLBK$Y
data_Y<-data4$Y
Y<-sqrt((data_Y-MedianLBK_Y)^2)/MedianLBK_Y
MedianLBK_Zr<-MedianLBK$Zr
data_Zr<-data4$Zr
Zr<-sqrt((data_Zr-MedianLBK_Zr)^2)/MedianLBK_Zr7.3 Normabstand Rezepturen
# Kombinieren mehrerer Dataframes
Normabstand_HE<-data.frame(Probennummer,Kultur,SiO2,TiO2,Al2O3,Fe2O3,MnO,CaO,K2O,P2O5)
# Berechnen des Normabstandes pro Probe basierend auf den Hauptelementen
Normabstand_HE<-Normabstand_HE %>% rowwise() %>% mutate(Summe = sum(c(SiO2,TiO2,Al2O3,Fe2O3,MnO,CaO,K2O,P2O5)))
# Speichern als CSV
write.csv(Normabstand_HE,"../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//Normabstand_RB_HE.csv",row.names=FALSE)7.4 Normabstand Herkunft
# Kombinieren mehrerer Dataframes
Normabstand_SE<-data.frame(Probennummer,Kultur,V,Cr,Zn,Rb,Sr,Y,Zr)
# Berechnen des Normabstandes pro Probe basierend auf den Spurenelementen
Normabstand_SE<-Normabstand_SE %>% rowwise() %>% mutate(Summe = sum(c(V,Cr,Zn,Rb,Sr,Y,Zr)))
# Speichern als CSV
write.csv(Normabstand_SE,"../Daten//Kap_6//Kap_6.3//Grundlagen//Herkunft//Normabstand_RB_SE.csv",row.names=FALSE)8 Abb. 6-122
8.1 Zusammenstellen der Daten
# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//Normabstand_RB_HE.csv")
data2<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage//Daten_RB_vollständigMW.csv")
data3<-subset(data2, Kultur %in% c("LBK","La Hoguette"))
data4<-data3[,c(1,3:23)]
# Kombinieren mehrerer Dataframes basierend auf der Probennummer
data<-merge(data1,data4, 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.3//Grundlagen//Rezeptur//Normabstand_HE_RB_mitMesswerten.csv",row.names=FALSE)Die weitere Einteilung der Proben in die chemischen Rezepturen beginnend mit Modell 1 erfolgte in Excel.
8.2 Histogramm
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//Normabstand_HE_RB_mitMesswerten.csv")
# Berechnung der unteren (25%) und oberen (75%) Quartile für die Spalte "Normabst"
Normabst0 <- (data) %>%
dplyr::summarise(lower = quantile(Normabst, probs = .25),
upper = quantile(Normabst, probs = .75))
# Diagramm erstellen
Hist_NormHE_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(0,36,2))+
scale_y_continuous(breaks=seq(0,150,10))+ # 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)+theme(axis.title.x=element_blank())+ # 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::summarise(lower = quantile(Normabst, probs = .25),
upper = quantile(Normabst, probs = .75))
# Diagramm erstellen
Hist_NormHE_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 typisch bandkeramischen Rezeptur von Rottenburg 'Fröbelweg'")+ylab("Häufigkeit")+ # Manuelle Achsenbeschriftung
theme_classic()+ # Klassisches Design
scale_x_continuous(breaks=seq(0,36,2))+ # Manuelle Definition der Achsen
scale_y_continuous(breaks=seq(0,150,10))+
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(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", dplyr::summarise, grp.median=median(Normabst)), aes(xintercept=grp.median),color="blue", linetype="dashed", linewidth=1)+ # Vertikale Markierung des Medians nach Kategorien
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_NormHE_Keramik_LBKI,Hist_NormHE_Keramik_nKultur_LBKI,ncol=1,nrow=2,align = "v",axis = "lr",rel_heights=c(1,2))# Export des kombinierten Diagramms
ggsave("Abb.6-122.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Rezeptur//"),plot=last_plot(),device="eps",height=9,width=15.3,unit=c("cm"),dpi=1200)8.3 Kennwerte
# Berechnen von Mittelwert und Standardabweichung für den gesamten Datensatz
data %>% dplyr::summarise(m = mean(Normabst),sd=sd(Normabst)) m sd
1 5.771893 6.635049
# 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 2.52 2.94
2 La Hoguette 10.4 7.62
# Anzahl der Gesamtbeobachtungen
data %>% dplyr::summarise(count=n()) count
1 268
# Anzahl der Beobachtungen pro Kategorie
data %>% group_by(Kultur) %>% dplyr::summarise(count=n())# A tibble: 2 × 2
Kultur count
<chr> <int>
1 LBK 157
2 La Hoguette 111
9 Abb. 6-123
Die Einteilung der Proben in die chemischen Rezepturen erfolgte in Excel.
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//Normabstand_HE_RB_mitMesswerten_bearb.csv")
# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell1),]
# Diagramme erstellen
Modell1_HE_CaO_Fe2O3<-ggplot(data, aes(x=CaO,y=Fe2O3, 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("grey70","skyblue2","darkred","green4","blue","purple","wheat3"))+ # Manuelle Definition der Farbe der Symbole
xlab("CaO in %")+ylab("Fe2O3 in %")+ # 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_HE_CaO_P2O5<-ggplot(data, aes(x=CaO,y=P2O5, 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("grey70","skyblue2","darkred","green4","blue","purple","wheat3"))+
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"))
Modell1_HE_Al2O3_SiO2<-ggplot(data, aes(x=Al2O3,y=SiO2, 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("grey70","skyblue2","darkred","green4","blue","purple","wheat3"))+
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"))
Modell1_HE_TiO2_K2O<-ggplot(data, aes(x=TiO2,y=K2O, 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("grey70","skyblue2","darkred","green4","blue","purple","wheat3"))+
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"))
# Kombination der Diagramme
ggarrange(Modell1_HE_Al2O3_SiO2,Modell1_HE_CaO_P2O5,Modell1_HE_CaO_Fe2O3,Modell1_HE_TiO2_K2O,ncol=2,nrow=2,align = "hv",common.legend=TRUE)+theme(legend.position="bottom")# Export des kombinierten Diagramms
ggsave("Abb.6-123.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Rezeptur//"),plot=last_plot(),device="eps",height=11,width=15.3,unit=c("cm"),dpi=1200)10 Abb. 6-124
Die Datei Normabstand_HE_RB_mitMesswerten_bearb wurde in Excel um die beschriebenen Veränderungen für Modell 2 erweitert.
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//Normabstand_HE_RB_mitMesswerten_bearb.csv")
# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2),]
# Diagramme erstellen
Modell2_HE_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(17,19))+ # Manuelle Definition von Größe und Form der Symbole
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3"))+ # Manuelle Definition der Farbe der Symbole
xlab("CaO in %")+ylab("Fe2O3 in %")+ # 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_HE_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(17,19))+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3"))+
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"))
Modell2_HE_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(17,19))+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3"))+
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"))
Modell2_HE_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(17,19))+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3"))+
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"))
# Kombination der Diagramme
ggarrange(Modell2_HE_Al2O3_SiO2,Modell2_HE_CaO_P2O5,Modell2_HE_CaO_Fe2O3,Modell2_HE_TiO2_K2O,ncol=2,nrow=2,align = "hv",common.legend=TRUE)+theme(legend.position="bottom")# Export des kombinierten Diagramms
ggsave("Abb.6-124.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Rezeptur//"),plot=last_plot(),device="eps",height=11,width=15.3,unit=c("cm"),dpi=1200)11 Abb. 6-125
Die Einteilung der Proben in die chemischen Rezepturen erfolgte in Excel.
11.1 Histogramm
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//Normabstand_HE_RB_mitMesswerten_bearb.csv")
# Berechnung der unteren (25%) und oberen (75%) Quartile für die Spalte "Normabst"
Normabst0 <- (data) %>%
dplyr::summarise(lower = quantile(Normabst, probs = .25),
upper = quantile(Normabst, probs = .75))
# Diagramm erstellen
Hist_NormHE_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(0,36,2))+
scale_y_continuous(breaks=seq(0,150,10))+ # 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)+theme(axis.title.x=element_blank())+ # 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 Modell2
Normabst10 <- (data) %>%
group_by(Modell2) %>%
dplyr::summarise(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 typisch bandkeramischen Rezeptur von Rottenburg 'Fröbelweg'")+ylab("Häufigkeit")+ # Manuelle Achsenbeschriftung
theme_classic()+ # Klassisches Design
scale_x_continuous(breaks=seq(0,36,2))+ # Manuelle Definition der Achsen
scale_y_continuous(breaks=seq(0,150,10))+
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", dplyr::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_NormHE_Keramik_LBKI,Hist_Modell2,ncol=1,nrow=2,align = "v",axis = "lr",rel_heights=c(1,7))# Export des kombinierten Diagramms
ggsave("Abb.6-125.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Rezeptur//"),plot=last_plot(),device="eps",height=22,width=15.3,unit=c("cm"),dpi=1200)11.2 Kennwerte
# Berechnen von Mittelwert und Standardabweichung für den gesamten Datensatz
data %>% dplyr::summarise(m = mean(Normabst),sd=sd(Normabst)) m sd
1 5.771893 6.635049
# 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 Rezeptur 1a 1.83 0.953
2 Rezeptur 1b 4.87 1.02
3 Rezeptur 1c 5.08 1.08
4 Rezeptur 2 16.4 5.37
5 Rezeptur 3 8.98 NA
6 Rezeptur 4 13.7 0.511
7 Rezeptur 5 15.1 0.637
8 Rezeptur 6 19.9 NA
9 Rezeptur 7 27.7 NA
# Anzahl der Gesamtbeobachtungen
data %>% dplyr::summarise(count=n()) count
1 268
# Anzahl der Beobachtungen pro Kategorie
data %>% group_by(Modell2) %>% dplyr::summarise(count=n())# A tibble: 9 × 2
Modell2 count
<chr> <int>
1 Rezeptur 1a 163
2 Rezeptur 1b 33
3 Rezeptur 1c 8
4 Rezeptur 2 56
5 Rezeptur 3 1
6 Rezeptur 4 2
7 Rezeptur 5 3
8 Rezeptur 6 1
9 Rezeptur 7 1
12 Berechnen des Test für Modell 2 (Modell 3)
12.1 Zusammenstellen der Daten
# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//Normabstand_HE_RB_mitMesswerten_bearb.csv")
data<-data1[,c(3:10,34),]
# Umbennennen der Spaltenköpfe
data<-data %>% dplyr::rename(Si=1,Al=2,Ti=3,Fe=4,Mn=5,Ca=6,K=7,P=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))12.2 Normabstand berechnen - Rezeptur 1a
# Filtern nach den Daten von Rezeptur 1a
MedianRezeptur1aMod3<-filter(MedianGruppenMod3, Modell2=="Rezeptur 1a")
# Extrahieren des Medians von Rezepetur 1a für SiO2
MedianRezeptur1aMod3_Si<-MedianRezeptur1aMod3$Si
# Extrahieren der Messwerte für SiO2
data_Si<-data$Si
# Berechnen des Multivariaten Normabstandes für jede Probe zum Median von Rezeptur 1a von SiO2
Si<-sqrt((data_Si-MedianRezeptur1aMod3_Si)^2)
MedianRezeptur1aMod3_Ti<-MedianRezeptur1aMod3$Ti
data_Ti<-data$Ti
Ti<-sqrt((data_Ti-MedianRezeptur1aMod3_Ti)^2)
MedianRezeptur1aMod3_Al<-MedianRezeptur1aMod3$Al
data_Al<-data$Al
Al<-sqrt((data_Al-MedianRezeptur1aMod3_Al)^2)
MedianRezeptur1aMod3_Fe<-MedianRezeptur1aMod3$Fe
data_Fe<-data$Fe
Fe<-sqrt((data_Fe-MedianRezeptur1aMod3_Fe)^2)
MedianRezeptur1aMod3_Mn<-MedianRezeptur1aMod3$Mn
data_Mn<-data$Mn
Mn<-sqrt((data_Mn-MedianRezeptur1aMod3_Mn)^2)
MedianRezeptur1aMod3_Ca<-MedianRezeptur1aMod3$Ca
data_Ca<-data$Ca
Ca<-sqrt((data_Ca-MedianRezeptur1aMod3_Ca)^2)
MedianRezeptur1aMod3_K<-MedianRezeptur1aMod3$K
data_K<-data$K
K<-sqrt((data_K-MedianRezeptur1aMod3_K)^2)
MedianRezeptur1aMod3_P<-MedianRezeptur1aMod3$P
data_P<-data$P
P<-sqrt((data_P-MedianRezeptur1aMod3_P)^2)
# Kombinieren mehrerer Dataframes
Normabstand_SE<-data.frame(Probennummer,Kultur,Si,Ti,Al,Fe,Mn,Ca,K,P)
# Berechnen des Normabstandes zum Median von Rezeptur 1a pro Probe basierend auf den Hauptelementen
Normabstand_Rez1a_Tabelle<-Normabstand_SE %>% rowwise() %>% mutate(Summe = sum(c(Si,Ti,Al,Fe,Mn,Ca,K,P)))
# Definieren der Summe als Variable
Normabstand_Rez1a<-Normabstand_Rez1a_Tabelle$Summe12.3 Normabstand berechnen - Rezeptur 1b
MedianRezeptur1bMod3<-filter(MedianGruppenMod3, Modell2=="Rezeptur 1b")
MedianRezeptur1bMod3_Si<-MedianRezeptur1bMod3$Si
data_Si<-data$Si
Si<-sqrt((data_Si-MedianRezeptur1bMod3_Si)^2)
MedianRezeptur1bMod3_Ti<-MedianRezeptur1bMod3$Ti
data_Ti<-data$Ti
Ti<-sqrt((data_Ti-MedianRezeptur1bMod3_Ti)^2)
MedianRezeptur1bMod3_Al<-MedianRezeptur1bMod3$Al
data_Al<-data$Al
Al<-sqrt((data_Al-MedianRezeptur1bMod3_Al)^2)
MedianRezeptur1bMod3_Fe<-MedianRezeptur1bMod3$Fe
data_Fe<-data$Fe
Fe<-sqrt((data_Fe-MedianRezeptur1bMod3_Fe)^2)
MedianRezeptur1bMod3_Mn<-MedianRezeptur1bMod3$Mn
data_Mn<-data$Mn
Mn<-sqrt((data_Mn-MedianRezeptur1bMod3_Mn)^2)
MedianRezeptur1bMod3_Ca<-MedianRezeptur1bMod3$Ca
data_Ca<-data$Ca
Ca<-sqrt((data_Ca-MedianRezeptur1bMod3_Ca)^2)
MedianRezeptur1bMod3_K<-MedianRezeptur1bMod3$K
data_K<-data$K
K<-sqrt((data_K-MedianRezeptur1bMod3_K)^2)
MedianRezeptur1bMod3_P<-MedianRezeptur1bMod3$P
data_P<-data$P
P<-sqrt((data_P-MedianRezeptur1bMod3_P)^2)
Normabstand_SE<-data.frame(Probennummer,Kultur,Si,Ti,Al,Fe,Mn,Ca,K,P)
Normabstand_Rez1b_Tabelle<-Normabstand_SE %>% rowwise() %>% mutate(Summe = sum(c(Si,Ti,Al,Fe,Mn,Ca,K,P)))
Normabstand_Rez1b<-Normabstand_Rez1b_Tabelle$Summe12.4 Normabstand berechnen - Rezeptur 1c
MedianRezeptur1cMod3<-filter(MedianGruppenMod3, Modell2=="Rezeptur 1c")
MedianRezeptur1cMod3_Si<-MedianRezeptur1cMod3$Si
data_Si<-data$Si
Si<-sqrt((data_Si-MedianRezeptur1cMod3_Si)^2)
MedianRezeptur1cMod3_Ti<-MedianRezeptur1cMod3$Ti
data_Ti<-data$Ti
Ti<-sqrt((data_Ti-MedianRezeptur1cMod3_Ti)^2)
MedianRezeptur1cMod3_Al<-MedianRezeptur1cMod3$Al
data_Al<-data$Al
Al<-sqrt((data_Al-MedianRezeptur1cMod3_Al)^2)
MedianRezeptur1cMod3_Fe<-MedianRezeptur1cMod3$Fe
data_Fe<-data$Fe
Fe<-sqrt((data_Fe-MedianRezeptur1cMod3_Fe)^2)
MedianRezeptur1cMod3_Mn<-MedianRezeptur1cMod3$Mn
data_Mn<-data$Mn
Mn<-sqrt((data_Mn-MedianRezeptur1cMod3_Mn)^2)
MedianRezeptur1cMod3_Ca<-MedianRezeptur1cMod3$Ca
data_Ca<-data$Ca
Ca<-sqrt((data_Ca-MedianRezeptur1cMod3_Ca)^2)
MedianRezeptur1cMod3_K<-MedianRezeptur1cMod3$K
data_K<-data$K
K<-sqrt((data_K-MedianRezeptur1cMod3_K)^2)
MedianRezeptur1cMod3_P<-MedianRezeptur1cMod3$P
data_P<-data$P
P<-sqrt((data_P-MedianRezeptur1cMod3_P)^2)
Normabstand_SE<-data.frame(Probennummer,Kultur,Si,Ti,Al,Fe,Mn,Ca,K,P)
Normabstand_Rez1c_Tabelle<-Normabstand_SE %>% rowwise() %>% mutate(Summe = sum(c(Si,Ti,Al,Fe,Mn,Ca,K,P)))
Normabstand_Rez1c<-Normabstand_Rez1c_Tabelle$Summe12.5 Normabstand berechnen - Rezeptur 2
MedianRezeptur2Mod3<-filter(MedianGruppenMod3, Modell2=="Rezeptur 2")
MedianRezeptur2Mod3_Si<-MedianRezeptur2Mod3$Si
data_Si<-data$Si
Si<-sqrt((data_Si-MedianRezeptur2Mod3_Si)^2)
MedianRezeptur2Mod3_Ti<-MedianRezeptur2Mod3$Ti
data_Ti<-data$Ti
Ti<-sqrt((data_Ti-MedianRezeptur2Mod3_Ti)^2)
MedianRezeptur2Mod3_Al<-MedianRezeptur2Mod3$Al
data_Al<-data$Al
Al<-sqrt((data_Al-MedianRezeptur2Mod3_Al)^2)
MedianRezeptur2Mod3_Fe<-MedianRezeptur2Mod3$Fe
data_Fe<-data$Fe
Fe<-sqrt((data_Fe-MedianRezeptur2Mod3_Fe)^2)
MedianRezeptur2Mod3_Mn<-MedianRezeptur2Mod3$Mn
data_Mn<-data$Mn
Mn<-sqrt((data_Mn-MedianRezeptur2Mod3_Mn)^2)
MedianRezeptur2Mod3_Ca<-MedianRezeptur2Mod3$Ca
data_Ca<-data$Ca
Ca<-sqrt((data_Ca-MedianRezeptur2Mod3_Ca)^2)
MedianRezeptur2Mod3_K<-MedianRezeptur2Mod3$K
data_K<-data$K
K<-sqrt((data_K-MedianRezeptur2Mod3_K)^2)
MedianRezeptur2Mod3_P<-MedianRezeptur2Mod3$P
data_P<-data$P
P<-sqrt((data_P-MedianRezeptur2Mod3_P)^2)
Normabstand_SE<-data.frame(Probennummer,Kultur,Si,Ti,Al,Fe,Mn,Ca,K,P)
Normabstand_Rez2_Tabelle<-Normabstand_SE %>% rowwise() %>% mutate(Summe = sum(c(Si,Ti,Al,Fe,Mn,Ca,K,P)))
Normabstand_Rez2<-Normabstand_Rez2_Tabelle$Summe12.6 Normabstand berechnen - Rezeptur 3
MedianRezeptur3Mod3<-filter(MedianGruppenMod3, Modell2=="Rezeptur 3")
MedianRezeptur3Mod3_Si<-MedianRezeptur3Mod3$Si
data_Si<-data$Si
Si<-sqrt((data_Si-MedianRezeptur3Mod3_Si)^2)
MedianRezeptur3Mod3_Ti<-MedianRezeptur3Mod3$Ti
data_Ti<-data$Ti
Ti<-sqrt((data_Ti-MedianRezeptur3Mod3_Ti)^2)
MedianRezeptur3Mod3_Al<-MedianRezeptur3Mod3$Al
data_Al<-data$Al
Al<-sqrt((data_Al-MedianRezeptur3Mod3_Al)^2)
MedianRezeptur3Mod3_Fe<-MedianRezeptur3Mod3$Fe
data_Fe<-data$Fe
Fe<-sqrt((data_Fe-MedianRezeptur3Mod3_Fe)^2)
MedianRezeptur3Mod3_Mn<-MedianRezeptur3Mod3$Mn
data_Mn<-data$Mn
Mn<-sqrt((data_Mn-MedianRezeptur3Mod3_Mn)^2)
MedianRezeptur3Mod3_Ca<-MedianRezeptur3Mod3$Ca
data_Ca<-data$Ca
Ca<-sqrt((data_Ca-MedianRezeptur3Mod3_Ca)^2)
MedianRezeptur3Mod3_K<-MedianRezeptur3Mod3$K
data_K<-data$K
K<-sqrt((data_K-MedianRezeptur3Mod3_K)^2)
MedianRezeptur3Mod3_P<-MedianRezeptur3Mod3$P
data_P<-data$P
P<-sqrt((data_P-MedianRezeptur3Mod3_P)^2)
Normabstand_SE<-data.frame(Probennummer,Kultur,Si,Ti,Al,Fe,Mn,Ca,K,P)
Normabstand_Rez3_Tabelle<-Normabstand_SE %>% rowwise() %>% mutate(Summe = sum(c(Si,Ti,Al,Fe,Mn,Ca,K,P)))
Normabstand_Rez3<-Normabstand_Rez3_Tabelle$Summe12.7 Normabstand berechnen - Rezeptur 4
MedianRezeptur4Mod3<-filter(MedianGruppenMod3, Modell2=="Rezeptur 4")
MedianRezeptur4Mod3_Si<-MedianRezeptur4Mod3$Si
data_Si<-data$Si
Si<-sqrt((data_Si-MedianRezeptur4Mod3_Si)^2)
MedianRezeptur4Mod3_Ti<-MedianRezeptur4Mod3$Ti
data_Ti<-data$Ti
Ti<-sqrt((data_Ti-MedianRezeptur4Mod3_Ti)^2)
MedianRezeptur4Mod3_Al<-MedianRezeptur4Mod3$Al
data_Al<-data$Al
Al<-sqrt((data_Al-MedianRezeptur4Mod3_Al)^2)
MedianRezeptur4Mod3_Fe<-MedianRezeptur4Mod3$Fe
data_Fe<-data$Fe
Fe<-sqrt((data_Fe-MedianRezeptur4Mod3_Fe)^2)
MedianRezeptur4Mod3_Mn<-MedianRezeptur4Mod3$Mn
data_Mn<-data$Mn
Mn<-sqrt((data_Mn-MedianRezeptur4Mod3_Mn)^2)
MedianRezeptur4Mod3_Ca<-MedianRezeptur4Mod3$Ca
data_Ca<-data$Ca
Ca<-sqrt((data_Ca-MedianRezeptur4Mod3_Ca)^2)
MedianRezeptur4Mod3_K<-MedianRezeptur4Mod3$K
data_K<-data$K
K<-sqrt((data_K-MedianRezeptur4Mod3_K)^2)
MedianRezeptur4Mod3_P<-MedianRezeptur4Mod3$P
data_P<-data$P
P<-sqrt((data_P-MedianRezeptur4Mod3_P)^2)
Normabstand_SE<-data.frame(Probennummer,Kultur,Si,Ti,Al,Fe,Mn,Ca,K,P)
Normabstand_Rez4_Tabelle<-Normabstand_SE %>% rowwise() %>% mutate(Summe = sum(c(Si,Ti,Al,Fe,Mn,Ca,K,P)))
Normabstand_Rez4<-Normabstand_Rez4_Tabelle$Summe12.8 Normabstand berechnen - Rezeptur 5
MedianRezeptur5Mod3<-filter(MedianGruppenMod3, Modell2=="Rezeptur 5")
MedianRezeptur5Mod3_Si<-MedianRezeptur5Mod3$Si
data_Si<-data$Si
Si<-sqrt((data_Si-MedianRezeptur5Mod3_Si)^2)
MedianRezeptur5Mod3_Ti<-MedianRezeptur5Mod3$Ti
data_Ti<-data$Ti
Ti<-sqrt((data_Ti-MedianRezeptur5Mod3_Ti)^2)
MedianRezeptur5Mod3_Al<-MedianRezeptur5Mod3$Al
data_Al<-data$Al
Al<-sqrt((data_Al-MedianRezeptur5Mod3_Al)^2)
MedianRezeptur5Mod3_Fe<-MedianRezeptur5Mod3$Fe
data_Fe<-data$Fe
Fe<-sqrt((data_Fe-MedianRezeptur5Mod3_Fe)^2)
MedianRezeptur5Mod3_Mn<-MedianRezeptur5Mod3$Mn
data_Mn<-data$Mn
Mn<-sqrt((data_Mn-MedianRezeptur5Mod3_Mn)^2)
MedianRezeptur5Mod3_Ca<-MedianRezeptur5Mod3$Ca
data_Ca<-data$Ca
Ca<-sqrt((data_Ca-MedianRezeptur5Mod3_Ca)^2)
MedianRezeptur5Mod3_K<-MedianRezeptur5Mod3$K
data_K<-data$K
K<-sqrt((data_K-MedianRezeptur5Mod3_K)^2)
MedianRezeptur5Mod3_P<-MedianRezeptur5Mod3$P
data_P<-data$P
P<-sqrt((data_P-MedianRezeptur5Mod3_P)^2)
Normabstand_SE<-data.frame(Probennummer,Kultur,Si,Ti,Al,Fe,Mn,Ca,K,P)
Normabstand_Rez5_Tabelle<-Normabstand_SE %>% rowwise() %>% mutate(Summe = sum(c(Si,Ti,Al,Fe,Mn,Ca,K,P)))
Normabstand_Rez5<-Normabstand_Rez5_Tabelle$Summe12.9 Normabstand berechnen - Rezeptur 6
MedianRezeptur6Mod3<-filter(MedianGruppenMod3, Modell2=="Rezeptur 6")
MedianRezeptur6Mod3_Si<-MedianRezeptur6Mod3$Si
data_Si<-data$Si
Si<-sqrt((data_Si-MedianRezeptur6Mod3_Si)^2)
MedianRezeptur6Mod3_Ti<-MedianRezeptur6Mod3$Ti
data_Ti<-data$Ti
Ti<-sqrt((data_Ti-MedianRezeptur6Mod3_Ti)^2)
MedianRezeptur6Mod3_Al<-MedianRezeptur6Mod3$Al
data_Al<-data$Al
Al<-sqrt((data_Al-MedianRezeptur6Mod3_Al)^2)
MedianRezeptur6Mod3_Fe<-MedianRezeptur6Mod3$Fe
data_Fe<-data$Fe
Fe<-sqrt((data_Fe-MedianRezeptur6Mod3_Fe)^2)
MedianRezeptur6Mod3_Mn<-MedianRezeptur6Mod3$Mn
data_Mn<-data$Mn
Mn<-sqrt((data_Mn-MedianRezeptur6Mod3_Mn)^2)
MedianRezeptur6Mod3_Ca<-MedianRezeptur6Mod3$Ca
data_Ca<-data$Ca
Ca<-sqrt((data_Ca-MedianRezeptur6Mod3_Ca)^2)
MedianRezeptur6Mod3_K<-MedianRezeptur6Mod3$K
data_K<-data$K
K<-sqrt((data_K-MedianRezeptur6Mod3_K)^2)
MedianRezeptur6Mod3_P<-MedianRezeptur6Mod3$P
data_P<-data$P
P<-sqrt((data_P-MedianRezeptur6Mod3_P)^2)
Normabstand_SE<-data.frame(Probennummer,Kultur,Si,Ti,Al,Fe,Mn,Ca,K,P)
Normabstand_Rez6_Tabelle<-Normabstand_SE %>% rowwise() %>% mutate(Summe = sum(c(Si,Ti,Al,Fe,Mn,Ca,K,P)))
Normabstand_Rez6<-Normabstand_Rez6_Tabelle$Summe12.10 Normabstand berechnen - Rezeptur 7
MedianRezeptur7Mod3<-filter(MedianGruppenMod3, Modell2=="Rezeptur 7")
MedianRezeptur7Mod3_Si<-MedianRezeptur7Mod3$Si
data_Si<-data$Si
Si<-sqrt((data_Si-MedianRezeptur7Mod3_Si)^2)
MedianRezeptur7Mod3_Ti<-MedianRezeptur7Mod3$Ti
data_Ti<-data$Ti
Ti<-sqrt((data_Ti-MedianRezeptur7Mod3_Ti)^2)
MedianRezeptur7Mod3_Al<-MedianRezeptur7Mod3$Al
data_Al<-data$Al
Al<-sqrt((data_Al-MedianRezeptur7Mod3_Al)^2)
MedianRezeptur1aMod3_Fe<-MedianRezeptur7Mod3$Fe
data_Fe<-data$Fe
Fe<-sqrt((data_Fe-MedianRezeptur1aMod3_Fe)^2)
MedianRezeptur7Mod3_Mn<-MedianRezeptur7Mod3$Mn
data_Mn<-data$Mn
Mn<-sqrt((data_Mn-MedianRezeptur7Mod3_Mn)^2)
MedianRezeptur7Mod3_Ca<-MedianRezeptur7Mod3$Ca
data_Ca<-data$Ca
Ca<-sqrt((data_Ca-MedianRezeptur7Mod3_Ca)^2)
MedianRezeptur7Mod3_K<-MedianRezeptur7Mod3$K
data_K<-data$K
K<-sqrt((data_K-MedianRezeptur7Mod3_K)^2)
MedianRezeptur7Mod3_P<-MedianRezeptur7Mod3$P
data_P<-data$P
P<-sqrt((data_P-MedianRezeptur7Mod3_P)^2)
Normabstand_HE<-data.frame(Probennummer,Kultur,Si,Ti,Al,Fe,Mn,Ca,K,P)
Normabstand_Rez7_Tabelle<-Normabstand_SE %>% rowwise() %>% mutate(Summe = sum(c(Si,Ti,Al,Fe,Mn,Ca,K,P)))
Normabstand_Rez7<-Normabstand_Rez7_Tabelle$Summe12.11 Zusammenführen der Variablen
# Kombinieren mehrerer Dataframes
NormabstandGruppenMod3<-data.frame(Normabstand_Rez1a,Normabstand_Rez1b,Normabstand_Rez1c,Normabstand_Rez2,Normabstand_Rez3,Normabstand_Rez4,Normabstand_Rez5,Normabstand_Rez6,Normabstand_Rez7)12.12 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 Variable
data1$Modell3<-Min
# Spaltennamen "Normabstand_Rez" durch "Rezeptur" ersetzen
data1$Modell3<-gsub("Normabstand_Rez","Rezeptur ",data1$Modell3)
# Speichern als CSV
write.csv(data1,"../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//TestRezepturen_RB_Abstmaß.csv",row.names=FALSE)13 Abb. 6-126
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//TestRezepturen_RB_Abstmaß.csv")
# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell3),]
# Diagramme erstellen
Modell3_HE_CaO_Fe2O3<-ggplot(data, aes(x=CaO,y=Fe2O3, 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("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3"))+ # Manuelle Definition der Farbe der Symbole
xlab("CaO in %")+ylab("Fe2O3 in %")+ # 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_HE_CaO_P2O5<-ggplot(data, aes(x=CaO,y=P2O5, 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("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3"))+
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"))
Modell3_HE_Al2O3_SiO2<-ggplot(data, aes(x=Al2O3,y=SiO2, 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("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3"))+
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"))
Modell3_HE_TiO2_K2O<-ggplot(data, aes(x=TiO2,y=K2O, 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("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3"))+
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"))
# Kombination der Diagramme
ggarrange(Modell3_HE_Al2O3_SiO2,Modell3_HE_CaO_P2O5,Modell3_HE_CaO_Fe2O3,Modell3_HE_TiO2_K2O,ncol=2,nrow=2,align = "hv",common.legend=TRUE)+theme(legend.position="bottom")# Export des kombinierten Diagramms
ggsave("Abb.6-126.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Rezeptur//"),plot=last_plot(),device="eps",height=11,width=15.3,unit=c("cm"),dpi=1200)14 Dunns Test für Modell 2
# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//TestRezepturen_RB_Abstmaß.csv")
data2<-data1[,c(11,34),]
# 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 Rezeptur… Normabst 163 0.625 6.48 1.56 0.84 1.83 0.953 0.075 0.147
2 Rezeptur… Normabst 33 2.85 6.88 4.85 1.24 4.87 1.02 0.178 0.362
3 Rezeptur… Normabst 8 3.98 6.49 4.72 2.06 5.08 1.08 0.383 0.905
4 Rezeptur… Normabst 56 6.80 25.7 16.4 8.43 16.4 5.37 0.717 1.44
5 Rezeptur… Normabst 1 8.98 8.98 8.98 0 8.98 NA NA NaN
6 Rezeptur… Normabst 2 13.3 14.1 13.7 0.361 13.7 0.511 0.361 4.59
7 Rezeptur… Normabst 3 14.4 15.6 15.2 0.62 15.1 0.637 0.368 1.58
8 Rezeptur… Normabst 1 19.9 19.9 19.9 0 19.9 NA NA NaN
9 Rezeptur… Normabst 1 27.7 27.7 27.7 0 27.7 NA NA NaN
# 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 268 197. 8 2.63e-38 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 268 0.730 eta2[H] large
# 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 Rezeptu… Rezep… 163 33 6.52 7.11e-11 2.56e- 9 ****
2 Normabst Rezeptu… Rezep… 163 8 3.51 4.52e- 4 1.63e- 2 *
3 Normabst Rezeptu… Rezep… 163 56 12.8 1.16e-37 4.19e-36 ****
4 Normabst Rezeptu… Rezep… 163 1 1.67 9.46e- 2 1 e+ 0 ns
5 Normabst Rezeptu… Rezep… 163 2 2.53 1.14e- 2 4.12e- 1 ns
6 Normabst Rezeptu… Rezep… 163 3 3.22 1.26e- 3 4.54e- 2 *
7 Normabst Rezeptu… Rezep… 163 1 2.13 3.28e- 2 1 e+ 0 ns
8 Normabst Rezeptu… Rezep… 163 1 2.38 1.74e- 2 6.25e- 1 ns
9 Normabst Rezeptu… Rezep… 33 8 0.0660 9.47e- 1 1 e+ 0 ns
10 Normabst Rezeptu… Rezep… 33 56 3.38 7.16e- 4 2.58e- 2 *
# ℹ 26 more rows
# Speichern als CSV
write.csv(pwc,"../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//TestRezepturen_RB_Dunn.csv",row.names=FALSE)15 Abb. 6-127
15.1 Zusammenstellen der Daten
# Daten einlesen und filtern
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//TestRezepturen_RB_Abstmaß.csv")
data2<-data[,c(12:16,18:20,34),]
# Variationskoeffizient-Funktion mit Fehlerbehandlung
Varkoef <- function(x) { (sd(x, na.rm = TRUE) / mean(x, na.rm = TRUE)) * 100 }
# Berechnung der Kennwerte
KennwerteRezeptur<-(data2) %>%
group_by(Modell2) %>%
dplyr::summarise(across(everything(),list(Varkoef=Varkoef,Mittelwert=mean,stabw=sd, Median=median)))
# Erste Zeilen der Tabelle anziegen
head(KennwerteRezeptur)# A tibble: 6 × 33
Modell2 SiO2_Varkoef SiO2_Mittelwert SiO2_stabw SiO2_Median TiO2_Varkoef
<chr> <dbl> <dbl> <dbl> <dbl> <dbl>
1 Rezeptur 1a 7.51 60.3 4.53 60.8 14.4
2 Rezeptur 1b 12.1 50.2 6.06 49.8 17.6
3 Rezeptur 1c 11.9 56.5 6.71 59.1 16.9
4 Rezeptur 2 13.3 45.3 6.03 44.8 20.5
5 Rezeptur 3 NA 46.6 NA 46.6 NA
6 Rezeptur 4 3.15 45.5 1.44 45.5 0.164
# ℹ 27 more variables: TiO2_Mittelwert <dbl>, TiO2_stabw <dbl>,
# TiO2_Median <dbl>, Al2O3_Varkoef <dbl>, Al2O3_Mittelwert <dbl>,
# Al2O3_stabw <dbl>, Al2O3_Median <dbl>, Fe2O3_Varkoef <dbl>,
# Fe2O3_Mittelwert <dbl>, Fe2O3_stabw <dbl>, Fe2O3_Median <dbl>,
# MnO_Varkoef <dbl>, MnO_Mittelwert <dbl>, MnO_stabw <dbl>, MnO_Median <dbl>,
# CaO_Varkoef <dbl>, CaO_Mittelwert <dbl>, CaO_stabw <dbl>, CaO_Median <dbl>,
# K2O_Varkoef <dbl>, K2O_Mittelwert <dbl>, K2O_stabw <dbl>, …
# Speichern als CSV
write.csv(KennwerteRezeptur,"../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//KennwerteRezeptur_RB.csv",row.names=FALSE)15.2 Erstellen Abb. 6-127
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//KennwerteRezeptur_RB.csv")
# Diagramme erstellen
Rezeptur_Errorplot_TiO2_K2O<-ggplot(data, aes(x=TiO2_Mittelwert,y=K2O_Mittelwert, color=Modell2,
xmin = TiO2_Mittelwert-TiO2_stabw, xmax = TiO2_Mittelwert+TiO2_stabw, # Fehlerbalken links und rechts
ymin=K2O_Mittelwert-K2O_stabw,ymax=K2O_Mittelwert+K2O_stabw))+ # Fehlerbalken unten und oben
geom_errorbar(width=.01)+geom_errorbarh(height=.1)+ # Länge der Fehlerbalken
geom_point()+ # Hinzufügen der Symbole
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3"))+ # 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("TiO2 in %")+ylab("K2O in %")+ # Manuelle Achsenbeschriftung
theme_classic()+ # Klassisches Design
theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.position = "none")+theme(axis.ticks=element_line(size=0.25,colour="black")) # Manuelle Formatierung von Achsen- und Legendendarstellung
Rezeptur_Errorplot_Al2O3_SiO2<-ggplot(data, aes(x=Al2O3_Mittelwert,y=SiO2_Mittelwert, color=Modell2,
xmin = Al2O3_Mittelwert-Al2O3_stabw, xmax = Al2O3_Mittelwert+Al2O3_stabw,
ymin=SiO2_Mittelwert-SiO2_stabw, ymax=SiO2_Mittelwert+SiO2_stabw))+
geom_errorbar(width=.1)+geom_errorbarh(height=.9)+
geom_point()+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3"))+
geom_text(aes(label=Modell2),hjust=-0.1, vjust=-0.3,size=2.75)+
xlab("Al2O3 in %")+ylab("SiO2 in %")+
theme_classic()+
theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.position = "none")+theme(axis.ticks=element_line(size=0.25,colour="black"))
Rezeptur_Errorplot_CaO_Fe2O3<-ggplot(data, aes(x=CaO_Mittelwert,y=Fe2O3_Mittelwert, color=Modell2,
xmin = CaO_Mittelwert-CaO_stabw, xmax = CaO_Mittelwert+CaO_stabw,
ymin=Fe2O3_Mittelwert-Fe2O3_stabw, ymax=Fe2O3_Mittelwert+Fe2O3_stabw))+
geom_errorbar(width=.2)+geom_errorbarh(height=.2)+
geom_point()+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3"))+
geom_text(aes(label=Modell2),hjust=-0.1, vjust=-0.3,size=2.75)+
xlab("CaO in %")+ylab("Fe2O3 in %")+
theme_classic()+theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.position = "none")+theme(axis.ticks=element_line(size=0.25,colour="black"))
Rezeptur_Errorplot_CaO_P2O5<-ggplot(data, aes(x=CaO_Mittelwert,y=P2O5_Mittelwert, color=Modell2,
xmin = CaO_Mittelwert-CaO_stabw, xmax = CaO_Mittelwert+CaO_stabw,
ymin=P2O5_Mittelwert-P2O5_stabw, ymax=P2O5_Mittelwert+P2O5_stabw))+
geom_errorbar(width=.2)+geom_errorbarh(height=.3)+
geom_point()+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3"))+
geom_text(aes(label=Modell2),hjust=-0.1, vjust=-0.3,size=2.75)+
xlab("CaO in %")+ylab("P2O5 in %")+
theme_classic()+
theme(axis.line=element_line(colour="black",size=0.25))+theme(legend.position = "none")+theme(axis.ticks=element_line(size=0.25,colour="black"))
# Kombination der Diagramme
ggarrange(Rezeptur_Errorplot_Al2O3_SiO2,Rezeptur_Errorplot_CaO_P2O5,Rezeptur_Errorplot_CaO_Fe2O3,Rezeptur_Errorplot_TiO2_K2O,ncol=2,nrow=2,align = "hv",common.legend=TRUE)+theme(legend.position="bottom")# Export des kombinierten Diagramms
ggsave("Abb.6-127.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Rezeptur//"),plot=last_plot(),device="eps",height=11,width=15.3,unit=c("cm"),dpi=1200)16 Abb. 6-128
16.1 Zusammenstellen der Daten
# Daten einlesen und filtern
data1<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage/Daten_RB_vollständigMW.csv")
data2<-subset(data1, Kultur %in% c("LBK","La Hoguette"))
data3<-data2[,c(1,3:84),]
# Daten einlesen und filtern
data4<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//Normabstand_HE_RB_mitMesswerten_bearb.csv")
data5<-data4[,c(1,34),]
# Kombinieren mehrerer Dataframes basierend auf der Probennummer
data8<-merge(data3,data5, by="Probennummer", all=TRUE)
# Speichern als CSV
write.csv(data8,"../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage/Daten_RB_Ker_vollständigMW_chemGruppen.csv",row.names=FALSE)16.2 Erstellen Abb. 6-128
# Daten einlesen
data<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage/Daten_RB_Ker_vollständigMW_chemGruppen.csv")
# Diagramme erstellen
Part1<-ggplot(data)+ geom_bar(aes(x=Modell2),fill="sienna4",color="black")+ # Manuelle Definition der Farbe der Balken
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
xlab("Chemische Rezepturen")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
scale_y_continuous(breaks=seq(0,160,20),expand=c(0,0), limits=c(0,168))+ # 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_blank())+ theme(legend.position="none")+ theme(axis.ticks=element_line(size=0.25,colour="black"))+theme(axis.text.x = element_blank()) # Manuelle Formatierung von Achsen- und Legendendarstellung
Part2<-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 Rezepturen")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
scale_y_continuous(breaks=seq(0,145,20),expand=c(0,0), limits=c(0,145))+ # 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
# Kombination der Diagramme
plot_grid(Part1,Part2,ncol=1,nrow=2,align = "v",axis = "lr",rel_heights=c(1,2))# Export des kombinierten Diagramms
ggsave("Abb.6-128.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Rezeptur//"),plot=last_plot(),device="eps",height=10,width=8,unit=c("cm"),dpi=1200)17 Abb. 6-129 - Statistik
# Daten einlesen und filtern
data<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage/Daten_RB_Ker_vollständigMW_chemGruppen.csv")
Tab1<-data[,c(26,66),]
# Erstellen der Tabelle
Tab2<-Tab1 %>% dplyr::count(Gruppe.Magerung,Kultur) # Berechnen wie häufig die jeweiligen Magerungsarten für La Hoguette und Bandkeramik vorkommen
Tab3<-Tab2 %>% group_by(Kultur) %>% mutate(percent = prop.table(n)) # Berechnen der prozentualen Anteile je Magerungsart für La Hoguette und Bandkeramik
# Export der Tabelle
write.csv(Tab3,"../Daten//Kap_6//Kap_6.3//Abbildungen//Rezeptur//Tab_Abb_6_129.csv",row.names=FALSE)18 Abb. 6-130
# Daten einlesen
data<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage/Daten_RB_Ker_vollständigMW_chemGruppen.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("Rezeptur 1a" = "grey70", "Rezeptur 1b" = "grey51","Rezeptur 1c"="grey11","Rezeptur 2"="skyblue2","Rezeptur 3"="blue", "Rezeptur 4"="darkred","Rezeptur 5"="orange","Rezeptur 6"="purple","Rezeptur 7"="wheat3"))+ # 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,32,5),expand=c(0,0), limits=c(0,23))+ # 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-130.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Rezeptur//"),plot=last_plot(),device="eps",height=11,width=15.3,unit=c("cm"),dpi=1200)19 Abb. 6-131
# Daten einlesen und filtern
data3<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage/Daten_RB_Ker_vollständigMW_chemGruppen.csv")
data2<-data3[,c(26,36,66,84),]
# Gruppieren nach Kategorien und zählen der Häufigkeiten
data<-data2 %>% dplyr::count(Gruppe.Magerung,Modell2,Kultur,Knochen)
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","grey75"))+ # Manuelle Definition der Farbe der Symbole
xlab("Chemische Rezeptur")+ ylab("Warenart")+ # 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-Achsenbeschriftunggsave("Abb.6-131.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Rezeptur//"),plot=last_plot(),device="eps",height=19,width=7,unit=c("cm"),dpi=1200)20 Hauptkomponentenanalyse
20.1 Berechnen der log10-transformation aller Daten und Export
# Daten einlesen und filtern
data1<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage/Daten_RB_Ker_vollständigMW_chemGruppen.csv")
data2<-data1[,c(2:22),]
data4<-data1[,c(1,26,84),]
# Anwenden des log10
data3<-log10(data2)
# Spaltenweise Kombination von Dataframes
data4<- cbind(data4,data3)
# Speichern als CSV
write.csv(data4,"../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//Daten_RB_log10_MW.csv",row.names=FALSE)20.2 Hauptkomponentenanalyse
20.3 Berechnen und Zusammenstellen der PCA-DAten
# Daten einlesen
data<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Rezeptur//Daten_RB_log10_MW.csv")
# Durchführen der PCA für ausgewählte Spalten
myPr <- prcomp(~ SiO2+TiO2+Al2O3+Fe2O3+MnO+CaO+K2O+P2O5,data=data,scale = TRUE)
myPrStandard deviations (1, .., p=8):
[1] 1.6796909 1.5140912 1.0544443 1.0219275 0.5478083 0.4464910 0.4279452
[8] 0.2176982
Rotation (n x k) = (8 x 8):
PC1 PC2 PC3 PC4 PC5 PC6
SiO2 0.56767838 -0.08929781 0.01455215 -0.11463122 0.1596410 -0.37128766
TiO2 -0.13654315 -0.54684800 -0.04130528 -0.29169417 0.7359708 0.13125968
Al2O3 -0.35880340 -0.45789377 0.22377553 0.04429027 -0.2081085 0.13180941
Fe2O3 -0.33849642 -0.45022996 -0.23064828 0.15003617 -0.3747906 -0.42403428
MnO 0.05983224 -0.02145147 -0.87647161 0.32492526 0.1356738 0.06220123
CaO -0.45260011 0.38484154 -0.07961426 0.01459918 0.1479759 0.40452416
K2O 0.08245986 -0.08574724 0.34278810 0.87823133 0.2930947 0.01944150
P2O5 -0.44782935 0.35311993 0.05256805 -0.01489581 0.3505365 -0.69271265
PC7 PC8
SiO2 0.02011679 0.7019049928
TiO2 0.15776301 -0.1083987192
Al2O3 -0.64186317 0.3699798902
Fe2O3 0.52758110 0.0915904774
MnO -0.31453565 0.0311765646
CaO 0.32689571 0.5900009243
K2O 0.10378337 -0.0006305942
P2O5 -0.26040647 -0.0350955485
# Eigenwerte der Hauptkomponenten
summary(myPr)Importance of components:
PC1 PC2 PC3 PC4 PC5 PC6 PC7
Standard deviation 1.6797 1.5141 1.0544 1.0219 0.54781 0.44649 0.42795
Proportion of Variance 0.3527 0.2866 0.1390 0.1305 0.03751 0.02492 0.02289
Cumulative Proportion 0.3527 0.6392 0.7782 0.9087 0.94626 0.97118 0.99408
PC8
Standard deviation 0.21770
Proportion of Variance 0.00592
Cumulative Proportion 1.00000
# Screeplot der Eigenwerte
plot(myPr, type="l")# Erstellen des Diagramms
autoplot(myPr, data = data, colour = 'Modell2',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 der Form der Symbole
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3"))+ # 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"))+
geom_vline(xintercept=0, color="black", size=0.25)+geom_hline(yintercept=0, color="black", size=0.25)+ # 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ügen20.4 Camargo-Teststatistik
# Daten einlesen und filtern
data10<-data[,c(4:8,10:12),]
# Berechnung der Varianz für alle numerischen Spalten
data10 %>% summarise_if(is.numeric, var) SiO2 TiO2 Al2O3 Fe2O3 MnO CaO
1 0.004877105 0.006053317 0.004285964 0.007975213 0.07841222 0.1448306
K2O P2O5
1 0.01345543 0.199682
# 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, 268 observations
1000 bootstrap replicates, 1000 random permutations
========================================================
Empirical Psi = 7.7079, Max null Psi = 0.4036, Min null Psi = 0.0750, p-value = 0
Empirical Phi = 0.3710, Max null Phi = 0.0849, Min null Phi = 0.0366, p-value = 0
Empirical eigenvalue #1 = 2.82136, Max null eigenvalue = 1.42563, p-value = 0
Empirical eigenvalue #2 = 2.29247, Max null eigenvalue = 1.33441, p-value = 0
Empirical eigenvalue #3 = 1.11185, Max null eigenvalue = 1.19304, p-value = 0.227
Empirical eigenvalue #4 = 1.04434, Max null eigenvalue = 1.10911, p-value = 0.222
Empirical eigenvalue #5 = 0.30009, Max null eigenvalue = 1.04229, p-value = 1
Empirical eigenvalue #6 = 0.19935, Max null eigenvalue = 0.97586, p-value = 1
Empirical eigenvalue #7 = 0.18314, Max null eigenvalue = 0.92239, p-value = 1
Empirical eigenvalue #8 = 0.04739, Max null eigenvalue = 0.87127, p-value = 1
PC 1 is significant and accounts for 35.3% (95%-CI:33.2-38.8) of the total variation
PC 2 is significant and accounts for 28.7% (95%-CI:25.6-31.2) of the total variation
The first 2 PC axes are significant and account for 63.9% of the total variation
Variables 1, 3, 4, 6, and 8 have significant loadings on PC 1
Variables 2, 3, 4, 6, and 8 have significant loadings on PC 2
21 Abb. 6-132
# Daten einlesen
data<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage/Daten_RB_Ker_vollständigMW_chemGruppen.csv")
# Formatieren der Kontextnummern
data$HausKontext <- ifelse(data$HausKontext %in% c("26","27","51"),
sprintf("%03d", as.numeric(data$HausKontext)),
data$HausKontext)
# Erstellen des Diagramms
ggplot(data)+ geom_bar(aes(fill=Modell2, x=HausKontext),position = position_dodge2(preserve = 'single',padding = 0.0),color="black")+
scale_fill_manual(values = c("Rezeptur 1a" = "grey70", "Rezeptur 1b" = "grey51","Rezeptur 1c"="grey11","Rezeptur 2"="skyblue2","Rezeptur 3"="blue", "Rezeptur 4"="darkred","Rezeptur 5"="orange","Rezeptur 6"="purple","Rezeptur 7"="wheat3"))+ # Manuelle Definition der Farbe der Balken
geom_text(aes(mapping=Modell2, x=HausKontext,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")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
scale_y_continuous(breaks=seq(0,300,10),expand=c(0,0), limits=c(0,47))+ # 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-132.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Rezeptur//"),plot=last_plot(),device="eps",height=10,width=12,unit=c("cm"),dpi=1200)22 Abb. 6-134
# Daten einlesen
data<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage/Daten_RB_Ker_vollständigMW_chemGruppen.csv")
# Definieren der Darstellungsreihenfolge
data$Typ<-factor(data$Typ,levels=c("Eifoermiger Topf","Schale","Kumpfartiges Gefaess","Flasche Typ 5.2","Flasche","Schuessel","Feinkeramischer Kumpf","Grobkeramischer Kumpf","Unbestimmt"))
# Erstellen des Diagramms
ggplot(data)+ geom_bar(aes(fill=Modell2, x=Typ),position = position_dodge2(preserve = 'single',padding = 0.0),color="black")+
scale_fill_manual(values = c("Rezeptur 1a" = "grey70", "Rezeptur 1b" = "grey51","Rezeptur 1c"="grey11","Rezeptur 2"="skyblue2","Rezeptur 3"="blue", "Rezeptur 4"="darkred","Rezeptur 5"="orange","Rezeptur 6"="purple","Rezeptur 7"="wheat3"))+ # Manuelle Definition der Farbe der Balken
geom_text(aes(mapping=Modell2, x=Typ,label=..count..),stat='count',position=position_dodge(1),vjust=-0.3,hjust=-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,130,10),expand=c(0,0), limits=c(0,105))+ # 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-134.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Rezeptur//"),plot=last_plot(),device="eps",height=10,width=10,unit=c("cm"),dpi=1200)23 Abb. 6-135
# Daten einlesen und filtern
data<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage/Daten_RB_Ker_vollständigMW_chemGruppen.csv")
data<-subset(data, Kultur %in% c("La Hoguette"))
# Erstellen des Diagramms
ggplot(data)+ geom_bar(aes(fill=Modell2, x=LeFranc),position = position_dodge2(preserve = 'single',padding = 0.0),color="black")+
scale_fill_manual(values = c("Rezeptur 1a" = "grey70", "Rezeptur 1b" = "grey51","Rezeptur 1c"="grey11","Rezeptur 2"="skyblue2","Rezeptur 3"="blue", "Rezeptur 4"="darkred","Rezeptur 5"="orange","Rezeptur 6"="purple","Rezeptur 7"="wheat3"))+ # Manuelle Definition der Farbe der Balken
geom_text(aes(mapping=Modell2, x=LeFranc,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("Zierstil nach LeFranc")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
scale_y_continuous(breaks=seq(0,145,5),expand=c(0,0), limits=c(0,43))+ # 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-135.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Rezeptur//"),plot=last_plot(),device="eps",height=6,width=4,unit=c("cm"),dpi=1200)24 Daten zusammenstellen
# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Herkunft//Normabstand_RB_SE.csv")
data2<- read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage//Daten_RB_vollständigMW.csv")
data3<-subset(data2, Kultur %in% c("LBK","La Hoguette"))
data4<-data3[,c(1,3:23)]
# Kombinieren mehrerer Dataframes basierend auf der Probennummer
data<-merge(data1,data4, 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.3//Grundlagen//Herkunft//Normabstand_SE_RB_mitMesswerten.csv",row.names=FALSE)25 Abb. 6-136
25.1 Histogramm
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Herkunft//Normabstand_SE_RB_mitMesswerten.csv")
# Berechnung der unteren (25%) und oberen (75%) Quartile für die Spalte "Normabst"
Normabst0 <- (data) %>%
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)+# Manuelle Definition der Farbe der Balken
ylab("Häufigkeit")+# Manuelle Achsenbeschriftung
theme_classic()+# Klassisches Design
scale_x_continuous(breaks=seq(0,36,1))+scale_y_continuous(breaks=seq(0,150,10))+# 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) %>%
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.25,bins=NULL)+# Manuelle Definition der Farbe der Balken
xlab("Distanz zur lokalen bandkeramischen Gefäßeinheit von Rottenburg 'Fröbelweg'")+ylab("Häufigkeit")+# Manuelle Achsenbeschriftung
theme_classic()+# Klassisches Design
scale_x_continuous(breaks=seq(0,36,1))+scale_y_continuous(breaks=seq(0,150,10))+# 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-136.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=9,width=15.3,unit=c("cm"),dpi=1200)25.2 Kennwerte
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Herkunft//Normabstand_SE_RB_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.360368 0.829398
# 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.08 0.798
2 La Hoguette 1.76 0.698
# Anzahl der Gesamtbeobachtungen
data %>% dplyr::summarise(count=n()) count
1 268
# Anzahl der Beobachtungen pro Kategorie
data %>% group_by(Kultur) %>% dplyr::summarise(count=n())# A tibble: 2 × 2
Kultur count
<chr> <int>
1 LBK 157
2 La Hoguette 111
26 Abb. 6-137
Die Einteilung der Proben in die chemischen Herkunften erfolgte in Excel.
26.1 Histogramm
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Herkunft//Normabstand_SE_RB_mitMesswerten_bearb.csv")
# Berechnung der unteren (25%) und oberen (75%) Quartile für die Spalte "Normabst"
Normabst0 <- (data) %>%
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)+# Manuelle Definition der Farbe der Balken
ylab("Häufigkeit")+# Manuelle Achsenbeschriftung
theme_classic()+# Klassisches Design
scale_x_continuous(breaks=seq(0,36,1))+scale_y_continuous(breaks=seq(0,150,10))+# 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 Modell2
Normabst10 <- (data) %>%
group_by(Modell1) %>%
dplyr::summarise(lower = quantile(Normabst, probs = .25),
upper = quantile(Normabst, probs = .75))
# Diagramm erstellen
Hist_Modell1<-ggplot(data,aes(x=Normabst))+
geom_histogram(fill="lightgrey", color="black",binwidth=0.25,bins=NULL)+ # Manuelle Definition der Farbe der Balken
xlab("Distanz zur typisch bandkeramischen Rezeptur von Rottenburg 'Fröbelweg'")+ylab("Häufigkeit")+ # Manuelle Achsenbeschriftung
theme_classic()+ # Klassisches Design
scale_x_continuous(breaks=seq(0,36,1))+ # Manuelle Definition der Achsen
scale_y_continuous(breaks=seq(0,150,10))+
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(Modell1~.)+theme(strip.text.y = element_text(angle = 0),strip.background = element_rect(colour="white", fill="white"))+ # Facettierung nach Kategorien
geom_vline(data=ddply(data,"Modell1", dplyr::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_Modell1,ncol=1,nrow=2,align = "v",axis = "lr",rel_heights=c(1,4))# Export des kombinierten Diagramms
ggsave("Abb.6-137.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=15,width=15.3,unit=c("cm"),dpi=1200)26.2 Kennwerte Modell 1
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Herkunft//Normabstand_SE_RB_mitMesswerten_bearb.csv")
# Berechnen von Mittelwert und Standardabweichung für den gesamten Datensatz
data %>% dplyr::summarise(m = mean(Normabst),sd=sd(Normabst)) m sd
1 1.360368 0.829398
# Berechnen von Mittelwert und Standardabweichung nach Kategorien
group_by(data, Modell1) %>% dplyr::summarise(m = mean(Normabst),sd=sd(Normabst))# A tibble: 5 × 3
Modell1 m sd
<chr> <dbl> <dbl>
1 Herkunft 1 1.17 0.545
2 Herkunft 2 2.69 0.183
3 Herkunft 3 3.56 0.212
4 Herkunft 4 4.20 0.0191
5 Herkunft 5 5.60 NA
# Anzahl der Gesamtbeobachtungen
data %>% dplyr::summarise(count=n()) count
1 268
# Anzahl der Beobachtungen pro Kategorie
data %>% group_by(Modell1) %>% dplyr::summarise(count=n())# A tibble: 5 × 2
Modell1 count
<chr> <int>
1 Herkunft 1 244
2 Herkunft 2 11
3 Herkunft 3 10
4 Herkunft 4 2
5 Herkunft 5 1
27 Abb. 6-138
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Herkunft//Normabstand_SE_RB_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("palegreen4","violetred","royalblue","tomato2","grey55","orange"))+ # 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_Zn_Sr<-ggplot(data, aes(x=Zn,y=Sr, 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("palegreen4","violetred","royalblue","tomato2","grey55","orange"))+
xlab("Zn 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"))
Modell1_SE_Y_V<-ggplot(data, aes(x=Y,y=V, 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("palegreen4","violetred","royalblue","tomato2","grey55","orange"))+
xlab("Y in ppm")+ylab("V 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_Zn_V<-ggplot(data, aes(x=Zn,y=V, 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("palegreen4","violetred","royalblue","tomato2","grey55","orange"))+
xlab("Zn in ppm")+ylab("V 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_Zn_Zr<-ggplot(data, aes(x=Zn,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("palegreen4","violetred","royalblue","tomato2","grey55","orange"))+
xlab("Zn 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_Cr_Zr<-ggplot(data, aes(x=Cr,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("palegreen4","violetred","royalblue","tomato2","grey55","orange"))+
xlab("Cr 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"))
# Kombination der Diagramme
ggarrange(Modell1_SE_Rb_Sr,Modell1_SE_Zn_Sr,Modell1_SE_Zn_V,Modell1_SE_Zn_Zr,Modell1_SE_Cr_Zr,Modell1_SE_Y_V,ncol=2,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")# Export des kombinierten Diagramms
ggsave("Abb.6-138.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=14,width=15.3,unit=c("cm"),dpi=1200)28 Erstellen von Modell 2
28.1 Modell 2a
Die Datei Normabstand_SE_BB_mitMesswerten_bearb wurde in Excel um die beschriebenen Veränderungen für Modell 2 erweitert:
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Herkunft//Normabstand_SE_RB_mitMesswerten_bearb.csv")
# Daten nach ausgewählter Spalte sortieren
data<-data[order(data$Modell2a),]
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("palegreen4","violetred","royalblue","tomato2","grey55","orange"))+ # 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_Zn_Sr<-ggplot(data, aes(x=Zn,y=Sr, 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("palegreen4","violetred","royalblue","tomato2","grey55","orange"))+
xlab("Zn 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"))
Modell2a_SE_Y_V<-ggplot(data, aes(x=Y,y=V, 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("palegreen4","violetred","royalblue","tomato2","grey55","orange"))+
xlab("Y in ppm")+ylab("V 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_Zn_V<-ggplot(data, aes(x=Zn,y=V, 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("palegreen4","violetred","royalblue","tomato2","grey55","orange"))+
xlab("Zn in ppm")+ylab("V 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_Zn_Zr<-ggplot(data, aes(x=Zn,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("palegreen4","violetred","royalblue","tomato2","grey55","orange"))+
xlab("Zn 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_Cr_Zr<-ggplot(data, aes(x=Cr,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("palegreen4","violetred","royalblue","tomato2","grey55","orange"))+
xlab("Cr 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"))
# Kombination der Diagramme
ggarrange(Modell2a_SE_Rb_Sr,Modell2a_SE_Zn_Sr,Modell2a_SE_Zn_V,Modell2a_SE_Zn_Zr,Modell2a_SE_Cr_Zr,Modell2a_SE_Y_V,ncol=2,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")29 Abb. 6-139
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Herkunft//Normabstand_SE_RB_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("palegreen4","violetred","grey55"))+ # 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_Zn_Sr<-ggplot(data, aes(x=Zn,y=Sr, 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("palegreen4","violetred","grey55"))+
xlab("Zn 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"))
Modell2_SE_Y_V<-ggplot(data, aes(x=Y,y=V, 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("palegreen4","violetred","grey55"))+
xlab("Y in ppm")+ylab("V 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_Zn_V<-ggplot(data, aes(x=Zn,y=V, 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("palegreen4","violetred","grey55"))+
xlab("Zn in ppm")+ylab("V 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_Zn_Zr<-ggplot(data, aes(x=Zn,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("palegreen4","violetred","grey55"))+
xlab("Zn 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_Cr_Zr<-ggplot(data, aes(x=Cr,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("palegreen4","violetred","grey55"))+
xlab("Cr 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"))
# Kombination der Diagramme
ggarrange(Modell2_SE_Rb_Sr,Modell2_SE_Zn_Sr,Modell2_SE_Zn_V,Modell2_SE_Zn_Zr,Modell2_SE_Cr_Zr,Modell2_SE_Y_V,ncol=2,nrow=3,align="hv",common.legend=TRUE)+theme(legend.position="bottom")# Export des kombinierten Diagramms
ggsave("Abb.6-139.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=14,width=15.3,unit=c("cm"),dpi=1200)30 Abb. 6-140
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage//Daten_RB_Ker_vollständigMW_chemGruppen_bearb.csv")
# Definieren der Darstellungsreihenfolge
data$ZierDetail<-factor(data$ZierDetail,levels=c("21.1/58.2","21.5/58.2/Leiste","58.1","58.2","58.3","58.4","58.5","58.6","58.1/2","58.1/3","58.1/4","58.1/Leiste","58.2/Leiste","58.2/Winkelband","58.2/3","58.2/3/Leiste","58.2/3/Wellenband","58.2/4","58.2/5","58.3/Leiste","58.4/5","58.5/Leiste","20.2","21.1","21.2","21.5","21.7","22.2","29.2","29.6","29.7","29.22","29.23","21.1/29.28","21.2/29.20","21.8/22.2","21.8/Fingerkniffe","21.9/29.23.1","29.2/6","29.6/7","29.23.1","29.23.2","Unverziert"))
data<-filter(data, ZierDetail != "Unverziert")
# Erstellen des Diagramms
ggplot(data)+ geom_bar(aes(fill=Kultur, x=ZierDetail),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=ZierDetail,label=..count..),stat='count',position=position_dodge(1),hjust=-0.5,size=2.75)+ # Manuelles Hinzufügen der Zahlenwerte als Text oberhalb der Balken
xlab("Zier")+ylab("Probenanzahl")+ # Manuelle Achsenbeschriftung
scale_y_continuous(breaks=seq(0,300,2),expand=c(0,0),limits=c(0,30))+# Manuelle Definition der Y-Achse
scale_x_discrete(limits=rev)+ # Inverse Darstellung der Y-Achse
coord_flip()+ # Invertieren der Achsen
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-140.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=23,width=12,unit=c("cm"),dpi=1200)31 Daten zusammenstellen
31.1 Frieberg-Bruchenbrücken
# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_vollständigMW_bearb.csv")
data2<-filter(data1, Messstelle== "frischer Bruch")
data3<-filter(data2, Kultur== "Huettenlehm")
data4<-data3[,c(1,3:23,27),]
# Spaltenweise Kombination von Dataframes und einfügen von Huettenlehm in Spalte Modell2 und 4 in alle 45 Zeilen
data5 <- cbind(data4, Modell4 = rep('Huettenlehm', 45), Modell2 = rep('Huettenlehm', 45))
# Daten einlesen und filtern
data6<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_Ton_Messwerte_chemGruppen_SE_bearb.csv")
data7<-rbind(data6,data5)
# Speichern als CSV
write.csv(data7,"../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_Ton_HL_Messwerte_chemGruppen.csv",row.names=FALSE)31.2 Rottenburg ‘Fröbelweg’
# Daten einlesen und filtern
data1<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen/Datengrundlage//Daten_RB_vollständigMW.csv")
data2<-filter(data1, Kultur== "Huettenlehm")
data3<-data2[,c(1,3:23,27),]
# Spaltenweise Kombination von Dataframes und einfügen von Huettenlehm in Spalte Modell2 in alle 30 Zeilen
data4 <- cbind(data3, Modell2 = rep('Huettenlehm', 30))
# Daten einlesen und filtern
data5<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen/Datengrundlage//Daten_RB_Ker_vollständigMW_chemGruppen_bearb.csv")
data6<-data5[,c(1:22,26,85),]
# Zeilenweise Kombination mehrerer Dataframes
data7<-rbind(data6,data4)
# Speichern als CSV
write.csv(data7,"../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage//Daten_RB_Ker_HL_Messwerte_chemGruppen.csv",row.names=FALSE)32 Abb.6-141
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Datengrundlage//Daten_BB_Ker_Ton_HL_Messwerte_chemGruppen.csv")
data2<-read.csv("../Daten//Kap_6//Kap_6.2//Grundlagen//Bodenproben//MinMaxMeanBP.csv")
# Definieren der Darstellungsreihenfolge
data$Modell4<-factor(data$Modell4,levels=c("Rezeptur 1","Rezeptur 2a","Rezeptur 2b","Rezeptur 3a","Rezeptur 3b","Rezeptur 4","Huettenlehm","BP 08","BP 09","BP 10"))
# Diagramm erstellen
Scatter_Rezeptur_Ton_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(5, 15, 6,0,17,19))+ # Manuelle Definition der Form der Symbole
scale_color_manual(name="Modell4",values=c("cyan4","grey","burlywood","brown","red","black","black","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_Rezeptur_Ton_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(5, 15, 6,0,17,19))+
scale_color_manual(name="Modell4",values=c("cyan4","grey","burlywood","brown","red","black","black","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_Rezeptur_Ton_Zn_Zr<-ggplot(data, aes(x=Zn,y=Zr, color=Modell4, shape=Kultur))+
geom_point(aes(shape=Kultur),size=2)+
scale_shape_manual(values=c(5, 15, 6,0,17,19))+
scale_color_manual(name="Modell4",values=c("cyan4","grey","burlywood","brown","red","black","black","black","black", "black"))+
xlab("Zn 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=Zn_Mittelwert,y=Zr_Mittelwert, shape=NULL,color=NULL,xmin = Zn_Min, xmax = Zn_Max,ymin=Zr_Min, ymax=Zr_Max),width =0.5,position = position_dodge(0.05))+
geom_errorbarh(data = data2, mapping = aes(x=Zn_Mittelwert,y=Zr_Mittelwert, shape=NULL,color=NULL,xmin = Zn_Min, xmax = Zn_Max,ymin=Zr_Min, ymax=Zr_Max),position = position_dodge(0.05),height=1)
Scatter_Rezeptur_Ton_CaO_Sr<-ggplot(data, aes(x=CaO,y=Sr, color=Modell4, shape=Kultur))+
geom_point(aes(shape=Kultur),size=2)+
scale_shape_manual(values=c(5, 15, 6,0,17,19))+
scale_color_manual(name="Modell4",values=c("cyan4","grey","burlywood","brown","red","black","black","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_Rezeptur_Ton_Rb_K2O<-ggplot(data, aes(x=Rb,y=K2O, color=Modell4, shape=Kultur))+
geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,0,17,19))+
scale_color_manual(name="Modell4",values=c("cyan4","grey","burlywood","brown","red","black","black","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_Rezeptur_Ton_Al2O3_SiO2<-ggplot(data, aes(x=Al2O3,y=SiO2, color=Modell4, shape=Kultur))+
geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,0,17,19))+
scale_color_manual(name="Modell4",values=c("cyan4","grey","burlywood","brown","red","black","black","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_Rezeptur_Ton_CaO_P2O5<-ggplot(data, aes(x=CaO,y=P2O5, color=Modell4, shape=Kultur))+
geom_point(aes(shape=Kultur),size=2)+
scale_shape_manual(values=c(5, 15, 6,0,17,19))+
scale_color_manual(name="Modell4",values=c("cyan4","grey","burlywood","brown","red","black","black","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_Rezeptur_Ton_CaO_Fe2O3<-ggplot(data, aes(x=CaO,y=Fe2O3, color=Modell4, shape=Kultur))+
geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,0,17,19))+
scale_color_manual(name="Modell4",values=c("cyan4","grey","burlywood","brown","red","black","black","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_Rezeptur_Ton_MnO_Fe2O3<-ggplot(data, aes(x=MnO,y=Fe2O3, color=Modell4, shape=Kultur))+
geom_point(aes(shape=Kultur),size=2)+
scale_shape_manual(values=c(5, 15, 6,0,17,19))+
scale_color_manual(name="Modell4",values=c("cyan4","grey","burlywood","brown","red","black","black","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_Rezeptur_Ton_TiO2_K2O<-ggplot(data, aes(x=TiO2,y=K2O, color=Modell4, shape=Kultur))+
geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,0,17,19))+
scale_color_manual(name="Modell4",values=c("cyan4","grey","burlywood","brown","red","black","black","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_Rezeptur_Ton_TiO2_Zr<-ggplot(data, aes(x=TiO2,y=Zr, color=Modell4, shape=Kultur))+
geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(5, 15, 6,0,17,19))+
scale_color_manual(name="Modell4",values=c("cyan4","grey","burlywood","brown","red","black","black","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_Rezeptur_Ton_Al2O3_SiO2,Scatter_Rezeptur_Ton_CaO_P2O5,Scatter_Rezeptur_Ton_CaO_Fe2O3,Scatter_Rezeptur_Ton_MnO_Fe2O3,Scatter_Rezeptur_Ton_TiO2_K2O,Scatter_Rezeptur_Ton_CaO_Sr,Scatter_Rezeptur_Ton_Rb_K2O,Scatter_Rezeptur_Ton_TiO2_Zr,Scatter_Rezeptur_Ton_Rb_Sr,Scatter_Rezeptur_Ton_Y_Zr,Scatter_Rezeptur_Ton_Zn_Zr,ncol=3,nrow=4,align = "hv",common.legend=TRUE)+theme(legend.position="bottom")# Export des kombinierten Diagramms
ggsave("Abb.6-141.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Herkunft//"),plot=last_plot(),device="eps",height=18,width=15.3,unit=c("cm"),dpi=1200)33 Abb.6-142
# Daten einlesen
data<-read.csv("../Daten//Kap_6//Kap_6.3//Grundlagen//Datengrundlage//Daten_RB_Ker_HL_Messwerte_chemGruppen_bearb.csv")
# Daten nach ausgewählter Spalte sortieren
data$Modell2<-factor(data$Modell2,levels=c("Rezeptur 1a","Rezeptur 1b","Rezeptur 1c","Rezeptur 2","Rezeptur 3","Rezeptur 4","Rezeptur 5","Rezeptur 6","Rezeptur 7","Huettenlehm"))
# Diagramme erstellen
Scatter_Rezeptur_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(0,17,19))+ # Manuelle Definition der Form der Symbole
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3","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
Scatter_Rezeptur_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(0,17,19))+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3","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"))
Scatter_Rezeptur_Ton_Zn_Zr<-ggplot(data, aes(x=Zn,y=Zr, color=Modell2, shape=Kultur))+
geom_point(aes(shape=Kultur),size=2)+scale_shape_manual(values=c(0,17,19))+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3","black"))+
xlab("Zn 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"))
Scatter_Rezeptur_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(0,17,19))+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3","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"))
Scatter_Rezeptur_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(0,17,19))+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3","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"))
Scatter_Rezeptur_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(0,17,19))+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3","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"))
Scatter_Rezeptur_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(0,17,19))+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3","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"))
Scatter_Rezeptur_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(0,17,19))+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3","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"))
Scatter_Rezeptur_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(0,17,19))+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3","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"))
Scatter_Rezeptur_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(0,17,19))+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3","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"))
Scatter_Rezeptur_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(0,17,19))+
scale_color_manual(name="Modell2",values=c("grey70","grey51","grey11","skyblue2","blue","darkred","orange","purple","wheat3","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"))
# Kombination der Diagramme
ggarrange(Scatter_Rezeptur_Ton_Al2O3_SiO2,Scatter_Rezeptur_Ton_CaO_P2O5,Scatter_Rezeptur_Ton_CaO_Fe2O3,Scatter_Rezeptur_Ton_MnO_Fe2O3,Scatter_Rezeptur_Ton_TiO2_K2O,Scatter_Rezeptur_Ton_CaO_Sr,Scatter_Rezeptur_Ton_Rb_K2O,Scatter_Rezeptur_Ton_TiO2_Zr,Scatter_Rezeptur_Ton_Rb_Sr,Scatter_Rezeptur_Ton_Y_Zr,Scatter_Rezeptur_Ton_Zn_Zr,ncol=3,nrow=4,align = "hv",common.legend=TRUE)+theme(legend.position="bottom")# Export des kombinierten Diagramms
ggsave("Abb.6-142.eps",path=("../Daten//Kap_6//Kap_6.3//Abbildungen//Grundlagen//"),plot=last_plot(),device="eps",height=18,width=15.3,unit=c("cm"),dpi=1200)