Seite 1 von 1

Fehlerbalken in barplot()

Verfasst: Mo Jan 25, 2021 3:59 pm
von Karuna
Hallo Leute,

hätte da mal eine Frage, ich komme leider nicht weiter. Ich arbeite mit barplot() um meine Säulendiagramme zu erstellen. Das klappt auch gut. Für die Fehlerbalken arbeite ich mit arrows(). Da gibt es nur ein Problem: wenn ich die Funktion wie folgt eingebe, erscheint der Fehlerbalken von der ersten Säule an allen drei Säulen, bzw. nicht am richtigen Platz. Wie kann ich R sagen, dass es den ersten arrow nur am ersten plot und auch genau auf dem ersten Plot einfügen soll?

bplot <- barplot(c(mean(a),mean(b), mean(c)) ### barplot mit 3 Säulen

arrows(bplot, mean(a)+sd(a), bplot, mean(a) - sd(a), ### x=bplot -> Fehlerbalken von a an ALLEN Säulen
angle=90, code=3, length = 0.1)

arrows(mean(a), mean(a)+sd(a),mean(a), mean(a) - sd(a), #### x = mean(a) -> nur einen Fehlerbalken, aber leider nicht auf der ersten Säule
angle=90, code=3, length = 0.1) sondern irgendwo dazwischen....


Vielen lieben Dank schonmal im Voraus :) Bleibt gesund!!

Karuna

Re: Fehlerbalken in barplot()

Verfasst: Mo Jan 25, 2021 5:05 pm
von bigben
Hallo Karuna,

solche Fragen am besten immer mit einem reproduzierbaren Beispiel posten.

Ich glaube, das hier sollte passen:

Code: Alles auswählen

a <-  rnorm(20,5,2)
b <-  rnorm(20,7,3)

bplot <-  barplot(c(a = mean(a), b = mean(b)), ylim = c(0,12))
arrows(x0 = bplot[1], y0 = mean(a)-sd(a), y1=mean(a)+sd(a), 
       angle=90, code=3, length = 0.1)
arrows(x0 = bplot[2], y0 = mean(b)-sd(b), y1=mean(b)+sd(b),
       angle=90, code=3, length = 0.1)
LG,
Bernhard

Re: Fehlerbalken in barplot()

Verfasst: Mo Jan 25, 2021 5:39 pm
von Karuna
Ha!! Es funktioniert!!

Super toll, danke!