정규편식(regular expression)은 text parsing에 있어서 매우 중요한 방법론이다.
지금처럼 문자 위주의 정보가 넘칠 때에는 꼭 필요한 필수요소이고...
R을 사용하다가... 자주 까먹어서.. 이참에 메모를 남기자.
a<-"<nm:val nm:name='1'>0.632417564301838</nm:val>" gsub("(.*>)(.*)(<.*)","\\2",a) |
a를 위와 같은 문자열로 정의하고 이중에서 > < 안에 잇는 숫자를 찾아 capture 하고자한다.
이 때 문자 패턴 중 ( ) 가 3개 있는데 a에 ( ) 3개가 매칭 될 때, 이를 두 번째 ( )의 내용으로 치환한다... 는 것이다.
전체를 매칭시키면서 세 부분으로 나누고 이 전체를 두번째 부분으로 바꾼다... 좀 돌아가는 느낌은 있지만 기본 R 함수에서 문자 capture 하는 방법이다.
이외에도 gsubfn library의 strapplyc fucntion을 통해 쉽게 찾는 방법도 있으나, 최대한 기본 값을 이용하여 시도해보는 것이 좋겠다고 생각된다;
※ 참고자료 : http://www.regular-expressions.info/quickstart.html
'Programming > R Script' 카테고리의 다른 글
| How to show the symbol of Angstrom (0) | 2014.04.04 |
|---|---|
| 3D plot using rgl package in R to describe probabilty of coin tosses (0) | 2014.02.05 |
| [R] Apply Family (0) | 2013.12.20 |
| [R] Adjust P-value for Multiple Comparisons (0) | 2013.12.18 |
| [R] Correlation Test / Export to Excel File (0) | 2013.12.18 |