ADsP R기초

본 토픽은 현재 준비중입니다. 공동공부에 참여하시면 완성 되었을 때 알려드립니다.

문자열

앞에서 객체에 대해 이야기했습니다. 문자열String은 말 그대로 글자들을 담고 있는 객체입니다. 사람 이름이나, SNS에 올라온 텍스트 데이터 같은 것들을 저장할 때 문자열 객체를 사용합니다.

문자열 구조와 함수

#문자열은 앞서 본 것처럼 따옴표""를 붙여서 만듭니다.
stringName <- "김태희"

# 문자열은 벡터와 비슷합니다. 문자 하나하나를 벡터의 원소처럼 생각할 수 있습니다.
# 제 이름은 3글자니까 length()함수를 쓰면 3이 나올까요?
> length(stringName)
[1] 1
# 왜 3이 아니라 1일까요? length()함수는 제 이름을 문자열 1개인 벡터로 취급하기 때문입니다.

# 문자열의 글자 수를 세려면 length()함수 말고 nchar()를 써야합니다.
> nchar(stringName)
[1] 3

#색인처럼 값을 뽑아내려면 substr()함수를 씁니다.
> substr(stringName, 2,3)
[1] "태희"

#파이썬처럼 색인을 써보려 하면 에러가 뜹니다...
> "김태희"[2:3]
[1] NA NA

#문자열을 붙일 때에는 paste() 함수를 씁니다.
> paste(stringName,"2014610028", sep="-")
[1] "김태희-2014610028"

#파이썬처럼 +를 써서 문자열을 합치려하면 에러가 납니다.
> stringName + "-" +"2014610028"
Error in stringName + "-" : non-numeric argument to binary operator

연습문제 : 문자열 벡터 다루기

이름이 잔뜩 담긴 문자열 벡터가 있다고 합시다. 흔히 보게되는 데이터입니다. 이걸 가지고 다양한 일을 할 수 있습니다.

names <- c("김태희", "이지우", "강수지", "하충재")

#이름만 뽑아내려면 앞에 썼던 함수를 똑같이 쓸 수 있습니다. 빈칸에 들어갈 함수는 무엇이었을까요?
> ______(names, 2,3)
[1] "태희" "지우" "수지" "충재"

#합격 불합격 여부가 들어 있는 데이터도 있다고 합시다.
> pass <- c("합격", "불합격", "합격", "불합격")

#역시 paste 함수로 한 번에 합쳐버릴 수 있습니다. 직접 해봅시다.
???
[1] "김태희:합격"   "이지우:불합격" "강수지:합격"   "하충재:불합격"

댓글

댓글 본문
버전 관리
Taehee Kim
현재 버전
선택 버전
graphittie 자세히 보기