読者です 読者をやめる 読者になる 読者になる

Rtips1

コマンドラインからの実行方法
 ・Rscriptを使う.(R --vanilla < hoge.Rはコマンドライン引数の扱いが直感的じゃない)
 ・コマンドライン引数はcommandArgs(T)で一旦とって,適時使う.ARGVは1始まり.
 例)$ Rscript --vanilla hoge.R hoge.txt 3

argv = commandArgs(T)  # argvにコマンドライン引数が格納される.形式はcharacter.
print(argv[1])         # hoge.dat
x = 1 + as.numeric(argv[2]))  # 数値として扱うにはas.numericで変換

名前付きリスト
 ベクトルをCSVなどから読み込むとリストとして読み込まれる.その際,読込方法でヘッダを
指定しないと,勝手にV1, V2,...VNという名前を付けられる.で,その時に,複数CSVファイルを一旦名前付きリストで読み込んで,それを連結して一つのベクトルを作っても,
先頭から順に名前をつけてくれない.V1,V2,V3...VN, V1, V2,...VNのように繰り返してしまう.
これは避けようがないみたい.namesで別途名前をつけるしか無いみたい.

i=1
name.list = c()
while(i<N) {
 ni = paste("V",i, sep="")
 name.list = c(name.list, ni)
}
name(data) = name.list # dataの名前をname.listに設定

データのカテゴリ毎にプロットの形式を変える(形を変えたり色を変えたり)

x <- 1:9
y <- 1:9
lab <- rep(c("A", "B"), 5)  # ラベル
d <- data.frame(x, y, lab)
plot(d$x, d$y, pch=c(19,21)[d$lab]) # プロットタイプが19,21をそれぞれA,Bのラベルの点に割当る