Blog Sugiura

Enjoy

Rでbi-gram

sugiura, · カテゴリー: program · タグ:

(注意:WordPressの制約上、「文字化け」があって、このままコピペでは動かない。)
--------------------
my2gram <- function(a,b){ # 目的語二つ!
output.file <- choose.files()
lines.tmp <- scan(choose.files(), what="char", sep="n")
data.tmp <- grep("\*(JPN|NS)...:t", lines.tmp, value=T)
body.tmp <- gsub("\*(JPN|NS)...:t", "", data.tmp)
body.tmp <- body.tmp[body.tmp != ""] #空行を削除。

word.tmp <- unlist(strsplit(body.tmp, "\W+")) # 1文字以上の英数字以外で切って「単語」バラバラに

for (i in 1:length(word.tmp)-1) {
cat(word.tmp[i], word.tmp[i+1], "n", file=output.file, append=T)
}
}
--------------------

my2gram() 実行
最初に保存ファイル名を入力(例 2gram.txt)
次に、分析対象ファイルを選択

結果はファイルとして保存される

保存されたファイルを読み込んでみる

table(scan(choose.files(), what="char", sep="n"))

Rの中に入れる

bigramNS002 <- table(scan(choose.files(), what="char", sep="n"))

head(sort(bigramNS002, decreasing = T), 10)

--------------------
myTopBigram <- function(a) {
tmp <- table(scan(choose.files(), what="char", sep="n"))
head(sort(tmp, decreasing=T), a)
}
--------------------

myTopBigram(20)


—————————————-

ここに至るまでの話は、こちらで、、、
http://sugiura-ken.org/wiki/wiki.cgi/exp?page=R