250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 파이썬
- Gmarket
- 자바
- test
- pytorch
- 토픽추출
- 네이버뉴스
- 크롤링
- 이력서
- word2vec
- spring MVC(모델2)방식
- Topics
- 幼稚园杀手(유치원킬러)
- 방식으로 텍스트
- 코사인 유사도
- mysql
- 지마켓
- (깃)git bash
- oracle
- 과학백과사전
- db
- lda
- Python
- jsp 파일 설정
- 게시판 만들기
- RESFUL
- tomoto
- Websocket
- r
- java
Archives
- Today
- Total
무회blog
R함수 basic003 : 텍스트 find , replace, sub, delete 본문
## string Data 처리 방식 (최신테스트 내용 최상위 배치)
## tidyverse 방식, 알파벳의 대소문자 표현 함수 : letters[], LETTERS[]
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
## R함수 basic003 gregexpr, regexpr, test strsplit , paste , spli01 , paste, nchar ,letters LETTERS tolower() , toupper() grep, sub, gsub, table,
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
ttx02 <- "앞서 원-핫 인코딩 챕터에서 찾기 원-핫 벡터는 단어 간 찾기 유사도를 계산할 수 없다는 단점이 있음을 언급한 적이 있습니다.
그래서 단어찾기 간 찾기 유사도를 반영할 수 있도록 찾기 단어의 의미를 벡터화 할 수 있는 방법이 필요합니다. "
strsplit(ttx02[[1]]," ") # 단어 자르기 , 띄어쓰기 기준
table(strsplit(ttx02[[1]]," ")) # 단어빈도수
sum(table(strsplit(ttx02[[1]]," "))) # 단어총 갯수
drop.test <- gsub("유사도를|있음을","",ttx02) # 특정 단어 혹은 단어들을 삭제하기
strsplit(drop.test[[1]]," ") # 단어 자르기 , 띄어쓰기 기준
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
## sub() , gsub()
sub("찾기","find", ttx02) # 하나 바꾸기
gsub("찾기","find", ttx02) # 다 바꾸기
## grep() grepl()
grep("기",ttx02) # object 의 위치 반환
grepl("찾기",ttx02) # 불리언값 반환
## regexec # 찾은 데이터 () 를 기준으로 위치 반환
regexec("원-핫 인코딩 챕터에서 찾(기) 원-핫 벡(터)",ttx02)
nchar("원-핫 인코딩 챕터에서 찾",type = 'byte') # 바이트 길이
nchar("원-핫 인코딩 챕터에서 찾")
## gregexpr # 찾은 데이터 위치 반환 , 찾은 데이터 길이 반환 , 전부 각각 반환
gregexpr("찾기",ttx02)
## regexpr('fisrtfindtext','text') : return (첫번째찾은 텍스트위치, 찾은 텍스트길이, 자료형)
regexpr("찾기",ttx02)
ttx02.frfind <- as.vector(regexpr("찾기",ttx02)) # 첫번재찾은 길이
ttx02.len <- as.vector(attr(regexpr("찾기",ttx02), 'match.length')) # match.length 길이
ttx02.frEndWord <- as.vector(ttx02.frfind + ttx02.len -1) # 첫번재찾은길이부터 종료되는 길이
ttx02.frEndWord
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
## test strsplit , paste : 자르고 붙히기 (문장, 단어, 혹은 기타 )
ttx01 <- "앞서 원-핫 인코딩 챕터에서 원-핫 벡터는 단어 간 유사도를 계산할 수 없다는 단점이 있음을 언급한 적이 있습니다.
그래서 단어 간 유사도를 반영할 수 있도록 단어의 의미를 벡터화 할 수 있는 방법이 필요합니다.
그리고 이를 위해서 사용되는 대표적인 방법이 워드투벡터(Word2Vec)입니다. Word2Vec의 개념을 설명하기에 앞서,
Word2Vec가 어떤 일을 할 수 있는지 먼저 확인해보겠습니다."
# spli01 <- strsplit(ttx01,'\n') # 줄단위로 짜르기
# spli01 <- strsplit(ttx01,'\t') # 탭단위로 짜르기
spli01 <- strsplit(ttx01,'\\.') # 마침표 . 단위로 짜르기 \\ 두개를 써줘야 특수문자 인식가능
spli01
## strsplit() , paste() : string 분해와 결함
strsplit_test01 <- "What is the Learning mechine"
rs_test01<- strsplit(strsplit_test01,split = ' ') # (데이타, 구분자) , 단어 짜르기
# typeof(rs_test01[[1]][1])
# rsch_01 <- rs_test01[[1]][-2] # 앞에서 두번째 단어 삭제 후 출력
rsch_01 <- rs_test01[[1]][1] # 스트링 cut 하여 출력
strsplit_test02 <- rsch_01
rsch_02 <- strsplit(strsplit_test02, split = '') # 글자단위로 짜르기 , 와~ 재밌다 ..
rsch_02
mytest <- list()
for(i in 1:5) {
mytest[i] <- strsplit(rs_test01[[1]][i],split = '')
}
mytest
unlist(mytest)
paste(mytest[[1]],collapse = '') # 글자단위 결합
paste(mytest[[3]],collapse = '-') # 글자단위 결합
mytest02 <- list()
for(i in 1:length(mytest[[1]])) {
mytest02[i] <- paste(mytest[[1]][i],collapse = '')
}
mytest02 # 글자단위로 리스트에 들어감
typeof(mytest02) # list"
rs_test01
paste(rs_test01[1],collapse = ' ') # 차이가 있음
paste(rs_test01[[1]],collapse = ' ') # 차이가 있음
## nchar() 사용법 , 문자수, 바이트 수 카운팅 : default is count character
nchar('test')
nchar('test', type = 'bytes')
nchar("테스트")
nchar('테스트', type = 'bytes')
nchar("!!@@**")
nchar('!!@@**', type = 'bytes')
nchar("\t")
nchar('\t', type = 'bytes')
nchar("\n")
nchar('\n', type = 'bytes')
# nchar("\") # 이거 에러나서 안됨 ,, 컴퓨터가 인식을 안함 ,, 나 무척 당황
# nchar('\', type = 'bytes')
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
## tolower() , toupper() 사용법
tolower("This test is Lower string")
toupper("This test is Lower string")
## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##
## 대소문자 알파벳 출력 ㅊ
letters[3]
LETTERS[3]
letters[1:26]
LETTERS[1:26]
'Python > R' 카테고리의 다른 글
Comments