일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 정오각형
- 피타고라스 정리
- 재귀함수
- python
- 알지오매스
- counting sunday
- 파이썬
- 지오지브라
- 제곱근의뜻
- 확률실험
- 프랙탈
- 구분구적법
- project euler
- 리만합
- 상합
- Geogebra
- 이항분포
- 오일러
- algeomath
- 하합
- 시뮬레이션
- java
- 블록코딩
- 큰수의법칙
- 작도
- 프로젝트 오일러
- 수학탐구
- 큰 수의 법칙
- 삼각함수의그래프
- 몬테카를로
Archives
- Today
- Total
이경수 선생님의 수학실험실
R Text mining 본문
문서에서 단어를 추출하는 함수를 정의한 것이다. 먼저 words에 벡터 형식으로 단어들이 채워지고, 이들은 다시 wlist라는 list의 이름이 된다. 그리고 문서 내, 같은 단어의 모든 위치가 해당 이름 아래 축적된다.
> findwords <- function(doc){
+ words <- scan(doc,"")
+ wlist <- list()
+ for(i in 1:length(words)){
+ wlist[[words[i]]] <- c(wlist[[words[i]]],i)
+ }
+ return(wlist)
+ }
> txt <- findwords("Apple.txt")
Read 706 items
> txt
$Apple
[1] 1 63 66 143 145 147 149 157 163 165 168 170 189 210 223 245 259 309 324 340 385 410 434 452 525 542 560 585 615
[30] 651 678
$Inc.
[1] 2 453
$is
[1] 3 26 543 561 575 637 669
$an
[1] 4 313 499
$American
[1] 5
$multinational
[1] 6
$technology
[1] 7 38 547
$company
[1] 8 448 513 548 592 659
$headquartered
[1] 9
다음 odrlist 함수는 위 findwords 함수로 얻은 wlist를 빈도수에 따라 오름차순으로 재배열하는 함수이다. 여기서 sapply는 list의 각 요소마다 함수를 적용시킬 수 있는 함수로써 벡터 형식의 결과물을 만들어 낸다. wlist에서 각 요소의 길이를 재고 있는데, 이것은 곧 각 단어의 빈도수를 구하는 것이라 할 수 있다. order 함수는 데이터를 오름차순으로 배열했을 때, 각 데이터의 본래 index를 반환하는 함수이다. 이를 통해 wlist의 단어들을 빈도수에 따라 재배열하는 것이 가능함을 알 수 있다.
'R' 카테고리의 다른 글
R List indexing (0) | 2021.04.21 |
---|---|
R function_example3 (0) | 2021.04.20 |
R function_example2 (0) | 2021.04.20 |
R function_example1 (0) | 2021.04.20 |
R의 데이터 타입_배열(array) (0) | 2021.04.20 |
Comments