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 でデータ フレームを列ごとに並べ替える方法