[解決済み] dplyr の文字列列で複数の値をフィルタリングする
質問
私は
data.frame
があり、その中の1つのカラムに文字データが入っています。
の中にある複数の選択肢をフィルタリングしたい。
data.frame
の複数のオプションを同じ列からフィルタリングしたいのです。私が見逃しているこれを行うための簡単な方法はありますか?
例です。
data.frame
名前 =
dat
days name
88 Lynn
11 Tom
2 Chris
5 Lisa
22 Kyla
1 Tom
222 Lynn
2 Lynn
をフィルタリングしたい
Tom
と
Lynn
を例にとります。
するとき。
target <- c("Tom", "Lynn")
filt <- filter(dat, name == target)
こんなエラーが出ます。
longer object length is not a multiple of shorter object length
どのように解決するのですか?
必要なものは
%in%
の代わりに
==
:
library(dplyr)
target <- c("Tom", "Lynn")
filter(dat, name %in% target) # equivalently, dat %>% filter(name %in% target)
生成する
days name
1 88 Lynn
2 11 Tom
3 1 Tom
4 222 Lynn
5 2 Lynn
その理由を理解するために、ここで何が起こるかを考えてみましょう。
dat$name == target
# [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
基本的には、2つの長さを再利用している
target
の長さに合うように 4 回ベクトルを再利用しています。
dat$name
. つまり、やっているのは
Lynn == Tom
Tom == Lynn
Chris == Tom
Lisa == Lynn
... continue repeating Tom and Lynn until end of data frame
この場合、エラーは発生しません。なぜなら、あなたのデータフレームは実際には異なる数の行を持ち、リサイクルを許可していないと思われますが、あなたが提供したサンプルは許可しているからです(8行)。 もしサンプルに奇数の行があれば、あなたと同じエラーが出たでしょう。 しかし、リサイクルがうまくいったとしても、これは明らかにあなたが望んでいることではありません。 基本的に、この文は
dat$name == target
は言っていることと同じです。
戻る
TRUE
に等しい全ての奇数値、または "Tom"に等しい全ての偶数値について
サンプル データ フレームの最後の値は偶数で "Lynn"に等しいので、1 つの
TRUE
となります。
対比するために
dat$name %in% target
は言う。
の各値に対して
dat$name
に存在することを確認します。target
.
非常に異なっています。 以下はその結果です。
[1] TRUE TRUE FALSE FALSE FALSE TRUE TRUE TRUE
あなたの問題は
dplyr
とは関係なく、単に
==
.
関連
-
[解決済み] 特定のサイズのプロットウィンドウを作成する
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] ある文字列が特定の単語を含んでいるかどうかを確認するにはどうすればよいですか?
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] R dataframeでNAの値をゼロに置き換えるには?
-
[解決済み] xkcd風のグラフを作るには?
-
[解決済み] リストやデータフレームの要素にアクセスするためのブラケット[ ]とダブルブラケット[[ ]]の違いについて
-
[解決済み] 統計的最頻値の求め方は?
-
[解決済み】data.table vs dplyr:一方がうまくできない、またはうまくできないことを行うことができますか?
-
[解決済み] データフレームのカラムのデータ型を決定する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
R言語エラー:図の余白が大きすぎる 解決方法
-
[解決策】 plot.new() のエラー:図の余白が大きすぎる。
-
ggplot2 からグリッドと背景色を削除する。
-
R - ユークリッド距離の計算を簡単にする方法
-
[R] is.data.frame(x) のエラー : (リスト) オブジェクトを 'double' 型に強制できない。
-
[解決済み] Rの二乗偏差の総和の算出
-
[解決済み] Rでオブジェクト(変数)が定義されているかどうかを確認するには?
-
[解決済み】ifelse()でDateオブジェクトがnumericオブジェクトにならないようにする方法
-
[解決済み】Rスクリプトで警告をグローバルに抑制する方法
-
[解決済み] データフレームのカラムのデータ型を決定する