Rでna値を持つ列を削除する方法


R のデータ フレームから NA 値を含む列を削除するには、次の 2 つの方法のいずれかを使用できます。

方法 1: Base R を使用する

 df[, colSums(is. na (df))== 0 ]

方法 2: dplyr を使用する

 library (dplyr)

df %>% select_if(~ !any(is. na (.)))

どちらの方法でも同じ結果が得られます。

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

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

#view data frame
df

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

例 1: 基数 R を使用して NA 値を持つ列を削除する

次のコードは、基本的な R 関数を使用して NA 値を持つ列を削除する方法を示しています。

 #define new data frame
new_df <- df[ , colSums(is. na (df))== 0 ]

#view new data frame
new_df

  team assists
1 to 33
2 B 28
3 C 31
4 D 39
5 E 34

NA 値 (ポイントとリバウンド) を含む 2 つの列が両方ともデータ フレームから削除されていることに注意してください。

例 2: dplyr を使用して NA 値を持つ列を削除する

次のコードは、 dplyrパッケージの関数を使用して NA 値を持つ列を削除する方法を示しています。

 library (dplyr)

#define new data frame
new_df <- df %>% select_if(~ !any(is. na (.)))

#view new data frame
new_df

  team assists
1 to 33
2 B 28
3 C 31
4 D 39
5 E 34

ここでも、NA 値 (ポイントとリバウンド) を含む 2 つの列が両方ともデータ フレームから削除されました。

追加リソース

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

R でデータ フレームに列を追加する方法
R でデータ フレーム列の名前を変更する方法
R でデータ フレームを列ごとに並べ替える方法

コメントを追加する

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