R Tips(switch関数(条件分岐))

  • http://cse.naro.affrc.go.jp/takezawa/r-tips/r/29.html より、switch関数の使い方:
  • 条件式の評価結果がケース 1 ,ケース 2 ,ケース 3 ,・・・ と多数あり,その結果によって場合分けを行いたい場合には switch 文を使う.例えば文字列で条件を分けた場合の switch 文は以下のような形になる.また,整数で条件を分けた場合の switch 文は右下のようになる.ただし,整数で条件を分けた場合は 「一致するものがない時に実行される部分」 は指定出来ない点,整数が 1 ... n でなければ NULL が返される点に注意.
#ある条件の判定結果によって、グラフの線の色を変える例
#下線部は文脈に応じて変える。

for (i in 1:LENGTH) { if(jcampBias[[i]][1,6]==MC_num) {K <- i; break} #Start number } color <- c("#FFFFFF40","#FFFFFF40","#ff00ff40","#0000ff40") for (i in K:LENGTH) { if(i == K) { if (jcampBias[[i]][1,7] == 0) {p_col <- 1} if (jcampBias[[i]][1,7] == 1) {p_col <- 2} if (jcampBias[[i]][1,7] == 7) {p_col <- 3} if (jcampBias[[i]][1,7] == 90) {p_col <- 4} plot(jcampBias[[i]][order(-jcampBias[[i]][,2]),][,2],type="l", col=switch(p_col, "1" = color[1], "2" = color[2], "3" = color[3], "4" = color[4]), xlim=c(0,4000), ylab="Intensity", main=paste("TIC in Descending Order(MC_num=",MC_num,")")) par(new=T) print(paste("i=",i,"first graph is done")) }