列ごとの有効な値のリストに基づいて行ごとの無効な値をカウントする(R)

行ごとに無効な値をカウントする簡単な方法を探しています。例として、データフレームを次に示します。

data <- data.frame("c1" = c(1,1,3,0,2,2,3,1,2,9),
                   "c2" = c(2,2,3,4,1,2,1,2,1,2),
                   "c3" = c(2,3,3,4,3,3,3,3,2,9),
                   "c4" = c(4,4,0,0,1,0,3,0,3,9),
                   "c5" = c(9,1,2,3,2,1,2,3,2,1))

リストで定義された有効な値に対応しない値の数をケースごとに表示する追加の数値列が必要です。たとえば、このリストは次のようになります。

valid <- list("c1" = c(1:4,9),
              "c2" = c(1:3,9),
              "c3" = c(2:4,9),
              "c4" = c(0:3,9),
              "c5" = c(1:3,9))

したがって、この例で探している列は次のようになります。

data$invalid <- c(1,1,0,2,0,0,0,0,0,0)

私はきちんとした解決策を好みます。さまざまなpurrr :: map関数を少し試してみましたが、残念ながら実用的な解決策が見つかりませんでした。役立つヒントを事前に感謝します。

akrun

base R、使用できますMap

data$invalid <- unlist(Map(function(x, y) 
          sum(!x %in% y), data, valid[names(data)]))

またはと purrr

library(purrr)
library(dplyr)
imap_int(data, ~  sum(!.x %in% valid[[.y]])) %>%
    mutate(data, invalid = .)

更新

更新された投稿に基づく

data$invalid <- Reduce(`+`, lapply(names(valid), 
  function(nm) Reduce(`&`, lapply(valid[[nm]], function(x) data[[nm]] != x))))

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

列の値に基づいてグループごとに行をクラスタリングする

分類Dev

別の列とは異なる値に基づいて値をカウントする

分類Dev

DataFrameの行ごとにゼロ以外の値の重複しない実行をカウントする

分類Dev

別の列に基づいて2つの列から一意の値をカウントする方法は?(IDごと)

分類Dev

customerIDごとの別の列の値に基づいて現在の合計をリセットする-SQLServer

分類Dev

複数の列に基づいて行ごとにカウント

分類Dev

条件とグループごとのカウントに基づいて新しい列を作成する

分類Dev

列ごとに一意の値をカウントする

分類Dev

列Gの値に基づいてシートから行ごとに検証ルールを削除する

分類Dev

PostgreSQLの値に基づいて異なる列をカウントします

分類Dev

行ごとのリスト値に基づいてPandasデータフレームを並べ替える

分類Dev

Rの2つの変数の条件に基づいて、グループごとに観測値をカウントします

分類Dev

行ごとに一意の値をカウントします(列ごとではなく、インデックス軸上で)

分類Dev

別の列値に基づいて共通の列値を持つ行をカウントするSQLクエリ

分類Dev

行ごとにグループ化された、DataFrameの列全体で異なる効率的なカウント

分類Dev

Rのしきい値の範囲を超える列ごとの値の数をカウントします

分類Dev

日付列の値ごとに、特定の列の新しい個別の値をカウントする

分類Dev

値に基づいてリストビュー内のボタンを無効にする-Android

分類Dev

R:DataFrameの行ごとに複数の基準を満たす観測値をカウントします

分類Dev

別の列の同じ行の値との比較に基づいてセルをカウントします

分類Dev

ネストされたリストを解析し、有効なリストごとに元の文字列を返す

分類Dev

無効な入力値ごとのカスタム例外

分類Dev

行ごとの複数の最大値に基づいてマトリックスを更新するにはどうすればよいですか?

分類Dev

pandasデータフレームで値が行ごとにゼロでない列の数のカウントを取得する方法

分類Dev

別のリストの値に基づいてリストから値をフィルタリングする最も効率的な方法は何ですか

分類Dev

別のデータフレームの列との行ごとの比較に基づいてパンダの行をフィルタリングする最も効率的な方法は?

分類Dev

Spark DataFrame:列の値に基づいて行ごとにソートされた列名を取得します

分類Dev

必要な値をリストしたテーブル列に基づいて、IDごとに欠落している値を決定します

分類Dev

他の列の既存の単語に基づいて、文字列内の単語の出現回数を行ごとにカウントします

Related 関連記事

  1. 1

    列の値に基づいてグループごとに行をクラスタリングする

  2. 2

    別の列とは異なる値に基づいて値をカウントする

  3. 3

    DataFrameの行ごとにゼロ以外の値の重複しない実行をカウントする

  4. 4

    別の列に基づいて2つの列から一意の値をカウントする方法は?(IDごと)

  5. 5

    customerIDごとの別の列の値に基づいて現在の合計をリセットする-SQLServer

  6. 6

    複数の列に基づいて行ごとにカウント

  7. 7

    条件とグループごとのカウントに基づいて新しい列を作成する

  8. 8

    列ごとに一意の値をカウントする

  9. 9

    列Gの値に基づいてシートから行ごとに検証ルールを削除する

  10. 10

    PostgreSQLの値に基づいて異なる列をカウントします

  11. 11

    行ごとのリスト値に基づいてPandasデータフレームを並べ替える

  12. 12

    Rの2つの変数の条件に基づいて、グループごとに観測値をカウントします

  13. 13

    行ごとに一意の値をカウントします(列ごとではなく、インデックス軸上で)

  14. 14

    別の列値に基づいて共通の列値を持つ行をカウントするSQLクエリ

  15. 15

    行ごとにグループ化された、DataFrameの列全体で異なる効率的なカウント

  16. 16

    Rのしきい値の範囲を超える列ごとの値の数をカウントします

  17. 17

    日付列の値ごとに、特定の列の新しい個別の値をカウントする

  18. 18

    値に基づいてリストビュー内のボタンを無効にする-Android

  19. 19

    R:DataFrameの行ごとに複数の基準を満たす観測値をカウントします

  20. 20

    別の列の同じ行の値との比較に基づいてセルをカウントします

  21. 21

    ネストされたリストを解析し、有効なリストごとに元の文字列を返す

  22. 22

    無効な入力値ごとのカスタム例外

  23. 23

    行ごとの複数の最大値に基づいてマトリックスを更新するにはどうすればよいですか?

  24. 24

    pandasデータフレームで値が行ごとにゼロでない列の数のカウントを取得する方法

  25. 25

    別のリストの値に基づいてリストから値をフィルタリングする最も効率的な方法は何ですか

  26. 26

    別のデータフレームの列との行ごとの比較に基づいてパンダの行をフィルタリングする最も効率的な方法は?

  27. 27

    Spark DataFrame:列の値に基づいて行ごとにソートされた列名を取得します

  28. 28

    必要な値をリストしたテーブル列に基づいて、IDごとに欠落している値を決定します

  29. 29

    他の列の既存の単語に基づいて、文字列内の単語の出現回数を行ごとにカウントします

ホットタグ

アーカイブ