2017-10-12 1 views
-9

문제가 발생했습니다. 행을 비우고 싶습니다. 특정 단어가 시작되면 아래의 예에서 시작하는 항목을 비 웁니다. "오류"특정 단어로 시작하는 경우 데이터 프레임에서 전체 행을 제거합니다. R

입력과 :

TESTNumber 
errorCode404errorMessage 
TESTNumber 
TESTNumber 
TESTNumber 
TESTNumber 
TESTNumber 
TESTNumber 
TESTNumber 
TESTNumber 
TESTNumber 
TESTNumber 
TESTNumber 
TESTNumber 
TESTNumber 
TESTNumber 
TESTNumber 
TESTNumber 
errorCode404errorMessage 
errorCode404errorMessage 
errorCode404errorMessage 

이 방향의 모든 지침은 큰 지원이 될 것입니다.

+1

무엇을 시도했는데 실패 했습니까? 이것은 아마도 중복입니다. – tripleee

+0

[this] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)을 읽고 추가 정보를 작성한 후 질문을 수정하십시오. 삼중 쌍이 말했듯이, 이것은 처음부터 중복되는 것처럼 보입니다. 그래서 당신은 아마도 당신의 대답을 검색하는 것으로 시작해야합니다. 질문의 측면에있는 관련 링크는 시작할 수있는 좋은 곳입니다. – shea

+0

'grepl()'을 실행하여 조건이 일치하는 인덱스를 얻은 다음 인덱스를 제거하십시오. – TUSHAr

답변

1

빠른 데이터 :

df <- data.frame("var1" = 1:2, "var2" = c("testest", "errorTtest")) 

> df 
    var1  var2 
1 1 testest 
2 2 errorTtest 

이제 var2의 시작 부분에 error 모든 행의 위치를 ​​얻을 수있는 패턴 "^error.*"으로 grepl()를 사용하는 데이터에서 삭제하는 -which를 사용합니다.

> df[-(which(grepl("^error.*", df$var2))),] 
    var1 var2 
1 1 testest 
+1

'df [! grepl ("^ error", df $ var2),]' – jogo

관련 문제