プログラミング(programming)/R(Statistical software)
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
] [
Japanese
/
English
]
研究について
研究の概要
論文発表
メディア
メンバー
教員
大学院生
学部生
OB
リンク
リンク集
授業
コンピュータプログラミング基礎II
機械知能システム工学特別講義I
機械システム工学特論(MORE SENSE特論)
内部用
物品管理(registries)
外部ソフトウェア
PC環境設定
買い物
プリンタ設定
定例研究会(weekly)
研究発表会(monthly)
閲覧回数順
開始行:
[[プログラミング(programming)]]
- This page is under construction...
#contents
* R (Statistical software) [#p4696aa6]
- R is a free software environment for statistical comput...
* How to install [#f149c383]
-[[参考ページ>http://www.okadajp.org/RWiki/?R%20%E3%81%AE...
* How to use [#z23cc15b]
**基本的な操作 [#qac70bb5]
***[[For文>http://cse.naro.affrc.go.jp/takezawa/r-tips/r/...
- for ( ループ変数 in リスト )
-- for (num in 1:5)
-- for (name in hoge_list)#hoge_list<-list('hoge1','hoge2...
***データ型の確認 [#k878509c]
- mode()を使う。引数は、調べたいデータ。
mode(hoge_val)
*** [[データ型を変更したり色々>http://cse.naro.affrc.go.j...
- as.numeric(data)とかやると、dataをnumeric型(数値)で代...
**データ処理関連 [#vbb80ccf]
***データの読み込み [#seb74dea]
- d という変数に, 代入演算子 '<-' で代入
> d<- read.table(‘data.txt’)
-- 一番左側の> は入力しなくてよい。
-- [[データ間がコンマ( ,)で区切られている場合は、引数 ...
> x <- read.table("data05.txt", header=T, sep=",")
- d と入力すると、データがずらずら表示される。
-- V1, V2,...と出てくるのが列番号。
-- 変数dのV1列目のみ表示させたい場合
> d$V1
[1] 1 2 3 2 4
[6] 3 3 1
--- 特定の列の情報を表示させたが、縦並びではなく横並びに...
-- 変数dの1列目~3列目までを表示させたい場合
> d[,1:3]
- [[間違えて保存したワークスペースを削除したい場合は、.RD...
- [[Rで変数削除の方法>http://otukutun.hatenablog.com/entr...
rm('変数名')
-- で削除できるはず
*** [[データの結合>http://cse.naro.affrc.go.jp/takezawa/r...
-- rbind(x,y) : xとyを縦に並べて結合する(xとyの列名が全...
-- cbind(x,y):xとyを横に並べて結合する(xとyの行数が同じ...
*** [[データの正規化scale()>http://webbeginner.hatenablog...
- 最小値0、最大値1とする正規化
b <- seq(from =5, to =25, by = 5) #なんか変数を定義
b_min <- min(b)
b_max <- max(b)
scale(b, center = b_min, scale = (b_max - b_min))
*** [[データの書き出し>http://www.is.titech.ac.jp/~mase/m...
- appendオプションを真にしておくと、filename.csvに追記さ...
- row.name, col.nameがそれぞれ真だと、Headerのようなもの...
write.table(data,'filename.csv',append=TRUE)
** 統計処理などなど [#x5b94db5]
***[[基本統計量>http://cse.naro.affrc.go.jp/takezawa/r-ti...
- ave(x), var(x), sb(x)などあるよ
- cor(x,y)とかもできるよ。
*** [[相関係数の計算>http://takenaka-akio.org/doc/r_auto/...
- > cor.test(d$V1, hoge$V1)と入力すると返ってくるのはこん...
Pearson's product-moment correlation
data: d$V1 and hoge$V1
t = 3.866, df = 48, p-value = 0.0003322
alternative hypothesis: true correlation is not equal ...
sample estimates:
cor
0.4872776
-- d$V1 と hoge$V1 の相関係数は 0.4872776 で、95%信頼区間...
- 計算結果を変数に入力することができる。
> cor.test(d$V1,hoge$V1) -> soukan.result
-- soukan.resultと入力すると、同じものが表示されるはず。
-- soukan.resultはオブジェクトである。names(soukan.result...
>names(soukan.result)
[1] "statistic" "parameter" "p.value" "estima...
[6] "alternative" "method" "data.name" "conf.i...
-- それぞれt値、自由度、p値、相関係数の推定結果、0、両側...
-- 相関係数の推定結果のみ取り出したい場合はsoukan.result$...
--- p値だけを抜き出したいばあい
soukan.result$p.value
*** 計算結果をファイルへ書き込む [#j3ae75db]
- まず書式をそろえて変数へ代入。
result_test <- sprintf("%f\n",soukan.result$estimate)
-- cat は最後に改行してくれないので、 sprintf の書式指定...
- 書式をそろえた変数と、書き込むファイル名を指定して書き...
cat(result_test, file="test.csv",append=TRUE)
- test.csvというファイルに計算結果を書き込めたよ!!ため...
*** まとめて関数にする場合は.Rファイルを作成する。 [#d7a...
- エラーなど
-- 相関計算しようとしたら 'not enough finite observations'
--- [[データは3点ずつ以上ないと相関計算しないようになって...
-- [[とりあえず、相関計算した結果得られた諸々情報をべたっ...
***主成分分析prcomp() [#l6c359df]
- データを読み込んだり
data<-read.table('hoge.csv',sep=",")
- 主成分分析をする
pca = prcomp(data, scale=T) #scale=Tは、スケールが統一...
- 因子負荷量のプロットと主成分得点のプロットを一気にやる...
biplot(pca)
- 軸の寄与率
summary(pca)$importance
-- 2段目のproportion of Varianceが各軸の寄与率、3段目は累...
- [[プロットして、ラベルづけしてみる?!>http://d.hatena....
data(iris)
data <- iris[1:4]
prcomp.obj <- prcomp(data, scale=TRUE) # 主成分分析
pc1 <- prcomp.obj$x[,1] # 第一主成分得点
pc2 <- prcomp.obj$x[,2] # 第二主成分得点
label <- as.factor(iris[,5]) # 分類ラベル
percent <- summary(prcomp.obj)$importance[3,2] * 100 # ...
plot(pc1, pc2, col = label, main = paste(percent, "%"))
-- 例えば、labelには、報酬の得点とか、データの種類とかを...
- 参考ページ
-- http://data-science.gr.jp/implementation/ida_r_pca.html
-- https://www.cis.doshisha.ac.jp/mjin/R/24/24.html
-- https://www.casleyconsulting.co.jp/blog/engineer/119/
*** プロットの色付け [#o5b5494b]
- plot()の引数でcol=以下を設定すると、色が付けられます。
-- 例えば、col=rainbow(7)[array]とすると、arrayの値に応じ...
-- 他には、cm.colors(16)[array], heat.colors(12)[array]な...
-- [[参考ページ>http://cse.naro.affrc.go.jp/takezawa/r-ti...
** グラフの出力 [#cd632d6b]
*** [[eps形式の場合>http://webbeginner.hatenablog.com/ent...
setEPS()
postscript("filename.eps")
plot(c(1,2,3), c(3,4,5), type = "l")
dev.off()
** [[*.Rスクリプトの読み込み>http://www.yukun.info/blog/2...
source('hoge.R')
終了行:
[[プログラミング(programming)]]
- This page is under construction...
#contents
* R (Statistical software) [#p4696aa6]
- R is a free software environment for statistical comput...
* How to install [#f149c383]
-[[参考ページ>http://www.okadajp.org/RWiki/?R%20%E3%81%AE...
* How to use [#z23cc15b]
**基本的な操作 [#qac70bb5]
***[[For文>http://cse.naro.affrc.go.jp/takezawa/r-tips/r/...
- for ( ループ変数 in リスト )
-- for (num in 1:5)
-- for (name in hoge_list)#hoge_list<-list('hoge1','hoge2...
***データ型の確認 [#k878509c]
- mode()を使う。引数は、調べたいデータ。
mode(hoge_val)
*** [[データ型を変更したり色々>http://cse.naro.affrc.go.j...
- as.numeric(data)とかやると、dataをnumeric型(数値)で代...
**データ処理関連 [#vbb80ccf]
***データの読み込み [#seb74dea]
- d という変数に, 代入演算子 '<-' で代入
> d<- read.table(‘data.txt’)
-- 一番左側の> は入力しなくてよい。
-- [[データ間がコンマ( ,)で区切られている場合は、引数 ...
> x <- read.table("data05.txt", header=T, sep=",")
- d と入力すると、データがずらずら表示される。
-- V1, V2,...と出てくるのが列番号。
-- 変数dのV1列目のみ表示させたい場合
> d$V1
[1] 1 2 3 2 4
[6] 3 3 1
--- 特定の列の情報を表示させたが、縦並びではなく横並びに...
-- 変数dの1列目~3列目までを表示させたい場合
> d[,1:3]
- [[間違えて保存したワークスペースを削除したい場合は、.RD...
- [[Rで変数削除の方法>http://otukutun.hatenablog.com/entr...
rm('変数名')
-- で削除できるはず
*** [[データの結合>http://cse.naro.affrc.go.jp/takezawa/r...
-- rbind(x,y) : xとyを縦に並べて結合する(xとyの列名が全...
-- cbind(x,y):xとyを横に並べて結合する(xとyの行数が同じ...
*** [[データの正規化scale()>http://webbeginner.hatenablog...
- 最小値0、最大値1とする正規化
b <- seq(from =5, to =25, by = 5) #なんか変数を定義
b_min <- min(b)
b_max <- max(b)
scale(b, center = b_min, scale = (b_max - b_min))
*** [[データの書き出し>http://www.is.titech.ac.jp/~mase/m...
- appendオプションを真にしておくと、filename.csvに追記さ...
- row.name, col.nameがそれぞれ真だと、Headerのようなもの...
write.table(data,'filename.csv',append=TRUE)
** 統計処理などなど [#x5b94db5]
***[[基本統計量>http://cse.naro.affrc.go.jp/takezawa/r-ti...
- ave(x), var(x), sb(x)などあるよ
- cor(x,y)とかもできるよ。
*** [[相関係数の計算>http://takenaka-akio.org/doc/r_auto/...
- > cor.test(d$V1, hoge$V1)と入力すると返ってくるのはこん...
Pearson's product-moment correlation
data: d$V1 and hoge$V1
t = 3.866, df = 48, p-value = 0.0003322
alternative hypothesis: true correlation is not equal ...
sample estimates:
cor
0.4872776
-- d$V1 と hoge$V1 の相関係数は 0.4872776 で、95%信頼区間...
- 計算結果を変数に入力することができる。
> cor.test(d$V1,hoge$V1) -> soukan.result
-- soukan.resultと入力すると、同じものが表示されるはず。
-- soukan.resultはオブジェクトである。names(soukan.result...
>names(soukan.result)
[1] "statistic" "parameter" "p.value" "estima...
[6] "alternative" "method" "data.name" "conf.i...
-- それぞれt値、自由度、p値、相関係数の推定結果、0、両側...
-- 相関係数の推定結果のみ取り出したい場合はsoukan.result$...
--- p値だけを抜き出したいばあい
soukan.result$p.value
*** 計算結果をファイルへ書き込む [#j3ae75db]
- まず書式をそろえて変数へ代入。
result_test <- sprintf("%f\n",soukan.result$estimate)
-- cat は最後に改行してくれないので、 sprintf の書式指定...
- 書式をそろえた変数と、書き込むファイル名を指定して書き...
cat(result_test, file="test.csv",append=TRUE)
- test.csvというファイルに計算結果を書き込めたよ!!ため...
*** まとめて関数にする場合は.Rファイルを作成する。 [#d7a...
- エラーなど
-- 相関計算しようとしたら 'not enough finite observations'
--- [[データは3点ずつ以上ないと相関計算しないようになって...
-- [[とりあえず、相関計算した結果得られた諸々情報をべたっ...
***主成分分析prcomp() [#l6c359df]
- データを読み込んだり
data<-read.table('hoge.csv',sep=",")
- 主成分分析をする
pca = prcomp(data, scale=T) #scale=Tは、スケールが統一...
- 因子負荷量のプロットと主成分得点のプロットを一気にやる...
biplot(pca)
- 軸の寄与率
summary(pca)$importance
-- 2段目のproportion of Varianceが各軸の寄与率、3段目は累...
- [[プロットして、ラベルづけしてみる?!>http://d.hatena....
data(iris)
data <- iris[1:4]
prcomp.obj <- prcomp(data, scale=TRUE) # 主成分分析
pc1 <- prcomp.obj$x[,1] # 第一主成分得点
pc2 <- prcomp.obj$x[,2] # 第二主成分得点
label <- as.factor(iris[,5]) # 分類ラベル
percent <- summary(prcomp.obj)$importance[3,2] * 100 # ...
plot(pc1, pc2, col = label, main = paste(percent, "%"))
-- 例えば、labelには、報酬の得点とか、データの種類とかを...
- 参考ページ
-- http://data-science.gr.jp/implementation/ida_r_pca.html
-- https://www.cis.doshisha.ac.jp/mjin/R/24/24.html
-- https://www.casleyconsulting.co.jp/blog/engineer/119/
*** プロットの色付け [#o5b5494b]
- plot()の引数でcol=以下を設定すると、色が付けられます。
-- 例えば、col=rainbow(7)[array]とすると、arrayの値に応じ...
-- 他には、cm.colors(16)[array], heat.colors(12)[array]な...
-- [[参考ページ>http://cse.naro.affrc.go.jp/takezawa/r-ti...
** グラフの出力 [#cd632d6b]
*** [[eps形式の場合>http://webbeginner.hatenablog.com/ent...
setEPS()
postscript("filename.eps")
plot(c(1,2,3), c(3,4,5), type = "l")
dev.off()
** [[*.Rスクリプトの読み込み>http://www.yukun.info/blog/2...
source('hoge.R')
ページ名: