我想从名为mydata
的数据框中删除所有行,其中名为first
的列包含“+”。 R中的正确命令是什么?
以下是我的数据框:
session first last city
1 9cf571c8faa67cad2aa9ff41f3a26e38 cat biddix fresno
2 e30f853d4e54604fd62858badb68113a caleb+joey amos
3 2ad41134cc285bcc06892fd68a471cd7 daniel folkers
4 2ad41134cc285bcc06892fd68a471cd7 daniel folkers
5 63a5e839510a647c1ff3b8aed684c2a5 charles pierce flint
6 691df47f2df12f14f000f9a17d1cc40e j+henry franz prescott+valley
7 691df47f2df12f14f000f9a17d1cc40e j+henry franz prescott+valley
8 b3a1476aa37ae4b799495256324a8d3d carrie mascorro brea
9 bd9f1404b313415e7e7b8769376d2705 fred morales las+vegas
10 b50a610292803dc302f24ae507ea853a aurora lee
11 fb74940e6feb0dc61a1b4d09fcbbcb37 andrew price yorkville
答案 0 :(得分:10)
的grep!
mydata <- read.table(textConnection("session first last city
9cf571c8faa67cad2aa9ff41f3a26e38 cat biddix fresno
e30f853d4e54604fd62858badb68113a caleb+joey amos blah
63a5e839510a647c1ff3b8aed684c2a5 me+you amos blah"), header=T, stringsAsFactors=FALSE)
grep("\\+",mydata$first)
返回
[1] 2 3
在第2栏告诉你,第2行和第3行中有一个“+”。
所以你可以跑:
mydata <- mydata[-grep("\\+",mydata$first),]
mydata
这些整行将被删除。不确定这是否是你问题中的拼写错误,但你说你想“删除第一列中的行”,你的意思是条目还是整行?