2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ケモインフォマティクスで学ぶRの条件分岐

Posted at

はじめに

ケモインフォマティクスで学ぶRのデータ構造に引き続き、リピドミクス(脂質の網羅解析)を題材として「条件分岐」について解説していきます。
ケモインフォマティクスの実践例を中心に説明していきますので、基本を確認したいという人は以下の記事を読んでからこの記事を読んでみてください。

製薬企業研究者がRの制御文についてまとめてみた

if文

if (条件式){処理}として、条件式が成り立つときの処理を記述します。
elseを使うことで、ifに続く条件式が成り立たなかった場合の処理を記述することができます。
さらに細かく条件を分けたい場合は、else if (条件式){処理}とすることで、別の条件が成り立つ場合の処理を記述することができます。

Un <- 0

if (Un == 0){
  print("saturated fatty acid")
} else {
  print("unsaturated fatty acid")
}

上のプログラムでは、不飽和度(脂肪酸の二重結合の数)を示す変数Un0だった場合は、saturated fatty acid(飽和脂肪酸)と出力し、Un0以外の数値だった場合は、unsaturated fatty acid(不飽和脂肪酸)と出力するようにしています。

Cn <- 18
Un <- 0

if (Cn == 16 && Un == 0){
  print("palmitic acid")
} else if (Cn == 18 && Un == 0){
  print("stearic acid")
} else {
  print("other fatty acid")
}

ifの後の条件式において、&&は「かつ」というような意味になります。
「または」にしたい場合は||を用います。

switch文

指定した変数の値によって処理を分けたいときに使います。
switch (変数, 値=処理, 値=処理, ・・・)という風に書きます。

Cn <- "16"

switch (Cn,
        "16" = print("palmitic acid"),
        "18" = print("stearic acid"),
        "20" = print("arachidic acid"),
        print("other fatty acid")
)

上の例では変数Cnに鎖長(炭素原子数)を格納し、その値によって出力する脂肪酸名を変えています。

まとめ

ここでは、Rの条件分岐について、ケモインフォマティクスで使える実践的な知識を中心に解説しました。
もう一度要点をおさらいしておきましょう。

  • 条件分岐は基本的にifを使って記述します。場合分けが必要な場合は、elseelse ifを使います。
  • switchを使うと、ifよりも短いコードで書ける場合があります。

参考資料・リンク

プログラミング言語Rとは?統計分析に強い?

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?