TermDocumentMatrix 에서 각 Term 들의 빈도수 합을 구하기 위해 표로 전환해야 할 필요가 있다.
tdm <- TermDocumentMatrix(text)
x <- as.matrix(tdm)
대략 위와 같은 코드인데 이때 as.matrix 함수에서 다음과 같은 에러가 나기도 한다.
Error: cannot allocate vector of size 9.0 Gb
TermDocumentMatrix 의 크기가 너무 커서 matrix로 전환할 수 없다고 한다.
이럴 땐 slam 패키지의 row_sums 함수가 도움이 된다. row_sums 는 TermDocumentMatrix를 Matrix로 전환하지 않고도 바로 각 Term의 합을 구해준다.
install.packages("slam")
library(slam)
tdm <- TermDocumentMatrix(text)
Encoding(tdm$dimnames$Terms) = 'UTF-8'
x <- as.data.frame(row_sums(tdm, na.rm=T))
이와 같이 row_sums 함수를 사용하면 바로 데이터프레임으로 결과를 얻을 수 있다.
반응형
'R' 카테고리의 다른 글
[R.아르] 웹페이지에서 원하는 요소 가져오기(크롤링) (5) | 2018.03.13 |
---|---|
[R.아르] TDM에서 tokenize 가 동작하지 않을 때 (형태소 분석) (0) | 2017.10.19 |
[R.아르] Term Document Matrix 생성시 한글 인코딩이 깨질때 (9) | 2017.10.18 |
[R. 아르] KoNLP 패키지에서 에러가 날 때 (25) | 2017.10.16 |
[R. 아르] 언어 설정하기 / MDI, SDI 설정하기 (0) | 2017.10.12 |
[R.아르] 통계 프로그램 R 설치하기 (0) | 2017.10.11 |
[R.아르] 특정 단어가 들어있는 문장 추출하기 (0) | 2016.12.06 |
[R.아르] 문장에서 보통명사만 추출하기(2) (2) | 2016.12.06 |
[R.아르] 문장에서 보통명사만 추출하기(1) (4) | 2016.12.06 |
[R.아르] 문장에서 명사 추출하기 (5) | 2016.11.22 |
댓글