이번에는 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 |