Jakob Richter

Statistik, R, Fotografie und Sonstiges

Tipp: nicht-destruktives Arbeiten mit par()

Ein kleiner Tipp, wenn man mal doch mit der in R eingebauten Grafikumgebung arbeiten will und nicht mit ggplot.
Hat man mal ein längeres R-Skript und erzeugt darin verschiedene Grafiken, kommt es häufig vor, dass man für einige bestimmte Einstellungen in par() ändern möchte. Insbesondere vermutlich mfrow=c(2,3) um mehrere Plots neben und untereinander in einer Grafik zusammenzufügen. Wenn dann die nächsten Grafiken wieder einzeln geplotted werden sollen, muss man wieder mühselig die Parameter von par() zurück setzen.
Am elegantesten geht es wohl so:

1
2
3
4
5
6
7
8
9
# ...
# irgendwelcher Code
op <- par(mfrow=c(1,2)) #Einstellen der Grafikparameter
  #2 Plots nebeneinander
  plot(runif(100),runif(100))
  plot(runif(100),runif(100))
par(op) #Alles auf den Zustand davor zurücksetzen
plot(runif(100),runif(100)) #1 Plot alleine
#...

Zeilen in einer Matrix verdoppeln.

Hier ein kleiner Tipp aus dem R-Praxisleben. Beispiel: In einer Matrix (respektive data.frame) jede Zeile verdoppeln.

1
2
3
4
5
6
daten < - mtcars 
 
#Doppelte Zeilen direkt untereinander
daten_doppelt <- daten[rep(1:nrow(daten),each=2),]
#Doppelte untereinander
daten_doppelt2 <- daten[rep(1:nrow(daten),times=2),]

Ja das ist wirklich nicht schwer. Die Grundidee: Die Selektionsvektoren, welche immer in den eckigen Klammern stehen, kann man natürlich auch nutzen um bestimmte Zeilen mehrfach zu wählen.

Damit es nicht nur bei diesem simplen Beispiel bleibt, was vielleicht jedem eingefallen wäre, noch ein paar Ideen, wie man mit dieser simplen Methode auch wesentlich komplexere Verdopplungen durchführen kann.
Weiterlesen »

Archiv

  • 2012 (28)