일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
31 |
- 수원인계동필라테스
- 젤러쉬
- 젤러쉬4기
- 영화추천
- 심리테스트
- 인계동필라테스
- 러쉬추천템
- R언어
- 러쉬포장재
- 수원필라테스
- 러쉬비누
- 러쉬팩추천
- 러쉬추천
- 수원시청역필라테스
- 러쉬입욕제
- 러쉬마스크팩
- 비건입욕제
- 러쉬팩
- 나이키운동화
- r
- 러쉬
- 입욕제추천
- 러쉬공병
- 운동화추천
- 비건화장품
- 다이어트
- 러쉬바디스크럽
- R프로그래밍
- 러쉬비누추천
- rubyonrails
- Today
- Total
freesia
R언어 예제 ) 텍스트 데이터 분석하기 본문
**2018년에 작성한 내용을 옮긴 글입니다.
1.RStudio 오른쪽 마우스 클릭 -> 관리자 권한으로 실행
2. 작업용 디렉터리를 먼저 지정한다.(C 드라이브에 RClass 폴더 생성)
*작업 디렉터리란 R을 사용할 때 필요한 데이터들을 모아 두는 장소.
사용자가 임의의 폴더를 생성한 후 위 명령으로 지정하면 된다.
>setwd("c:\\RClass")
3.필요한 패키지를 설치 한 후 R 에 loading 한다.
> install.packages("KoNLP")
> install.packages("wordcloud")
> library(KoNLP)
> library(wordcloud)
> useSejongDic()
4.분석할 원본 데이터를 변수로 읽어 들인다.
*변수이름 <- 저장할 데이터
readLines(“대상파일명”) 명령으로 텍스트 파일에 있는 내용을 R 로 불러올 수 있습니다.
seoul_new.txt 이라는 파일이 RClass에 있는 상태
(이 때, seoul_new.txt 저장할때 인코딩을 UTF-8 로 저장한다.)
>data1 <- readLines("seoul_new.txt")
오른쪽 values에 seoul_new.txt파일의 내용이 data1의 변수안에 담겨진다.
5.데이터 중에서 명사만 골라낸 후 nouns 변수에 할당한다.
sapply: 벡터, 또는 행렬의 형태로 반환
sapply(X,FUN,..., simplify=T,USE.NAMES=T)
X:대상 리스트 객체
FUN:적용할 함수 명
...:함수에서 사용할 인수
simplify=T : 연산 결과를 벡터, 행렬 등 간단히 반환.
simplify=F : 연산 결과를 리스트로 반환.
USE.NAMES=T : 이름 속성도 반환.
USE.NAMES=T : 이름 속성 없이 반환.
> data2 <- sapply(data1,extractNoun,USE.NAMES=F)
data2의 데이터를 보면 리스트 형식으로 나오는데
[[305]] 는 305번째 리스트의 [1]은 첫번째 원소이다.
6.추출된 명사 30개만 출력해서 확인한다.
앞의 30개의 데이터를 리스트를 푼 상태의 벡터값으로 출력한다.
7.data2의 리스트를 푼 값들을 data3에 담는다.
>data3 <- unlist(data2)
8.원하지 않는 내용 걸러낸다.
gsub("변경전 글자","변경후 글자","원본데이터")
> data3 <- gsub("\\d+","", data3)
> data3 <- gsub("서울시","", data3)
> data3 <- gsub("서울","", data3)
> data3 <- gsub("요청","", data3)
> data3 <- gsub("제안","", data3)
> data3 <- gsub(" ","", data3)
> data3 <- gsub("-","",data3)
9.파일로 저장 한 후 테이블 형태로 변환하여 불러 들인다.
RClass폴더에 seoul_2.txt 라는 파일이 생성된다.
> write(unlist(data3),"seoul_2.txt")
10.수정 완료된 파일을 read.table 명령으로 다시 변수에 불러들인다.
공백 제거 -> read.table
> data4 <- read.table("seoul_2.txt")
공백 없어진거 확인!
11. 화면에 그래픽으로 출력하기 전에 단어가 몇개씩있는지 확인해본다.
>wordcount <- table(data4)
12.단어의 수가 높은것부터 20개를 출력한다.
> head(sort(wordcount, decreasing=T),20)
> data3 <- gsub("OO","",data3)
> data3 <- gsub("개선","", data3)
> data3 <- gsub("문제","", data3)
> data3 <- gsub("관리","", data3)
> data3 <- gsub("민원","", data3)
> data3 <- gsub("이용","", data3)
> data3 <- gsub("관련","", data3)
> data3 <- gsub("시장","", data3)
>data3 <- gsub("역","", data3)
>data3 <- gsub("한","", data3)
>data3 <- gsub("님","", data3)
>data3 <- gsub("문","", data3)
>data3 <- gsub("적","", data3)
추가적으로 내용을 걸러낸다.
다시 파일을 생성후 단어수를 확인한다.
> write(unlist(data3),"seoul_3.txt")
> data4 <- read.table("seoul_3.txt")
> wordcount <- table(data4)
> head(sort(wordcount, decreasing=T),20)
'Programming > R언어' 카테고리의 다른 글
입출력 (0) | 2021.04.24 |
---|---|
R언어 예제 ) 영화 사이트 분석하기 (0) | 2021.04.23 |
NA / 특정 위치 값 제어 (벡터) / matrix (0) | 2021.04.22 |
vector/list/dataframe/factor (0) | 2021.04.21 |
R언어란? (0) | 2021.04.19 |