dplyrの文字列列の複数の値をフィルタリングする

トムO:

私が持っているdata.frame列のいずれかで文字データで。data.frame同じ列の複数のオプションをフィルタリングしたいと思います。これを行う簡単な方法はありますか?

例: data.frame名前=dat

days      name
88        Lynn
11          Tom
2           Chris
5           Lisa
22        Kyla
1          Tom
222      Lynn
2         Lynn

私はフィルタリングしたいTomLynn例えば。
私がする時:

target <- c("Tom", "Lynn")
filt <- filter(dat, name == target)

私はこのエラーを受け取ります:

longer object length is not a multiple of shorter object length
BrodieG:

あなたの%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「トム」に等しいすべての奇数値または「リン」に等しいすべての偶数値に対して戻ります。

サンプルデータフレームの最後の値が偶数で「Lynn」に等しいため、TRUE上記のようになります。

対照的に、dat$name %in% target言う:

の各値についてdat$name、に存在することを確認しtargetます。

非常に異なります。結果は次のとおりです。

[1]  TRUE  TRUE FALSE FALSE FALSE  TRUE  TRUE  TRUE

問題はとは関係なくdplyr、の誤用にすぎないことに注意してください==

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

dplyrの文字列列の複数の値をフィルタリングする

分類Dev

複数の文字列をフィルタリングする方法

分類Dev

Angularjs配列を複数の列と値でフィルタリングする

分類Dev

同じ列の複数の値をフィルタリングする方法

分類Dev

文字列の行から数値のみをフィルタリングする

分類Dev

複数の値を持つ多次元配列をフィルタリングする

分類Dev

JSで複数の文字列をフィルタリングする方法は?

分類Dev

別の配列の特定の値を使用して複数の配列をフィルタリングする

分類Dev

複数の文字列値でオブジェクトをフィルタリングする

分類Dev

Excelで複数の列をフィルタリングする

分類Dev

SQLの単一列のフィルタリングされた値から複数の列を作成する

分類Dev

別の配列からの複数の値で配列をフィルタリングする方法

分類Dev

列名に文字列照合を使用して、dplyrで複数の列をフィルタリングするにはどうすればよいですか?

分類Dev

同じ列の複数の値でフィルタリングする

分類Dev

パンダのデータフレーム行を複数の列値でフィルタリングする

分類Dev

Appsスクリプト内の複数のサブ文字列の存在をフィルタリングする

分類Dev

Python:辞書の複数のリストから空の文字列をフィルタリングする

分類Dev

data.tableを使用して複数の列にまたがる文字列をフィルタリングする

分類Dev

「%in%」を使用した複数の列でのdplyrフィルタリング

分類Dev

アンダースコアを使用した複数の値に対する文字列の配列のフィルタリング/拒否

分類Dev

複数の値でパンダの単一の列(dtype = object)をフィルタリングする方法

分類Dev

複数の一致があるプロップ文字列で配列をフィルタリングする

分類Dev

文字列値でフィルタリングされた複数のファイルを列挙するSelectManyにはインデックスが必要です

分類Dev

テーブル内の複数の列をフィルタリングする

分類Dev

値の部分文字列のJSON応答をフィルタリングする

分類Dev

PHPのforループで複数の配列値をフィルタリングする方法は?

分類Dev

文字列のnumpy配列をフィルタリングする

分類Dev

複数の文字列値を持つキーを含む配列をフィルタリングするにはどうすればよいですか?

分類Dev

パンダを使用して複数の値を持つセル内の文字列をフィルタリングする

Related 関連記事

  1. 1

    dplyrの文字列列の複数の値をフィルタリングする

  2. 2

    複数の文字列をフィルタリングする方法

  3. 3

    Angularjs配列を複数の列と値でフィルタリングする

  4. 4

    同じ列の複数の値をフィルタリングする方法

  5. 5

    文字列の行から数値のみをフィルタリングする

  6. 6

    複数の値を持つ多次元配列をフィルタリングする

  7. 7

    JSで複数の文字列をフィルタリングする方法は?

  8. 8

    別の配列の特定の値を使用して複数の配列をフィルタリングする

  9. 9

    複数の文字列値でオブジェクトをフィルタリングする

  10. 10

    Excelで複数の列をフィルタリングする

  11. 11

    SQLの単一列のフィルタリングされた値から複数の列を作成する

  12. 12

    別の配列からの複数の値で配列をフィルタリングする方法

  13. 13

    列名に文字列照合を使用して、dplyrで複数の列をフィルタリングするにはどうすればよいですか?

  14. 14

    同じ列の複数の値でフィルタリングする

  15. 15

    パンダのデータフレーム行を複数の列値でフィルタリングする

  16. 16

    Appsスクリプト内の複数のサブ文字列の存在をフィルタリングする

  17. 17

    Python:辞書の複数のリストから空の文字列をフィルタリングする

  18. 18

    data.tableを使用して複数の列にまたがる文字列をフィルタリングする

  19. 19

    「%in%」を使用した複数の列でのdplyrフィルタリング

  20. 20

    アンダースコアを使用した複数の値に対する文字列の配列のフィルタリング/拒否

  21. 21

    複数の値でパンダの単一の列(dtype = object)をフィルタリングする方法

  22. 22

    複数の一致があるプロップ文字列で配列をフィルタリングする

  23. 23

    文字列値でフィルタリングされた複数のファイルを列挙するSelectManyにはインデックスが必要です

  24. 24

    テーブル内の複数の列をフィルタリングする

  25. 25

    値の部分文字列のJSON応答をフィルタリングする

  26. 26

    PHPのforループで複数の配列値をフィルタリングする方法は?

  27. 27

    文字列のnumpy配列をフィルタリングする

  28. 28

    複数の文字列値を持つキーを含む配列をフィルタリングするにはどうすればよいですか?

  29. 29

    パンダを使用して複数の値を持つセル内の文字列をフィルタリングする

ホットタグ

アーカイブ