R でゼロを含む行を削除する方法 (例あり)


次のいずれかの方法を使用して、R のデータ フレーム内のゼロを含む行を削除できます。

方法 1: 基数 R を使用してゼロを含む行を削除する

 df_new <- df[apply(df!= 0 , 1 , all),]

方法 2: dplyr を使用してゼロを含む行を削除する

 library (dplyr)

df_new <- filter_if(df, is.numeric , all_vars((.) != 0 ))

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

 #create data frame
df <- data. frame (points=c(5, 7, 8, 0, 12, 14, 0, 10, 8),
                 assists=c(0, 2, 2, 4, 4, 3, 7, 6, 10),
                 rebounds=c(8, 8, 7, 3, 6, 5, 0, 12, 11))

#view data frame
df

  points assists rebounds
1 5 0 8
2 7 2 8
3 8 2 7
4 0 4 3
5 12 4 6
6 14 3 5
7 0 7 0
8 10 6 12
9 8 10 11

例 1: 基数 R を使用してゼロを含む行を削除する

次のコードは、R の Base apply()関数を使用してゼロを含む行を削除する方法を示しています。

 #create new data frame that removes rows with any zeros from original data frame
df_new <- df[apply(df!= 0 , 1 , all),]

#view new data frame
df_new

  points assists rebounds
2 7 2 8
3 8 2 7
5 12 4 6
6 14 3 5
8 10 6 12
9 8 10 11

Null 値を含む 3 行が削除されていることに注意してください。

例 2: dplyr を使用してゼロを含む行を削除する

次のコードは、R のdplyrパッケージからfilter_if()関数を使用してゼロを含む行を削除する方法を示しています。

 #create new data frame that removes rows with any zeros from original data frame
df_new <- filter_if(df, is.numeric , all_vars((.) != 0 ))

#view new data frame
df_new

  points assists rebounds
1 7 2 8
2 8 2 7
3 12 4 6
4 14 3 5
5 10 6 12
6 8 10 11

Null 値を含む 3 行が削除されていることに注意してください。

これは、R ベースを使用して得られた結果に対応します。

: is.numeric関数を使用して、データ フレーム内のすべての数値変数がゼロ以外であることを指定しました。

追加リソース

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

Rのデータフレームから空白行を削除する方法
RでNA値を持つ列を削除する方法
Rで重複行を削除する方法

コメントを追加する

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