5. 문자열 3 - grep() : 특정문자열 -> *index or *문자열전체 반환 // stringr패키지 - str_count() with sum() -> 문자열전체에 대한 *특정문자열 포함개수 반환
mtcars
cars <- rownames(mtcars)
which(nchar(cars) == max(nchar(cars)))
cars[which(nchar(cars) == max(nchar(cars)))]
#### grep() ####
# 특정 문자열을 포함하는 데이터의 < 1) index 2) <문자열 전체>(value=TRUE)>를 반환한다.
# *** 주소에서 성북동을 포함한 주소를 검색하는 경우 등에서 사용된다.
# grep("문자열", data)
# grep("문자열", data, value = TRUE)
# ***대소문자 구분해버리므로 둘다 불러오고 싶다면 ***
# 1) grep("[vV]", data, value = TRUE)
# 2) 데이터 자체를 소문자나 대문자로 변환시킨 뒤 -> grep()을 쓴다.
# ***my) cars %in% c("z") 는 포함관계가 아니라, 특정값 자체를 <or연산 : | | |>여러개 대신 연속(1:3)or이산(c(1, 3, 5)으로 쉽게 필터링에 쓸 수 있다. http://nittaku.tistory.com/352?category=764233
cars
grep("z", cars) # 1 2 --> 1번째 데이터, 2번째 데이터에서 가진다.
grep("z", cars, value = TRUE) # 실제 전체문자열을 보려면 value = TRUE 인자를 넣어준다.
grep("rd", cars, value = TRUE)
# ***대소문자 모두 포함된 문자열을 가져올 경우***
grep("[vV]", cars, value = TRUE)
# ***데이터 자체를 대문자 or 소문자로 바꾼 뒤 grep()하기 ****
grep("v", tolower(cars), value = TRUE)
grep("toyota", cars, value = TRUE )
grep("toyota", tolower(cars), value = TRUE )
grep("TOYOTA", toupper(cars), value = TRUE )
#### stringr 패키지 ####
#### ...L 1) str_count(df, "문자열") ####
# 문자열데이터 각각에 대해, 특정 문자열을 <몇개> 포함하고 있는지를 각 문자열데이터에 대한 벡터 반환해준다.
# *** 전체 자동차 리스트에서 sum()을 씌워, 해당 모델이 몇개 포함되어있는지 알 수 있다. ***
# *** 조씨 성을 가진 사람이 <몇명>인지 알 수 있다.
# str_count(df, "문자열")
# grep("문자열", df, value = TRUE)와는 인자가 순서가 다르다.
install.packages("stringr")
library(stringr)
cars
str_count(cars, "t") # (df, "문자열") -> 0 0 1 1 3 1 1 1 식으로 문자열 포함개수를 알려줌
str_count(cars, "o")
# 실전 - sum()을 마지막에 씌워, 전체 문자열데이터에서, 해당 브랜드 자동차모델이 몇개 가지고 있는지 알 수 있다.
str_count(toupper(cars), "TOYOTA") # 2개 발견
sum( str_count(toupper(cars), "TOYOTA") )
'한의대 생활 > └ R studio 통계적 분석1' 카테고리의 다른 글
7. [ Norm distribution ] 문제 - seq()+*dnorm()-그리기 / *pnorm()-x로 넓이 / *qnorm()-넓이로 x (0) | 2018.12.31 |
---|---|
6. 문자열4 - strsplit( , split=""/" ") + paste( , collaspe =""/" ")를 이용해 문자열 / 단어 역순(reverse)으로 반환하기 (0) | 2018.12.31 |
4. 문자열2 - paste()로 붙히기, which() - 가장 긴 값 찾기 (0) | 2018.12.30 |
3. 문자열1 - character()에 대해 (0) | 2018.12.30 |
2. tidyr(데이터 정리함수 3개) -> dplyr(필터함수 1개) + 파이프라인 사용법 (0) | 2018.12.30 |