A: 各列の na 値の数を数えます


次のメソッドを使用して、R のデータ フレームの各列の NA 値の数をカウントできます。

方法 1: 基数 R を使用して各列の NA 値をカウントする

 sapply(df, function (x) sum(is. na (x)))

方法 2: dplyr を使用して各列の NA 値をカウントする

 library (dplyr)

df %>% summarise(across(everything(), ~ sum(is. na (.))))

次の例は、R の次のデータ フレームで各メソッドを使用する方法を示しています。

 #create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 points=c(99, 90, 86, 88, NA),
                 assists=c(33, NA, NA, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data frame
df

  team points assists rebounds
1 A 99 33 30
2 B 90 NA 28
3 C 86 NA 24
4 D 88 39 24
5 E NA 34 28

例 1: 基数 R を使用して各列の NA 値をカウントする

次のコードは、R ベースのsapply()関数を使用して各列の NA 値の数をカウントする方法を示しています。

 #count NA values in each column
sapply(df, function (x) sum(is. na (x)))

    team points assists rebounds 
       0 1 2 0

結果から次のことがわかります。

  • チーム列の NA 値は 0 です。
  • ポイント列には 1 つの NA 値があります。
  • Assists列には 2 つの NA 値があります。
  • バウンス列の NA 値は 0 です。

: sapply()関数を使用すると、データ フレーム内の各列に関数を適用できます。この例では、NA に等しい要素の総数をカウントする関数を適用します。

例 2: dplyr を使用して各列の NA 値をカウントする

次のコードは、 dplyrパッケージのsummarise()関数を使用して各列の NA 値の数をカウントする方法を示しています。

 #count NA values in each column
sapply(df, function (x) sum(is. na (x)))

    team points assists rebounds 
       0 1 2 0

結果から次のことがわかります。

  • チーム列の NA 値は 0 です。
  • ポイント列には 1 つの NA 値があります。
  • Assists列には 2 つの NA 値があります。
  • バウンス列の NA 値は 0 です。

これらの結果は、前の例の結果に対応します。

: dplyr メソッドは、非常に大きなデータ フレームを処理する場合、基本の R メソッドよりも高速になる傾向があります。

追加リソース

次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。

Rでna.omitを使用する方法
R での complete.cases の使用方法
Rのデータフレームから空白行を削除する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です