Crossplot

Allgemeine Statistik mit R, die Test-Methode ist noch nicht bekannt, ich habe noch keinen Plan!

Moderatoren: EDi, jogo

retep
Beiträge: 99
Registriert: Do Sep 06, 2018 7:50 pm

Re: Crossplot

Beitrag von retep »

Hallo Bernhard,

sorry für das Synonym "Crossplot" in der Tat komme ich aus dem Gebiet der Geologie und Umweltwissenschaften.

Aber es tut mir leid wenn ich dich nochmals um Hilfe bitten muss. Aber bei dem Versuch dein Lösungsvorschlag nach zu bauen, trete ich von einem Fettnäpfchen ins andere. Hier ist die größere Originaldatei im Anhang: Diese "schneide" ich mir mittels dplyr zurecht

Code: Alles auswählen

Mn <-UBTZ%>%
  #select(Profil, Probennummer, Mineral, Loesungsrueckstand, Pb, Cu, Zn, Mn, Al) %>%
  select(Profil, Probennummer, Mineral, Mn)%>%
  filter(Mineral%in% c("Halit", "Sylvin"), Profil == "Profil 1") %>%
  group_by(Mineral)%>%
  arrange(Mineral);Mn 
 

Diese Datei "Mn" ist im Anhang. Es gibt 10 Profile! Jetzt versteht man vielleicht warum ich erstmal an Profil 1 testen will.
Danach erzeuge ich die Spalten für Halit und Sylvin, nach deiner Vorlage:

Code: Alles auswählen

Mn1 <-reshape(data = Mn, idvar = "Probennummer", v.names="Mn", timevar = "Mineral", 
              direction = "wide");Mn1
Bei dem Versuch bekomme ich diese Fehlermeldung:

Code: Alles auswählen

Warning message:
Factor `Mineral` contains implicit NA, consider using `forcats::fct_explicit_na` 
# A tibble: 10 x 3
   Profil   Probennummer `Mn.1:2`
   <fct>           <dbl>    <dbl>
 1 Profil 1            1       NA
 2 Profil 1            2       NA
 3 Profil 1            3       NA
 4 Profil 1            4       NA
 5 Profil 1            5       NA
 6 Profil 1            6       NA
 7 Profil 1            7       NA
 8 Profil 1            8       NA
 9 Profil 1            9       NA
10 Profil 1           10       NA
Um diesen Fehler zu korrigieren benutze ich:
[/code]
library(tidyverse)
Mn$Mineral <- fct_explicit_na(Mn$Mineral, na_level = "(Missing)"); Mn
[/code]

Das Resultat ist:

[/code]
A tibble: 17 x 4
# Groups: Mineral [2]
Profil Probennummer Mineral Mn
<fct> <dbl> <fct> <dbl>
1 Profil 1 1 Halit 0.64
2 Profil 1 2 Halit 1.9
3 Profil 1 3 Halit 0.5
4 Profil 1 4 Halit 0.8
5 Profil 1 5 Halit 1.3
6 Profil 1 6 Halit 1.2
7 Profil 1 7 Halit 1.2
8 Profil 1 8 Halit 2
9 Profil 1 9 Halit 1.2
10 Profil 1 10 Halit 1.7
11 Profil 1 2 Sylvin 0.2
12 Profil 1 4 Sylvin 0.18
13 Profil 1 5 Sylvin 0.35
14 Profil 1 7 Sylvin 0.22
15 Profil 1 8 Sylvin 0.12
16 Profil 1 9 Sylvin 0.08
17 Profil 1 10 Sylvin 0.48
[/code]

Der o.g. Fehler; Factor `Mineral` contains implicit NA, consider using `forcats::fct_explicit_na` bleibt bestehen!

Wie man sieht, rein äußerlich ist die Datei immer noch dieselbe! Darf ich dich nochmals um Hilfe bitten? Warum funktioniert es mit dem Re-import meiner eigenen (Text) Datei? Aber wenn ich dieselbe Datei mittels dplyr nochmals erzeuge bekomme ich die o.g. Fehler!

Der Vergleich beider Dateien mit dem str Befehl zeigt absolut identische Dateieigenschaften. Darf ich dich nochmals um Hilfe bitten? Nochmals vielen Dank für Eure Geduld & Mühe!

LG

retep

PS: Der Scatter -oder Crossplot soll mir sagen ob in allen Profilen eine Korrelation zwischen den eingebauten Spurenelementen (e.g. Mangan) zwischen den Mineralen Halit und Sylvin gibt oder nicht. Beides sind im Übrigen Salzminerale. Ganz normales Steinsalz bzw. ! Wer mehr wissen will, den verweise ich auf die Wkipedia - Artikel. Wie meine beiden Vorposter es schon getan haben.
Dateianhänge
Mn.txt
(572 Bytes) 36-mal heruntergeladen
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Crossplot

Beitrag von Athomas »

Jetzt versteht man vielleicht warum ich erstmal an Profil 1 testen will.
Nein, wenn ich Dich richtig verstehe, geht das alles in einem Abwasch!
Das könnte man schnell zeigen, wenn die Daten (komplett) da wären...

Segelst Du ausschließlich unter der Flagge des "tidyverse" :lol: - oder sind auch tidyversophobe Vorschläge willkommen?
retep
Beiträge: 99
Registriert: Do Sep 06, 2018 7:50 pm

