我有一个数据帧这如一个删除行:R中使用grep从data.frame
d <- data.frame(cbind(x=1, y=1:10, z=c("apple","pear","banana","A","B","C","D","E","F","G")), stringsAsFactors = FALSE)
我想从这个数据框中删除某些行,这取决于列z的内容:
new_d <- d[-grep("D",d$z),]
这工作正常;第7行现在删除:
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
然而,当我使用grep搜索是不存在的列ž内容,似乎要删除的数据帧的所有内容:
new_d <- d[-grep("K",d$z),]
new_d
[1] x y z
<0 rows> (or 0-length row.names)
我会喜欢以这种或其他方式搜索和删除行,即使我正在搜索的字符串不存在。如何去做这件事?