Rのデータフレームから空白行を削除する方法


次の方法を使用して、R のデータ フレームから空白行を削除できます。

方法 1: すべての列に NA がある行を削除する

 df[rowSums(is. na (df)) != ncol(df), ]

方法 2: 少なくとも 1 つの列で NA を含む行を削除する

 df[complete. boxes (df), ]

次の例は、各メソッドを実際に使用する方法を示しています。

例 1: すべての列が NA の行を削除する

R に次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (x=c(3, 4, NA, 6, 8, NA),
                 y=c(NA, 5, NA, 2, 2, 5),
                 z=c(1, 2, NA, 6, 8, NA))

#view data frame
df

   X Y Z
1 3 NA 1
2 4 5 2
3 NA NA NA
4 6 2 6
5 8 2 8
6 NA 5 NA

次のコードを使用して、各列に NA 値を持つ行をデータ フレームから削除できます。

 #remove rows with NA in all columns
df[rowSums(is. na (df)) != ncol(df), ]

   X Y Z
1 3 NA 1
2 4 5 2
4 6 2 6
5 8 2 8
6 NA 5 NA

各列の NA 値を含む行が削除されていることに注意してください。

例 2: 少なくとも 1 つの列に NA がある行を削除する

もう一度、R に次のデータ フレームがあると仮定してみましょう。

 #create data frame
df <- data. frame (x=c(3, 4, NA, 6, 8, NA),
                 y=c(NA, 5, NA, 2, 2, 5),
                 z=c(1, 2, NA, 6, 8, NA))

#view data frame
df

   X Y Z
1 3 NA 1
2 4 5 2
3 NA NA NA
4 6 2 6
5 8 2 8
6 NA 5 NA

次のコードを使用して、少なくとも 1 つの列に NA 値を持つ行をデータ フレームから削除できます。

 #remove rows with NA in at least one column
df[complete. boxes (df), ]

  X Y Z
2 4 5 2
4 6 2 6
5 8 2 8

少なくとも 1 つの列に NA 値を持つすべての行が削除されていることに注意してください。

関連: R で complete.cases を使用する方法 (例あり)

追加リソース

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

Rで空のデータフレームを作成する方法
Rで空のリストを作成する方法
R で空のベクトルを作成する方法

コメントを追加する

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