トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

myWordList.R

*disclaimer
64656

R
R.scripts

myWordList.R

カレント・ディレクトリー内のすべてのテキストファイルから語彙リスト作成

myWordList.R(8)

myWordList <- function() {
  
  token.all <- ""
  
  files <- list.files()
  
  for (i in files) {

    token <- ""
    
    lines.tmp <- scan(i, what="char")
    
    body.lower <- tolower(lines.tmp)
    body.token <- unlist(strsplit(body.lower, "\\W"))
    body.token <- body.token[body.token != ""]
    
    token.all <- c(token.all, body.token)
    
  }
  word.list <- sort(token.all)
  
  word.list <- word.list[word.list != ""]

  as.data.frame(word.list)
  
}

  • 作業ディレクトリーを目的のディレクトリーに移動していること
    • getwd()で確認
  • テキストファイルだけが入っていることを確認
    • list.files()で確認
  • 標準出力(コンソール画面)に出力される
> head(myWordList(), 20)
Read 192 items
Read 237 items
Read 148 items
Read 84 items
Read 229 items
Read 200 items
Read 232 items
Read 87 items
Read 149 items
Read 192 items
   word.list
1         20
2         30
3          a
4          a
5          a
6          a
7          a
8          a
9          a
10         a
11         a
12         a
13         a
14         a
15         a
16         a
17      able
18     about
19     about
20     about
sample.df <- myWordList()
  • これを table() に入れれば、語彙頻度一覧の完成
    • 語彙頻度一覧をオブジェクト(データフレーム)として利用もできる
as.data.frame(table(sample.df))

as.data.frame(table(myWordList())) と入れ子式に一行で実行してもよい

> as.data.frame(table(myWordList()))
Read 192 items
Read 237 items
Read 148 items
Read 84 items
Read 229 items
Read 200 items
Read 232 items
Read 87 items
Read 149 items
Read 192 items
                Var1 Freq
1                 20    1
2                 30    1
3                  a   14
4               able    1
5              about    8
6              above    3
7             abroad    1
8           academic    2
9             active    2
10          actually    1
11          addition    1
12     advertisement    1
13    advertisements    1