Mittelwerte in verschachtelter Tabelle berechnen

Alles zum Thema der beschreibenden Statistik

Moderator: jogo

PhilippS
Beiträge: 15
Registriert: Fr Jan 17, 2020 8:51 am

Mittelwerte in verschachtelter Tabelle berechnen

Beitrag von PhilippS »

Guten Morgen,
nach langer Zeit muss ich mich wieder mit "R" beschäftigen und bin auf folgendes Problem gestoßen.

Ich will von mehreren Werten bei Temperatur sowie CCI (bei der Tabelle handelt es sich nur um einen Auszug) die Mittelwerte der 3 Messungen für jedes Blatt berechnen um diese anschließend solo in einer Tabelle darzustellen. Ziel ist die grafische Aufarbeitung sowie Vergleiche mit der hier nicht gezeigten Kontrolle.

Ich habe etwas recherchiert und denke, das mir die Funktion "aggregate()" helfen würde, allerdings habe ich den Fehler gemacht, dass die Funktion die Mittelwerte aller ersten, zweiten und dritten Messungen angefertigt hat, und nicht wie ich es brauche die Mittelwerte je Blatt.


Ich hoffe mir kann auf diesem Wege geholfen werden.

Hier ein Auszug um mein Problem vielleicht besser darstellen zu können
(entfernt)
Zuletzt geändert von PhilippS am Mi Jan 22, 2020 1:28 pm, insgesamt 2-mal geändert.
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Mittelwerte in verschachtelter Tabelle berechnen

Beitrag von jogo »

Hallo Philipp,

willkommen im Forum!

Code: Alles auswählen

D <- read.csv2("http://forum.r-statistik.de/download/file.php?id=835")
aggregate(Temperatur ~ Genotyp + Behandlung + biolog..Wdh. + Blatt, data=D, FUN=mean)
Gruß, Jörg
PhilippS
Beiträge: 15
Registriert: Fr Jan 17, 2020 8:51 am

Re: Mittelwerte in verschachtelter Tabelle berechnen

Beitrag von PhilippS »

Das hat ganz gut funktioniert, vielen Dank.
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Mittelwerte in verschachtelter Tabelle berechnen

Beitrag von jogo »

ok, dann gefällt Dir vielleicht auch dies:

Code: Alles auswählen

D <- read.csv2("http://forum.r-statistik.de/download/file.php?id=835")
aggregate(cbind(CCI, Temperatur) ~ Genotyp + Behandlung + biolog..Wdh. + Blatt, data=D, FUN=mean)
Gruß, Jörg
PhilippS
Beiträge: 15
Registriert: Fr Jan 17, 2020 8:51 am

Re: Mittelwerte in verschachtelter Tabelle berechnen

Beitrag von PhilippS »

Vielleicht kann mir nochmal jemand kurz helfen, auch wenn es nicht ganz in den Reiter "Beschreibende Statistik" gehört.

Das oben genannte Dokument habe ich mehrmals, unter anderem noch als Kontrolle (die Datei sieht optisch genauso aus, es gibt auch gleich viele Messungen je Blatt, Pflanze etc., daher spare ich mir mal sie hochzuladen).

Mein Ziel ist es jetzt, in zwei Boxplotts nebeneinander abzutragen, wie Genotyp "Lip" im Stress und in der Kontrolle für die jeweilige Messung abgeschnitten hat. Die Daten dafür stehen in 2 unterschiedlichen Tabellen und Dokumenten, und es stehen noch weitere Genotypen in der Tabelle. Wie kann ich mir also ein Boxplott für einen bestimmten Genotyp anzeigen lassen, um es mit der dazu gehörigen Kontrolle zu vergleichen.

Mit der Funktion "boxplott", die mir bis jetzt geläufig ist, ist mir das jetzt nicht gelungen und gefunden habe ich auch keinen vergleichbaren Fall auf die Schnelle.
Die Amateurlösung, die mir noch einfallen würde, wäre eine Tabelle anzulegen, in der sich dann alle Stressformen und Kontrollen befinden, und diese dann "normal" abzubilden, nicht gerade die eleganteste Lösung und bei vielen Sorten sehr zeitintensiv.

Zur weiteren statistischen Auswertung müsste ich ja auch die Kontroll- bzw. Stressformen aus verschiedenen Tabellen vergleichen.

Ich danke für jede Hilfe und hoffe es ist verständlich beschrieben.
PhilippS
Beiträge: 15
Registriert: Fr Jan 17, 2020 8:51 am

Re: Mittelwerte in verschachtelter Tabelle berechnen

Beitrag von PhilippS »

jogo hat geschrieben: Fr Jan 17, 2020 12:48 pm ok, dann gefällt Dir vielleicht auch dies:

Code: Alles auswählen

D <- read.csv2("http://forum.r-statistik.de/download/file.php?id=835")
aggregate(cbind(CCI, Temperatur) ~ Genotyp + Behandlung + biolog..Wdh. + Blatt, data=D, FUN=mean)
Gruß, Jörg
cbind() ist dann so eine Art "und-Funktion" wenn ich das jetzt richtig deute in der Tabelle?
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Mittelwerte in verschachtelter Tabelle berechnen

Beitrag von jogo »

PhilippS hat geschrieben: Fr Jan 17, 2020 1:04 pm Mein Ziel ist es jetzt, in zwei Boxplotts nebeneinander abzutragen, wie Genotyp "Lip" im Stress und in der Kontrolle für die jeweilige Messung abgeschnitten hat. Die Daten dafür stehen in 2 unterschiedlichen Tabellen und Dokumenten, und es stehen noch weitere Genotypen in der Tabelle. Wie kann ich mir also ein Boxplott für einen bestimmten Genotyp anzeigen lassen, um es mit der dazu gehörigen Kontrolle zu vergleichen.
Wichtig ist es, alle Daten in einem Dataframe zu haben.
Manchmal muss man die Daten nochmal umformatieren, z.B. von "wide" to "long"
https://stackoverflow.com/questions/218 ... ong-format

boxplot() kennt auch eine schöne Input-Variante mit Formel-Interface, siehe:

Code: Alles auswählen

boxplot(Sepal.Length ~ Species, data=iris)
Gruß, Jörg
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Mittelwerte in verschachtelter Tabelle berechnen

Beitrag von jogo »

PhilippS hat geschrieben: Fr Jan 17, 2020 1:08 pm cbind() ist dann so eine Art "und-Funktion" wenn ich das jetzt richtig deute in der Tabelle?
siehe

Code: Alles auswählen

?cbind ## oder
help("cbind") ## und
example(cbind)
Gruß, Jörg
PhilippS
Beiträge: 15
Registriert: Fr Jan 17, 2020 8:51 am

Re: Mittelwerte in verschachtelter Tabelle berechnen

Beitrag von PhilippS »

danke Jörg,

gibt es dann in R die Möglichkeit, 2 Dataframes zusammenzuführen, die Spalten sind in meinem Fall ja bereits gleich bezeichnet?

Gruß Philipp
jogo
Beiträge: 2086
Registriert: Fr Okt 07, 2016 8:25 am

Re: Mittelwerte in verschachtelter Tabelle berechnen

Beitrag von jogo »

Hallo Philipp,

ja, das geht. Bitte zeige uns von beiden Dataframes den output von:

Code: Alles auswählen

str(jeweiligerDataframe)
(eventuell müssen Faktoren vorher in character umgewandelt werden)
Den output bitte per copy-paste in Deine nächste Nachricht einfügen,
Formatierung entsprechend viewtopic.php?f=20&t=29

Gruß, Jörg
Antworten