Re: Crossplot

Beitrag von retep »

Hallo Athomas,

vielen Dank für deine schnelle Rückmeldung! Natürlich sind auch andere Lösungsvorschläge willkommen ich muss nicht alles in tidyverse machen ;)
Im Anhang die komplette (Text) Datei!

Nochmals Danke für die Mühe & die Zeit,

LG retep
Dateianhänge
Df_Salz.txt
(8.47 KiB) 43-mal heruntergeladen
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Crossplot

Beitrag von Athomas »

Und welche Bedeutung hat der "Lösungsrückstand"?
retep
Beiträge: 99
Registriert: Do Sep 06, 2018 7:50 pm

Re: Crossplot

Beitrag von retep »

Die Proben wurden komplett aufgelöst und der Rückstand gefiltert. Sorry, kann man vllt. abkürzen mit "LR". Hast Recht, ist natürlich Blödsinn solch ein Wortungetüm als Variablenname zu nehmen.

Nochmals Danke!
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Crossplot

Beitrag von Athomas »

Ich meine inhaltlich, für die Auswertung!

Ich bin durchaus ein Fan der Verwendung von "Wortungetümen"!
retep
Beiträge: 99
Registriert: Do Sep 06, 2018 7:50 pm

Re: Crossplot

Beitrag von retep »

Nochmals vielen Dank für deine Untersützung

:-)
Athomas
Beiträge: 768
Registriert: Mo Feb 26, 2018 8:19 pm

Re: Crossplot

Beitrag von Athomas »

Und welche Bedeutung hat der "Lösungsrückstand"?
Ich meine inhaltlich, für die Auswertung!
Ein wenig seltsam ist es schon, dass Du diese einfache Frage nicht beantwortest!?
Ich gehe mal davon aus, das "Lösungsrückstand" für die Grafiken nicht relevant ist.

Damit sollte

Code: Alles auswählen

library(data.table)

# Damit das klappt, habe ich für die (überschriftslose) Zeilennummer "lnr" am Anfang des Headers hinzugefügt

Salze          <- fread("P:/R/R Forum/Salze/Df_Salz_Zeilennummer.txt")[ , !"lnr"]               # lnr bringt nix, kann weg!
Salze.halblang <- melt(Salze, id=c("Profil", "Probennummer", "Mineral", "Loesungsrueckstand"), variable="Spurenelement", value="Messwert")
GF             <- dcast(Salze.halblang, Profil + Probennummer + Spurenelement ~ Mineral, value.var="Messwert", fun=mean)
GF.1           <- GF[!is.na(Halit) & !is.na(Sylvin)]

library(ggplot2)

Grafik <- ggplot(GF.1) + 
            theme_bw() +
            geom_point (aes(Halit, Sylvin, color=Spurenelement)) +
            facet_grid(Profil ~ Spurenelement)
Grafik
Dich eigentlich weiterbringen!
Scatterplot.jpeg
Dateianhänge
Df_Salz_Zeilennummer.txt
(8.47 KiB) 36-mal heruntergeladen
retep
Beiträge: 99
Registriert: Do Sep 06, 2018 7:50 pm

Re: Crossplot

Beitrag von retep »

Hallo Athomas,

hab großen Dank für die Mühe, welche du dir gemacht hast. Zu deinem vorherigen Post, dass ich die Frage nicht über den "Lösungsrückstand" beantwortet habe. So habe ich angenommen die Frage beantwortet zu haben. So hatte ich vorher geschrieben, dass das Gestein komplett in Wasser gelöst und gefiltert wird. Ist ja Salz - also wasserlöslich. Dieser Lösungsrückstand ist hier gemeint. Relevant ist dieser schon :-)

Zu deiner Lösung des Problems. Das sieht super aus! Ich denke das ist die Lösung! Ich habe gestern Abend mit dem Vorschlag von BigBen weiter gemacht und vorerst den Plot im Anhang als Lösung angedacht. Wie ich schon gestern betont habe, versuche ich den Lösungsvorschlag von BigBen nach zu bauen, tauchen die erwähnten Fehlermeldungen und Schwierigkeiten auf. Ich weiß, dass es für Außenstehende sehr schwer ist Fehlermeldungen nachzuvollziehen. Trotzdem wundere ich mich dass die gleiche Datei bei BigBen funktioniert und mein Nachbau nicht.

Nochmals vielen Dank und ich melde mich in jedem Fall ob der Nachbau deiner Lösung hoffentlich funktioniert.

LG

retep
Dateianhänge
Profil_1Cross_Dist_Mn.png
retep
Beiträge: 99
Registriert: Do Sep 06, 2018 7:50 pm

Re: Crossplot

Beitrag von retep »

Hallo Athomas und BigBen,

der Nachbau hat perfekt funktioniert. Siehe Anhang! Ich gehe heute Abend nochmals einzeln über die Code Sequenz. Denn mit z.Bsp. mit data.table , fread und dcast habe ich keine Erfahrung. Auch ist mir nicht ganz klar was die letzte Zeile

Code: Alles auswählen

GF.1           <- GF[!is.na(Halit) & !is.na(Sylvin)]
bedeutet. Hauptsache es funktioniert für meine Zwecke perfekt.

Nochmals vielen Dank für Eure Hilfe und Geduld

LG

retep
Dateianhänge
Cross_El_El_Profil_1_5.png
Antworten