あるテーブルのレコードを他のテーブルのレコードに基づいてフィルタリングする

ジャック

次のような 2 つの data.table dt と dt1 があります。

> dt <- data.table(grp = c("A", "A",  "B", "B", "C"),
                   cat = c("01", "02", "01", "02", "01"),
                  Value = c(234, 234, 235, 536, 235))

> dt
   grp cat Value
1:   A  01   234
2:   A  02   234
3:   B  01   235
4:   B  02   536
5:   C  01   235

> dt1 <- data.table(grp = c("A","A","A","A","A","A","B","B","B", "B","C"),
                   cat = c("01","01","02","02","03","04", "01","01", "02", "03","01"),
                   rec = c(5435,4341, 32525,436,7087,467,523,245,568,24,789),
                   val = c(346,6876,436,6807,465,65875,6432,754,326532,746,578))

> dt1
    grp cat   rec    val
 1:   A  01  5435    346
 2:   A  01  4341   6876
 3:   A  02 32525    436
 4:   A  02   436   6807
 5:   A  03  7087    465
 6:   A  04   467  65875
 7:   B  01   523   6432
 8:   B  01   245    754
 9:   B  02   568 326532
10:   B  03    24    746
11:   C  01   789    578

私は、テーブルからレコードを削除したいdt1私は、対応する持っていないcatgrp中をdt

たとえば、grpA の場合cat、dt の 03 と 04 に関連付けられたレコードはありませんそのため、dt1 でそれらを削除します。

私の最終的なテーブルdt1は次のようでなければなりません

> dt1
    grp cat   rec    val
 1:   A  01  5435    346
 2:   A  01  4341   6876
 3:   A  02 32525    436
 4:   A  02   436   6807
 5:   B  01   523   6432
 6:   B  01   245    754
 7:   B  02   568 326532
 8:   C  01   789    578

Rのdata.tableでこれを行うにはどうすればよいですか

クルン

我々はできる

dt1[dt[, -3], on = .(grp, cat)]
#    grp cat   rec    val
#1:   A  01  5435    346
#2:   A  01  4341   6876
#3:   A  02 32525    436
#4:   A  02   436   6807
#5:   B  01   523   6432
#6:   B  01   245    754
#7:   B  02   568 326532
#8:   C  01   789    578

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Oracle SQL:条件に基づいて特定のレコードをあるテーブルから別のフィルタリング行に転送します

分類Dev

同じテーブル内の他のレコードに基づいてレコードを更新する

分類Dev

Unixのテキストに基づいてレコードをフィルタリングする

分類Dev

別のテーブルの2つの日付フィールドに基づいて1つのテーブルのレコード数を取得する方法

分類Dev

フィールド値の数に基づいて、1つのテーブルのレコードを他のテーブルのレコード数に変換するMysqlクエリ

分類Dev

他のパラメータに基づいて特定のレコードのみでテーブルをフィルタリングするにはどうすればよいですか?

分類Dev

MS-Access 2016 - 別のテーブルのレコードに基づいてレコードを更新する

分類Dev

コンボボックスの値に基づいてテーブルをフィルタリングする

分類Dev

MySQLの別のテーブルのIDフィールドに基づいてテーブル内のレコードを見つける方法は?

分類Dev

別のレコードセットのレコードに基づいてMS-Accessレコードセットをフィルタリングする

分類Dev

「新しいレコード」に基づいてテーブル「前のレコード」を更新する

分類Dev

別のテーブルのレコードに基づいてテーブルにレコードを挿入するMySQLクエリ

分類Dev

特定の条件に基づいてレコードをフィルタリングするためのクエリ

分類Dev

テーブルフィールドのすべての値に基づいて検索するアクティブレコードの書き込み

分類Dev

列の条件に基づいて最新のレコードをフィルタリングする

分類Dev

他のテーブルのレコードでクエリをフィルタリングするにはどうすればよいですか?--laravel

分類Dev

2つの子テーブルの集計を比較する条件に基づくリターンレコード

分類Dev

別のテーブルに基づいてテーブルをフィルタリングする

分類Dev

