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のデータフレームから空白行を削除する方法