ich man einen Datenrahmen wie diese habe:in R Mit grep Zeilen aus einer data.frame löschen
d <- data.frame(cbind(x=1, y=1:10, z=c("apple","pear","banana","A","B","C","D","E","F","G")), stringsAsFactors = FALSE)
Ich mag einige Zeilen aus diesem Datenrahmen löschen, auf dem Inhalt der Spalte z je :
new_d <- d[-grep("D",d$z),]
Das funktioniert gut; Zeile 7 ist nun gelöscht:
new_d
x y z
1 1 1 apple
2 1 2 pear
3 1 3 banana
4 1 4 A
5 1 5 B
6 1 6 C
8 1 8 E
9 1 9 F
10 1 10 G
Allerdings, wenn ich grep nach Inhalten suchen verwenden, die nicht in Spalte z, so scheint es, alle Inhalte des Datenrahmen zu löschen:
new_d <- d[-grep("K",d$z),]
new_d
[1] x y z
<0 rows> (or 0-length row.names)
würde ich Ich mag es, Zeilen auf diese oder andere Weise zu suchen und zu löschen, auch wenn die Zeichenkette, nach der ich suche, nicht vorhanden ist. Wie geht das?