[解決済み] Rの==と%in%演算子の違い【重複】について
2022-03-05 03:42:15
質問
の実用的な違いについて質問です。
==
と
%in%
演算子をRで使用することができます。
仕事で、どちらかの演算子でフィルタリングすると、異なる結果が得られるという事例に遭遇しました(例えば、一方は800行、他方は1200行で結果が得られる)。私は過去にこの問題に遭遇し、私が望む結果を得ることを確実にする方法で検証することができました。しかし、どのように異なるのかについては、まだ困っています。
どなたか、これらの演算子がどのように違うのか、教えてください。
どのように解決するのですか?
%in%
は
値一致
で、quot;最初の引数が2番目の引数にマッチする(最初の)位置のベクトルを返します" (参照
help('%in%')
つまり、異なる長さのベクトルを比較して、あるベクトルの要素が別のベクトルの少なくとも1つの要素と一致するかどうかを確認することができます。出力の長さは、比較されるベクトル(最初のベクトル)の長さと同じになります。
1:2 %in% rep(1:2,5)
#[1] TRUE TRUE
rep(1:2,5) %in% 1:2
#[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
#Note this output is longer in second
==
は
論理演算子
2つのものが完全に等しいかどうかを比較するためのものです。ベクターの長さが等しい場合、要素は要素ごとに比較されます。そうでない場合は、ベクトルは再利用されます。出力の長さは、長い方のベクトルの長さに等しくなります。
1:2 == rep(1:2,5)
#[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
rep(1:2,5) == 1:2
#[1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
1:10 %in% 3:7
#[1] FALSE FALSE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE
#is same as
sapply(1:10, function(a) any(a == 3:7))
#[1] FALSE FALSE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE
注:可能であれば
identical
または
all.equal
ではなく
==
とします。
関連
-
[解決済み】 lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...) のエラー : 'y' の NA/NaN/Inf, あらゆる方法を試したが解決しなかった。
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] Pythonにおけるincrementとdecrement演算子の挙動
-
[解決済み] Rの代入演算子"="と"<-"の違いは何ですか?
-
[解決済み] イコール、エクル、==、==の違いは何ですか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】ビットシフト(bit-shift)演算子とは、どのようなもので、どのように機能するのですか?
-
[解決済み] リファレンス - このシンボルはPHPで何を意味するのですか?
-
[解決済み】なぜJavaの+=, -=, *=, /=複合代入演算子はキャスティングを必要としないのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】xtsオブジェクトでエラー: "antempt to set 'colnames' on the object with less than two dimension "を克服する方法
-
[解決済み】knitrのドキュメントでinstall.packagesが失敗する。"ミラーを設定せずにCRANを使おうとしている"
-
[解決済み】「arguments imply differing number of rows: x, y」というエラーは何を意味するのか?
-
[解決済み】scale_color_manual()が動作しない件
-
[解決済み】library(ggplot2)でエラー:'ggplot2'というパッケージは存在しません。
-
[解決済み] write.tableしようとすると、未実装の型リストが表示される。
-
[解決済み】apply()とadply()の出力が異なる件)
-
[解決済み】x[[i]]でのエラー:レベル2で再帰的インデックス作成に失敗した
-
[解決済み】R 置換する項目数が置換長の倍数でない/しかし結果は正しい
-
[解決済み】seq_alongはうまくいくが、seqが意図しない結果を生む例とは?