Mittelwert innerhalb von einer Spalte ermitteln
Mittelwert innerhalb von einer Spalte ermitteln
Liebe Kollegen,
ich brauche dringend eure Hilfe! Wie kann ich den Mittelwert innerhalb einer Spalte von jenen Werten ermitteln, welche die gleichen Werte in einer anderen Spalte aufweisen.
Um zu verdeutlichen was ich meine, anbei ein Bild. Ich brauche z.B. den Mittelwert von allen ir, bei welchen Bestand und BaumNR gleich sind (z.B. Bestand 1, BaumNr14).
[/img]
Vielen Dank!
Mfg Bernhard
ich brauche dringend eure Hilfe! Wie kann ich den Mittelwert innerhalb einer Spalte von jenen Werten ermitteln, welche die gleichen Werte in einer anderen Spalte aufweisen.
Um zu verdeutlichen was ich meine, anbei ein Bild. Ich brauche z.B. den Mittelwert von allen ir, bei welchen Bestand und BaumNR gleich sind (z.B. Bestand 1, BaumNr14).
[/img]
Vielen Dank!
Mfg Bernhard
Re: Mittelwert innerhalb von einer Spalte ermitteln
Hallo Bernhard,
Außerdem scheint mir (mit Blick auf das Bild), dass Bestand und BaumNR verschiedene Typen haben. Kannst Du deshalb bitte noch das Ergebnis von in Deine nächste Nachricht kopieren?
Schau Dir bitte Folgendes an und schreibe, ob es wunschgemäß ist:
Gruß, Jörg
aber in diesem Fall sind die Werte von Bestand und BaumNR nicht gleich, oder habe ich etwas verkehrt verstandenBerT hat geschrieben: ↑Fr Feb 01, 2019 11:29 pm ich brauche dringend eure Hilfe! Wie kann ich den Mittelwert innerhalb einer Spalte von jenen Werten ermitteln, welche die gleichen Werte in einer anderen Spalte aufweisen.
Um zu verdeutlichen was ich meine, anbei ein Bild. Ich brauche z.B. den Mittelwert von allen ir, bei welchen Bestand und BaumNR gleich sind (z.B. Bestand 1, BaumNr14).
Außerdem scheint mir (mit Blick auf das Bild), dass Bestand und BaumNR verschiedene Typen haben. Kannst Du deshalb bitte noch das Ergebnis von
Code: Alles auswählen
str(Jr)
Schau Dir bitte Folgendes an und schreibe, ob es wunschgemäß ist:
Code: Alles auswählen
set.seed(42)
Jr <- data.frame(ir=1:10, Bestand=rep(1:3, c(4,3,3)), BaumNR=sample(1:3, 10, repl=TRUE))
Jr
with(Jr, ir[Bestand==BaumNR])
with(Jr, mean(ir[Bestand==BaumNR]))
Re: Mittelwert innerhalb von einer Spalte ermitteln
Hallo Jogo,
vielen Dank für die Hilfe!
Also bei Struktur kommt folgendes:
Ich hab deinen Code probiert, funktioniert aber leider nicht.
Ich muss aber ehrlich gestehen ich weiß auch nicht ganz wie das funktionieren soll. Vielleicht kannst du die einzelnen Schritte davon ein wenig erklären, dann kann ich es vl selbst auch probieren auszubessern.
Damit du siehst was kommt wenn ich deinen Code verwende:
Vielen lieben Dank!
Mfg Bernhard
vielen Dank für die Hilfe!
Also bei Struktur kommt folgendes:
Ich hab deinen Code probiert, funktioniert aber leider nicht.
Ich muss aber ehrlich gestehen ich weiß auch nicht ganz wie das funktionieren soll. Vielleicht kannst du die einzelnen Schritte davon ein wenig erklären, dann kann ich es vl selbst auch probieren auszubessern.
Damit du siehst was kommt wenn ich deinen Code verwende:
Vielen lieben Dank!
Mfg Bernhard
Re: Mittelwert innerhalb von einer Spalte ermitteln
Nur um es nochmal zu beschreiben was ich genau will: Ich will das mit dieser Funktion dann für alle BaumNr. der gleichen Bestände einen Mittelwert. Nicht nur vom Baum Nr. 14, aber ich denke das ist eh klar oder?
Vielen Dank!
Vielen Dank!
Re: Mittelwert innerhalb von einer Spalte ermitteln
Nur, dass ich es auch ganz sicher verstanden habe:
Du möchtest für jeden Bestand (überall Bäume eines Bestandes) einen Mittelwert ausrechnen, richtig
Das ist nur eine Möglichkeit (mir fallen leicht noch weitere ein).
lesenswerte Lektüre: https://stackoverflow.com/questions/350 ... ply-family
Bitte verwende für Deinen Code nicht Bilder, sondern verwende die entsprechenden Formatierungen beim Schreiben der Nachricht!
(Schau mal in den Bereich FAQ!)
Gruß, Jörg
Du möchtest für jeden Bestand (überall Bäume eines Bestandes) einen Mittelwert ausrechnen, richtig
Code: Alles auswählen
tapply(Jr$ir, Jr$Bestand, FUN=mean)
lesenswerte Lektüre: https://stackoverflow.com/questions/350 ... ply-family
Bitte verwende für Deinen Code nicht Bilder, sondern verwende die entsprechenden Formatierungen beim Schreiben der Nachricht!
(Schau mal in den Bereich FAQ!)
Gruß, Jörg
Re: Mittelwert innerhalb von einer Spalte ermitteln
Wenn Du z.B. nach zwei verschiedenen Spalten gruppiert Mittelwerte von $ir ausrechnen möchtest:
oder
Mit data.table sieht es so aus:
Gruß, Jörg
Code: Alles auswählen
aggregate(ir ~ Bestand + BaumNr, data=Jr, FUN=mean)
Code: Alles auswählen
tapply(Jr$ir, list(Jr$Bestand, Jr$BaumNr), FUN=mean)
Code: Alles auswählen
library("data.table")
setDT(Jr)
Jr[, .(ir=mean(ir)), .(Bestand, BaumNr)]
Re: Mittelwert innerhalb von einer Spalte ermitteln
Herzlichen Dank!!!
Ich hab das vorerst mal geschafft was ich wollte!
Danke!!
Mfg Bernhard
Ich hab das vorerst mal geschafft was ich wollte!
Danke!!
Mfg Bernhard
Re: Mittelwert innerhalb von einer Spalte ermitteln
Hallo Bernhard,
kannst Du bitte zeigen, wie Deine Lösung jetzt aussieht? So können wir sehen, was Du wirklich wolltest.
Ein großes Problem - zumindest für mich - war, dass ich aus Deiner Beschreibung der Anforderung nicht schlau wurde.
Gruß, Jörg
kannst Du bitte zeigen, wie Deine Lösung jetzt aussieht? So können wir sehen, was Du wirklich wolltest.
Ein großes Problem - zumindest für mich - war, dass ich aus Deiner Beschreibung der Anforderung nicht schlau wurde.
Gruß, Jörg