我有以下R dataframe mydata
session first last city
1 9cf571c8faa67cad2aa9ff41f3a26e38 cat+rat biddix fresno
2 e30f853d4e54604fd62858badb68113a caleb amos
3 2ad41134cc285bcc06892fd68a471cd7 daniel+joe folkers
4 2ad41134cc285bcc06892fd68a471cd7 daniel+joe folkers
5 63a5e839510a647c1ff3b8aed684c2a5 charles pierce flint
6 691df47f2df12f14f000f9a17d1cc40e j franz prescott+valley
7 691df47f2df12f14f000f9a17d1cc40e j franz prescott+valley
8 b3a1476aa37ae4b799495256324a8d3d carr%ie% mascorro brea
9 bd9f1404b313415e7e7b8769376d2705 fred morales las+vegas
10 b50a610292803dc302f24ae507ea853a aurora lee
11 fb74940e6feb0dc61a1b4d09fcbbcb37 andrew price yorkville
删除city为空的所有行的正确代码是什么?
答案 0 :(得分:7)
也许
subset(mydata,city!="")
?这假设city
列的存储方式使得空格为零长度字符串。如果它们可能是空白,那么就像
grep("^[[:space:]]*$",mydata$city,invert=TRUE)
会找到你想要的元素。由于grepl
没有invert
参数,您可以使用(编辑:感谢@ JoshO'Brien)
subset(mydata,!grepl("^[[:space:]]*$",city))
(没有给出可复制的例子,所以这些都没有经过测试。)
答案 1 :(得分:2)
或尝试:
mydata[which(mydata$city!=""),]
如果你想进行进一步的操作,可能会更灵活一些。