Um eine oder mehrere Spalten nach Namen zu entfernen, wenn die Spaltennamen bekannt sind (anstatt zur Laufzeit festgelegt zu werden), gefällt mir die subset()
Syntax. ZB für den Datenrahmen
df <- data.frame(a=1:3, d=2:4, c=3:5, b=4:6)
um nur die a
Spalte zu entfernen, die Sie tun könnten
Data <- subset( Data, select = -a )
und zu entfernen b
und d
Spalten , könnten Sie tun
Data <- subset( Data, select = -c(d, b ) )
Sie können alle Spalten zwischen entfernen d
und b
mit :
Data <- subset( Data, select = -c( d : b )
Wie oben erwähnt, funktioniert diese Syntax nur, wenn die Spaltennamen bekannt sind. Es funktioniert nicht, wenn beispielsweise die Spaltennamen programmgesteuert bestimmt werden (dh einer Variablen zugewiesen werden). Ich werde diese Warnung aus der ?subset
Dokumentation reproduzieren :
Warnung:
Dies ist eine Komfortfunktion, die für die interaktive Verwendung vorgesehen ist. Für die Programmierung ist es besser, die Standard-Teilmengenfunktionen wie '[' zu verwenden, und insbesondere die nicht standardmäßige Bewertung des Arguments 'Teilmenge' kann unerwartete Konsequenzen haben.