別のテーブルのレコードに基づいてテーブルにレコードを挿入するためのSQLプロシージャ

分類Dev

フィールドに基づいて他のテーブルにデータを追加する

分類Dev

日付に基づいてMongoDBのレコードをフィルタリング/検索する方法

分類Dev

角度4の日付に基づいてレコードをフィルタリングする方法

分類Dev

複数のプロパティに基づいてレコードをフィルタリングし、カウントを取得する方法

分類Dev

レコード内の他の4つのフィールドのブール演算子に基づいて、データフレーム内のフィールドを効率的に更新するにはどうすればよいですか?

分類Dev

Accessの異なるテーブルの他の2つのフィールドの値に基づいてマスターテーブルを更新する

分類Dev

別のテーブルに基づいてテーブルから選択するレコード数Oracle

分類Dev

テーブルの結合結果に基づいてクエリからレコードを除外する

分類Dev

Javaは、他のテーブルのレコードに基づいて、テーブルのレコードを表示します

分類Dev

別のテーブルに基づいて無効なフィールド値を持つデータをフィルタリングする

Related 関連記事

  1. 1

    Oracle SQL:条件に基づいて特定のレコードをあるテーブルから別のフィルタリング行に転送します

  2. 2

    同じテーブル内の他のレコードに基づいてレコードを更新する

  3. 3

    Unixのテキストに基づいてレコードをフィルタリングする

  4. 4

    別のテーブルの2つの日付フィールドに基づいて1つのテーブルのレコード数を取得する方法

  5. 5

    フィールド値の数に基づいて、1つのテーブルのレコードを他のテーブルのレコード数に変換するMysqlクエリ

  6. 6

    他のパラメータに基づいて特定のレコードのみでテーブルをフィルタリングするにはどうすればよいですか?

  7. 7

    MS-Access 2016 - 別のテーブルのレコードに基づいてレコードを更新する

  8. 8

    コンボボックスの値に基づいてテーブルをフィルタリングする

  9. 9

    MySQLの別のテーブルのIDフィールドに基づいてテーブル内のレコードを見つける方法は?

  10. 10

    別のレコードセットのレコードに基づいてMS-Accessレコードセットをフィルタリングする

  11. 11

    「新しいレコード」に基づいてテーブル「前のレコード」を更新する

  12. 12

    別のテーブルのレコードに基づいてテーブルにレコードを挿入するMySQLクエリ

  13. 13

    特定の条件に基づいてレコードをフィルタリングするためのクエリ

  14. 14

    テーブルフィールドのすべての値に基づいて検索するアクティブレコードの書き込み

  15. 15

    列の条件に基づいて最新のレコードをフィルタリングする

  16. 16

    他のテーブルのレコードでクエリをフィルタリングするにはどうすればよいですか?--laravel

  17. 17

    2つの子テーブルの集計を比較する条件に基づくリターンレコード

  18. 18

    別のテーブルに基づいてテーブルをフィルタリングする

  19. 19

    別のテーブルのレコードに基づいてテーブルにレコードを挿入するためのSQLプロシージャ

  20. 20

    フィールドに基づいて他のテーブルにデータを追加する

  21. 21

    日付に基づいてMongoDBのレコードをフィルタリング/検索する方法

  22. 22

    角度4の日付に基づいてレコードをフィルタリングする方法

  23. 23

    複数のプロパティに基づいてレコードをフィルタリングし、カウントを取得する方法

  24. 24

    レコード内の他の4つのフィールドのブール演算子に基づいて、データフレーム内のフィールドを効率的に更新するにはどうすればよいですか?

  25. 25

    Accessの異なるテーブルの他の2つのフィールドの値に基づいてマスターテーブルを更新する

  26. 26

    別のテーブルに基づいてテーブルから選択するレコード数Oracle

  27. 27

    テーブルの結合結果に基づいてクエリからレコードを除外する

  28. 28

    Javaは、他のテーブルのレコードに基づいて、テーブルのレコードを表示します

  29. 29

    別のテーブルに基づいて無効なフィールド値を持つデータをフィルタリングする

ホットタグ

アーカイブ