Jakob Richter

Statistik, R, Fotografie und Sonstiges

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 »

lapply() und sapply() – Der Einstieg in die apply-Funktionen.

Warum gerade lapply() und keine der gebräuchlicheren Funktionen apply Funktionen aus R? Ganz einfach: lapply() ist die Grundfunktion und die anderen Funktionen bauen auf dieser Funktionsweise auf. Da man lapply() nicht nur auf Vektoren, sondern auch auf Listen anwenden kann bietet es ungeahnte (vllt. auch unausdenkbare) Möglichkeiten der Verwendung. Aus diesem Grund ist das Beispiel auch äußerst praxisunrelevant.

Funktionsweise lapply()

Versuch eines Schemas: So ungefähr arbeitet lapply().


Weiterlesen »

Archiv

  • 2012 (28)