본문 바로가기

R

R 데이터프레임(DF) grep & gsub

이번에는 grep함수와 gsub함수 기능에 대해서 알아보자

grep은 해당 조건에 대한 검색으로 데이터프레임에서 like 검색 시 사용할 수 있으며

gsub은 문자열 치환 replace기능과 같다.


우선 샘플 데이터프레임을 생성하자

model.df <- data.frame(
  VALUE1   = c('test+A','real+A','test+B','real+B'),
  VALUE2   = c(11500,11500,11500,11500)
)


생성한 데이터를 확인해보면 아래와 같다.

  VALUE1 VALUE2
1 test+A  11500
2 real+A  11500
3 test+B  11500
4 real+B  11500

grep사용방법(더 알고 싶다면 여기)

이 데이터에서 VALUE1컬럼에서 test 문자열이 포함된 데이터 열만 얻어와 보자.

lm.df.grep <- model.df[grep("test", model.df$VALUE1),]


grep함수를 이용하여 test문자열이 포함된 열만 정상적으로 데이터를 가져왔다.

  VALUE1 VALUE2
1 test+A  11500
3 test+B  11500


gsub사용방법(더 알고 싶다면 여기)

이 데이터에서 VALUE1컬럼에서 test 문자열을 제거해보자.

model.df$VALUE1 <- gsub('test','', model.df$VALUE1)


gsub함수를 이용하여 test문자열이 공백으로 변경되었다.

  VALUE1 VALUE2
1     +A  11500
2 real+A  11500
3     +B  11500
4 real+B  11500

그렇다면 + 를 포함된 문자열을 제거해보자.

gsub의 경우 특수문자인 경우 pattern을 표현해야 한다.

model.df$VALUE1 <- gsub('+','', gsub('test[:+:]','',model.df$VALUE1))


gsub함수를 이용하여 test+문자열을 포함하여 공백으로 변경되었다.

  VALUE1 VALUE2
1      A  11500
2 real+A  11500
3      B  11500
4 real+B  11500

※ gsub를 gsubFn함수로 사용할 수도 있다.


R data.frame에서 RDB SQL에서 Table Like 검색 시 grep함수를 replace함수를 gsub함수로 대체하여 사용할 수 있겠다.

'R' 카테고리의 다른 글

R 상관분석(Correlation) 시각화  (2) 2014.01.24
R evel함수활용 : String Source Code Execute  (2) 2014.01.17
R 데이터프레임(DF) Select Column Distinct  (0) 2014.01.17