Rでは、`T` や `F` は「ブーリアン(論理値)」という特別な型のデータです。これは[[文字列]]や数値とは異なります(`TRUE` や `FALSE` と書くこともできます)。
## 基本的な比較演算
次のような単純な比較を[[R のコンソール]]で試してみましょう
```R
> 3 < 1
[1] FALSE
> 2==3
[1] FALSE
> 2==2
[1] TRUE
```
これらの例では:
- `3 < 1` は「3は1より小さいか?」という質問で、結果は `FALSE` になります
- `2==3` は「2と3は等しいか?」という質問で、結果は `FALSE` になります
- `2==2` は「2と2は等しいか?」という質問で、結果は `TRUE` になります
以下のコードを**そのままRStudioにコピペして実行**してみましょう。
```R
# サンプルデータを作成
df <- data.frame(
id = c("A", "B", "C", "D"),
score = c(90, 55, 72, 68)
)
# 作成したデータを表示
df
# 点数(score)が70点以上かどうかを判定し、結果をブーリアンで追加
df$pass <- df$score >= 70
# 判定後のデータを表示
df
# TRUE(合格者)の人数を数える
sum(df$pass)
```
## 結果の見方
新しく作成された `pass` という列には、点数が70点以上の場合は `TRUE` (T)、そうでない場合は `FALSE` (F) が入ります。
最後の `sum(df$pass)` は、TRUE(条件を満たすデータ)の個数を数えます。これは内部的に TRUE が数値の 1、FALSE が 0 として扱われるためです。
実際にそのように扱われているか、[[R のコンソール]] で確認してみましょう。
```R
> 1 == TRUE
[1] TRUE
> 0 == FALSE
[1] TRUE
> 0 == TRUE
[1] FALSE
```