Как удалить строки из data.frame, содержащего символ в определенном столбце - PullRequest
1 голос
/ 08 декабря 2011

Я хотел бы удалить все строки из кадра данных с именем 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

1 Ответ

10 голосов
/ 08 декабря 2011

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

И все эти строки будут удалены.Не уверен, что это опечатка в вашем вопросе или нет, но вы говорите, что хотите «удалить строки в первом столбце», вы имеете в виду записи или всю строку?

...