index

R Säulendiagramme

# Befinden, T-Werte (Interventions-, Kontrollgruppe, t=Messzeitpunkte)
b.t <- c(38, 27, 34, 37, 50, 55, 57, 54, 60)
b.w <- c(40, 38, 41, 40, 37, 32, 33, 35, 33)
t   <- c( 1,  2,  3,  7, 11, 15, 19, 50, 90)

# Einfach nur bunte Balken
barplot(b.t)
bar1

# Farbliche Festlegung eine Farbe
barplot(b.t, col='grey')
# colors() zeigt alle verfügbaren Farbnamen an (über 650)

bar2

# Fülleffekte
# werden erreicht durch shading lines die eine Dichte und eine Richtung haben
# werden solange aneinandergehängt bis die Anzahl der Säulen erreicht ist
barplot(b.t, col='white', density=c(2,8),angle=c(45,180))

fuellung
# Farben der Säulen explizit einzeln festlegen
barplot(c(50,70,100,80,60),col=c('white','green','red','green','white'))


# Farbliche Festlegung, die ersten drei schwarz, dann grau
barplot(b.t, col=c(rep('black',3), rep('grey',6)))
bar3

# Bars beschriften dd <- c(100,110,90,105,95) barplot(dd,names.arg=c('normal','viel','nichts','gut','wenig'))
bar4

# Y-Achse in auf bestimmte Ausmaße festlegen
#   xpd=F verhindert, dass über die Achse hinausgezeichnet wird
dd <- c(100,110,90,105,95)
barplot(dd, ylim = c(80,120),xpd=FALSE)
bar6

# Streuungsinformationen hinzufügen zu Barplots z. B. ein T-Test
# Prinzip: Pfeile hinzufügen mit 90-Grad Spitze
mw <- c(100,110)
se <- c(5,7)
xx <- barplot(mw, 
  ylim=c(80,120),              # y-Achsenausdehnung festlegen
  xpd=F,                       # Grafik darf nicht über Achsen weggehen
  col='grey',                  # Farbe festlegen
  names.arg=c('vor','nach'),   # Säulen beschriften
  main='Trainingseffekt',      # Titel hinzufügen
  xlab='Messzeitpunkt',        # x-Achsen Label
  ylab='IQ-Punkte 100±10'      # y-Achsen Label
)
# in xx werden die x-Koordinaten gespeichert
# xpd=F verhindert, daß Säulen unter die x-Achse 'sinken'
arrows(xx[1],mw[1],xx[1],mw[1] + se[1], angle=90)
arrows(xx[1],mw[1],xx[1],mw[1] - se[1], angle=90)
arrows(xx[2],mw[2],xx[2],mw[2] + se[2], angle=90)
arrows(xx[2],mw[2],xx[2],mw[2] - se[2], angle=90)

bar.jpg
# Um den Umgang zu erleichtern als Funktion
t.bild <- function(mw, se, main='', col=c('white','white'), ylab='', xlab='', names=c('','')){
  xx <- barplot(mw,
    max.y <- round((max(mw) + max(se)) * 1.10),
    ylim=c(0,max.y),             # y-Achsenausdehnung festlegen
    xpd=F,                       # Grafik darf nicht über Achsen weggehen
    col=col,                     # Farbe festlegen
    names.arg=names,             # Säulen beschriften
    main=main,                   # Titel hinzufügen
    xlab=xlab,                   # x-Achsen Label
    ylab=ylab                    # y-Achsen Label
  )
  arrows(xx[1],mw[1],xx[1],mw[1] + se[1], angle=90)
  arrows(xx[1],mw[1],xx[1],mw[1] - se[1], angle=90)
  arrows(xx[2],mw[2],xx[2],mw[2] + se[2], angle=90)
  arrows(xx[2],mw[2],xx[2],mw[2] - se[2], angle=90)
}
# und aufrufen
t.bild(c(20,25), c(3,4))
t.bild(c(20,25), c(3,4), col=c('grey', 'blue'), main='Zweite Studie', xlab='Spass haben bringts', ylab='Prozentualer Anteil', names=c('vor','nach'))
function.jpg