Rで解析:オブジェクトの内容やベクトルでの位置を確認するコマンドのまとめ

Rの解析に役に立つ記事
スポンサーリンク

Rを使用していると、ifコマンドを利用して「オブジェクトの内容で処理を変えたり」、文字列や数列などで「ある文字(数字)がどこの位置に存在するか」などの情報を取得する必要が出てきます。これら操作に必要なコマンドをまとめてみました。

新たにパッケージを導入する必要はありません。実行コマンドはwindows 11のR version 4.1.2で確認しています。

スポンサーリンク

実行コマンド

#データ例
a <- c(1, 4, 4, 6)
b <- c(3, 4, 6, 7)

#一致の確認
a == b
[1] FALSE  TRUE FALSE FALSE

#ベクトルの長さが異なる場合
#エラーが出ます
c <- c(1, 5, 4, 6, 9)
a == c
[1]  TRUE FALSE  TRUE  TRUE FALSE
Warning message:
  In a == c :
  長いオブジェクトの長さが短いオブジェクトの長さの倍数になっていません 

#一致の確認に"=="を使用するとベクトルで表示されるので
#if文での使用では工夫が必要な場合があります
#そこで、オススメの一致確認方法
#identical(all.equal(比較A, 比較B), TRUE)
identical(all.equal(a, b), TRUE)
[1] FALSE

#%in%を使用
#意味:aはcに含まれているか
a %in% c
[1] TRUE TRUE TRUE TRUE

#不一致の確認
a != b
[1]  TRUE FALSE  TRUE  TRUE

#aはbより大きいかの確認
a > b
[1] FALSE FALSE FALSE FALSE

#aはb以上かの確認
a >= b
[1] FALSE  TRUE FALSE FALSE

#aはbより小さいかの確認
a < b
[1]  TRUE FALSE  TRUE  TRUE

#aはb未満かの確認
a <= b
[1] TRUE TRUE TRUE TRUE

#aとbの理論和
a | b
[1] TRUE TRUE TRUE TRUE

#aとbの理論積
a & b
[1] TRUE TRUE TRUE TRUE

#オブジェクトの完全一致確認
identical(a, b)
[1] FALSE

#注意:完全一致なので型も確認されます
#例えば整数型と倍精度少数ではFALSEとなります
identical(as.integer(10), 10.0)
[1] FALSE

#でもidentical(10, 10.0)と実行すると
identical(10, 10.0)
[1] TRUE

#条件を満たすベクトルの位置を取得
#whichコマンド
#例えば3の倍数
which(a%%3 == 0)
[1] 4

#位置ではなく要素を取り出す場合
a[which(a%%3 == 0)]
[1] 6

少しでも、あなたの解析が楽になりますように!!

Amazon audibleの登録の紹介

プライム会員限定で2024年7月22日まで3か月無料体験キャンペーン開催中です。無料体験後は月額1,500円で聞き放題です。なお、聞き放題対象外の本はAudible会員であれば非会員価格の30%引きで購入することが可能です。

Amazon audibleはプロのナレーターが朗読した本をアプリで聞くことができるサービスで、オフライン再生も可能です。通勤や作業のお供にAmazon audibleのご登録はいかがでしょうか。

・AmazonのAudible

https://amzn.to/3L4FI5o

タイトルとURLをコピーしました