Hallo zusammen,
ich habe folgende Matrix:
Betrachten wir nur die erste Zeile:
Ich möchte ein Histogramm erstellen, welches mir auf der x-Achse die Werte 1 - 5 anzeigt und auf der y-Achse die Häufigkeit 117, 107,67,68,65.
Gibt es einen Trick, sodass das mit dem hist() Befehl klappt?
Viele Grüße
A346
Histogramm aus Matrix erstellen
Re: Histogramm aus Matrix erstellen
Hallo A346,
hier ein erster Ansatz:
Gruß, Jörg
hier ein erster Ansatz:
Code: Alles auswählen
x <- matrix(rep(c(117, 107,67,68,65), 3), 3, byrow=TRUE)
barplot(x[1,], names.arg = 1:5)
Re: Histogramm aus Matrix erstellen
Hallo A346,
man muss unterscheiden zwischen einem Balkendiagramm und einem Histogramm. Die Chancen stehen hoch, dass Du gar kein Histogramm haben willst und deshalb ist hist auch nicht die richtige Funktion. Zwei Möglichkeiten für Balkendiagramme könnten so aussehen:
LG,
Bernhard
man muss unterscheiden zwischen einem Balkendiagramm und einem Histogramm. Die Chancen stehen hoch, dass Du gar kein Histogramm haben willst und deshalb ist hist auch nicht die richtige Funktion. Zwei Möglichkeiten für Balkendiagramme könnten so aussehen:
Code: Alles auswählen
m <- matrix(c(117, 107,67,68,65, 1:5, 6:10), nrow = 3, byrow = TRUE)
barplot(m[1,])
plot(m[1,], type = "h")
Bernhard
---
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Programmiere stets so, dass die Maxime Deines Programmierstils Grundlage allgemeiner Gesetzgebung sein könnte
Re: Histogramm aus Matrix erstellen
Hallo Bernhard,
danke für deine schnelle Antwort!
die Darstellung geht somit auf jeden Fall einfacher!
Der Mittelwert wäre (117*1 + 107 * 2 + 67*3 + 68*4 +65*5) / (117+107+67+68+65) = 1129/424 = 2,66
Gibt es hier dann einen effizienten Befehl, um Mittelwert und Standardabweichung zu bestimmen?
Viele Grüße
A346
danke für deine schnelle Antwort!
die Darstellung geht somit auf jeden Fall einfacher!
Der Mittelwert wäre (117*1 + 107 * 2 + 67*3 + 68*4 +65*5) / (117+107+67+68+65) = 1129/424 = 2,66
Gibt es hier dann einen effizienten Befehl, um Mittelwert und Standardabweichung zu bestimmen?
Viele Grüße
A346
Re: Histogramm aus Matrix erstellen
Hallo A346,
ich weiß noch nicht, was Du mit der Standardabweichung meinst.
Wenn c(117, 107, 67, 68, 65) die Häufigkeiten sind für die Werte 1:5,
dann eventuell:
Ansonsten habe ich für Deinen speziellen Fall sowas geschrieben:
Gruß, Jörg
Code: Alles auswählen
weighted.mean(x=1:5, w=c(117, 107, 67, 68, 65))
Wenn c(117, 107, 67, 68, 65) die Häufigkeiten sind für die Werte 1:5,
dann eventuell:
Code: Alles auswählen
sd(rep(1:5, c(117, 107, 67, 68, 65)))
Code: Alles auswählen
weighted.sd <- function(x, w) {
m <- weighted.mean(x, w)
sqrt(sum((x - m)^2 * w) / (sum(w)-1))
}