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のラベルの点に割当る