Rプログラミング
~論理演算子~【Statistics with “R”】

Rプログラミング
~論理演算子~【Statistics with “R”】

トップページに戻る

プログラムを書く上で、「if文」などによる条件分岐が重要ですが、ifをうまく使うには真偽の扱いに慣れておく必要があります。Rでは真を「TRUE」や「T」と表し、偽を「FALSE」や「F」と表します。また、真は計算において数字の1として扱え、偽は0として扱えます。

Rでの真偽の表し方

TRUET1
FALSEF0
TRUEやFALSEの代替表現と数としての扱い

高校の数学で学ぶように、真偽をうまく扱うには「かつ」「または」「否定」を用います。Rではこれらを「&」「|」「!」を用いて表します。

Rでの「否定・かつ・または」の表し方

Aの否定AかつBAまたはB
!AA&BA|B

たとえば、否定の記号「!」は以下のように使えます。


!TRUE	#TRUEの否定
!FALSE  #FALSEの否定

計算結果はこちら。

Aが真、Bが偽のとき「!A」「A&B」「A|B」は以下のようになる。

!AA&BA|B
Aが真Bが偽のときの計算例

「真は計算において数字の1として扱え、偽は0として扱える」という性質は、以下のような計算を行うことで確かめられる。


TRUE*TRUE	#1*1を計算
TRUE*FALSE	#1*0を計算
TRUE+TRUE	#1+1を計算
TRUE-TRUE	#1-1を計算
FALSE+FALSE	#0+0を計算
FALSE-FALSE	#0-0を計算

計算結果はこちら。

実践的な練習をしてみよう。


w <- 2
x <- 5
y <- 10
Z <- 10
x!=y      #「xとyが等しくない」の真偽を返す
x==y      #「xとyが等しい」の真偽を返す
(w*x)!=y  #「w*xとyが等しくない」の真偽を返す
(w*x)==y  #「w*xとyが等しい」の真偽を返す
((w*x)==y)&(x!=y)  #「w*xとyが等しい」かつ「xとyが等しくない」の真偽を返す
((w*x)==y)|(x!=y)  #「w*xとyが等しい」または「xとyが等しくない」の真偽を返す

このように、括弧を適切に使用することで、複雑な条件式もR上で表現することが出来る。

コメントは受け付けていません。