close_btn
조회 수 105946 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

문자열을 나누기 위한 기본함수인 strsplit과 stringr 패키지의 함수인 str_split을 알아보겠습니다.

#####################################################

path <- getwd()
strsplit(path, "/")fruits <- c(
"apples and oranges and pears and bananas",
"pineapples and mangos and guavas"
)

strsplit(fruits," and ")
str_split(fruits, " and ")
str_split(fruits, " and ", n = 2)
str_split(fruits, " and ", n = 5)

kk<-"k.love"
strsplit(kk,fixed=TRUE,split=".")

 

> path <- getwd()
> path
[1] "D:/rworking"
> strsplit(path, "/")
[[1]]
[1] "D:" "rworking"

strsplit(path,"/")은 두번째 인수인 "/"을 기준으로 path라는 문자열을 나누라는 의미입니다. 제가 working derectory로 설정해 둔 D:/rworking 이 /을 기준으로 나누어져 길이가 2인 문자열 vector로 반환되는 것을 볼 수 있지요.

 

> strsplit(fruits," and ")
[[1]]
[1] "apples" "oranges" "pears" "bananas"[[2]]
[1] "pineapples" "mangos" "guavas"

> str_split(fruits, " and ")
[[1]]
[1] "apples" "oranges" "pears" "bananas"

[[2]]
[1] "pineapples" "mangos" "guavas"

길이가 2인 fruits 문자열을 strsplit 과 str_split을 이용하여 분리한 결과입니다. 각각의 문자열에 대해 결과를 길이가 2인 list로 반환합니다. strsplit 과 str_split 모두 결과가 같습니다.

 

> str_split(fruits, " and ", n = 2)
[[1]]
[1] "apples" "oranges and pears and bananas"[[2]]
[1] "pineapples" "mangos and guavas"

> str_split(fruits, " and ", n = 5)
[[1]]
[1] "apples" "oranges" "pears" "bananas"

[[2]]
[1] "pineapples" "mangos" "guavas"

strsplit 과 달리 str_split은 반환할 분리된 문자열의 개수를 지정할 수 있습니다. n=2로 설정할 경우 separation을 기준으로 한번만 나누어 길이가 2인 문자열 vector를 반환합니다.

 

> kk<-"k.love"
> strsplit(kk,split=".")
[[1]]
[1] "" "" "" "" "" ""> strsplit(kk,fixed=TRUE,split=".")
[[1]]
[1] "k" "love"

문자열을 다루는 대부분의 함수는 pattern 지정에 있어서 general expression을 이용합니다. 이에 대한 설명은 나중에 드리구요 ! "."이 특정상황에서는 문자열 "."이 아니라 다른 의미로 쓰이기에 strsplit(kk,split=".") 여기서는 split의 기준으로 활용되지 못하고 기대하는 결과값이 나오지 않은 모습입니다. 이 때 fixed옵션을 TRUE로 지정 해 주면 split 옵션 내의 값을 문자열그대로로 인식하여 원하는 "."값을 기준으로 문자열을 분리한 결과값을 얻을 수 있습니다.

?

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 초급 R 강의 게시판 이용 관련 공지사항 1 DataMarket 2014.05.21 511919
50 초급 [BigData - R강의 초급] 정규표현식 regular expression 4강 (1) – Anchors "^", "$" 2 DataMarket2 2014.05.23 101685
49 초급 [BigData - R강의 초급] 정규표현식 regular expression 3강 – alternation "|" DataMarket2 2014.05.23 96710
48 초급 [BigData - R강의 초급] 정규표현식 regular expression 2강(4) – 게으른 수량자 "+?", "*?", "{n,}?" 1 DataMarket2 2014.05.23 110278
47 초급 [BigData - R강의 초급] 정규표현식 regular expression 2강(3) – 수량자 "?" 1 DataMarket2 2014.05.23 109658
46 초급 [BigData - R강의 초급] 정규표현식 regular expression 2강(2) – 수량자 {} 1 DataMarket2 2014.05.23 104352
45 초급 [BigData - R강의 초급] 정규표현식 regular expression 2강(1) – 수량자 “+”, “*” DataMarket2 2014.05.23 107126
44 초급 [BigData - R강의 초급] 정규표현식 regular expression 1강(4) – 문자열 형태표현 ".", "\W", "\D", "\S" DataMarket2 2014.05.23 94866
43 초급 [BigData - R강의 초급] 정규표현식 regular expression 1강(3) – 문자열 형태표현 "\p{Hangul}"(한글), 특수문자 2 DataMarket2 2014.05.23 102200
42 초급 [BigData - R강의 초급] 정규표현식 regular expression 1강(2) – 문자열 형태표현 “\d”, “\s” DataMarket2 2014.05.23 93639
41 초급 [BigData - R강의 초급] 정규표현식 regular expression 1강(1) – 문자열 형태표현 ".", "\w" 3 DataMarket2 2014.05.23 113698
40 초급 [BigData - R강의 초급] 따옴표를 문자열로 인식시키려면? - escaper \ DataMarket2 2014.05.23 69633
39 초급 [BigData - R강의 초급] 문자열 패턴 regular expression 연습 DataMarket2 2014.05.23 70283
38 초급 [BigData - R강의 초급] 문자열 검색 – grep, regexpr, gregexpr DataMarket2 2014.05.23 100683
37 초급 [BigData - R강의 초급] 문자열 찾아바꾸기 – sub, gsub 1 DataMarket2 2014.05.23 90894
» 초급 [BigData - R강의 초급] 문자열 나누기 – strsplit, str_split DataMarket2 2014.05.23 105946
35 초급 [BigData - R강의 초급] 문자열 일부 추출 – substr(), str_sub() 비교 2 DataMarket2 2014.05.23 102216
34 초급 [BigData - R강의 초급] 문자열 포멧 출력 – sprintf 함수 1 DataMarket2 2014.05.23 59767
33 초급 [BigData - R강의 초급] 문자열 길이 – nchar 함수 1 DataMarket2 2014.05.23 57838
32 초급 [BigData - R강의 초급] 문자열 이어붙이기 - paste, paste0 함수 1 DataMarket2 2014.05.23 69632
31 초급 [BigData - R강의 초급] 결측치 처리 함수 - complete.cases DataMarket2 2014.05.23 50921
Board Pagination ‹ Prev 1 2 ... 3 Next ›
/ 3

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5