コンテンツへスキップ
11月 20, 2011 / seagull946

Rでテキストマイニング

データフレームとリストと行列、ベクトルの区別を覚えると、うまく操作ができるようになりました。

ナイーブベイズ再考

ナイーブベイズモデルをわかりやすく解説してくれいている。

αの数字を決める参考にさせて貰いました

http://d.hatena.ne.jp/kogecoo/20091103/1257281433

データの初期化

rm(list=ls(all=TRUE))

http://cse.naro.affrc.go.jp/takezawa/r-tips/r/05.html

データ読み込み(txt)

read.table(“file名”)

Rでヘルプ機能

http://www.okada.jp.org/RWiki/?R%A4%CE%A5%D8%A5%EB%A5%D7%B5%A1%C7%BD

文字列データでないと、文字列の検索などができない。

1 is.character(y)            # is.character関数で文字列か否かの判定
2 [1] TRUE                # 真なので文字列

http://studyconsulting.net/?p=5863

データフレームを行列へ変換(文字列の行列として扱われるようになる)

cstopwords<-as.matrix(stopwords)

http://cse.naro.affrc.go.jp/takezawa/r-tips/r/25.html

一致する単語があるかどうかを検索するmatch関数

http://www.yoshibaworks.com/ayacy/inasoft/webhelp/rnsf7/HLP000427.html

行列の長さを検索するdim関数

dim(x)[1] 行の数を返す

http://cse.naro.affrc.go.jp/takezawa/r-tips/r/21.html

繰り返しfor文

 x <- 0
 for (i in 1:5) {              # for (ループ変数 in ベクトルやリスト)
   x <- x + 1                  # ベクトルやリストの要素が空にならない限り式が繰り返される
 }
 x

http://cse.naro.affrc.go.jp/takezawa/r-tips/r/30.html

列もしくは行を削除

データを消去する場合は,行や列に NULL を代入すればよい.

 
 x[[2]] <- NULL       # 第2列を消去:列の消去は NULL を代入する.x <- x[,-c(2)] でも同じ結果
 x

 SEX WEIGHT 1 F 51 2 F 55 3 M 72 4 M 57 5 M 64

http://cse.naro.affrc.go.jp/takezawa/r-tips/r/42.html

列の削除(2)

df <- ( データフレーム )

不要 <- c( 要らない列番号たち )

df <- df[,-不要]

http://blog.goo.ne.jp/apple_sketch/e/c5971aa6c668ef2d53f3cff43ac4a5f1

列名で列を削除

dat <- dat[, -which (colnames(dat) %in% c(“X”, “Y”, “Z”))]

http://rmecab.jp/wiki/index.php?R_%CE%F3%CC%BE%A4%C7%CE%F3%A4%F2%BA%EF%BD%FC%A4%B9%A4%EB

Rのデータフレームで特定の列(行)を削除する方法arudataframe関数

例えば10~20列目を削除したかったら
arudataframe <- arudataframe[,-10:-20]
例えば10~20行目を削除したかったら
arudataframe <- arudataframe[-10:-20,]

http://maoringo.blogspot.com/2010/11/r.html

単語の登場回数を数える

http://siguniang.wordpress.com/2010/06/10/r%E6%96%87%E5%AD%97%E6%95%B0%E3%81%AE%E5%87%BA%E7%8F%BE%E9%A0%BB%E5%BA%A6%E3%82%92%E6%95%B0%E3%81%88%E3%82%8B/

リストに要素を追加するとき

x <- list(a=1, b=3)
というリストに,c=6, d=8 という要素を加えるときには,単に,
x <- c(x, c=6, d=8)
とすればよい
行列をつなげる

行列の結合

ベクトルや行列を結合することで新たな行列を作ることも出来る.行ベクトル単位で結合する場合は関数 rbind() を,列ベクトル単位で結合する場合は関数 cbind() を使う.

 
 ( x <- rbind(c(1,2,3), c(4,5,6)) )     # 行ベクトルを与えて行列生成

 [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6

 ( x <- cbind(c(1,2,3),c(4,5,6))  )     # 列ベクトルを与えて行列生成

 [,1] [,2] [1,] 1 4 [2,] 2 5 [3,] 3 6
データのファイルへの書き出し write関数
数値などの表示 print関数
データの整列(ソート) sort関数
データフレームの変数名変更 names関数
要素のカウント(数える、数え上げる) table関数
要素の置き換え replace関数
 replace(z, which(is.na(z)), 10)      # z の NA を 10 で置き換え
 たまになぜかうまくいかない。NAが含まれていない行があると回らない?
累積和
y <- cumsum(x)                       # y に x の累積和を代入
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/14.html

変数名で並び替え
x<-x[,order(colnames(x))]

コメントを残す