R の行列から na を削除する方法 (例あり)
次のメソッドを使用して、R の行列から NA 値を削除できます。
方法 1: NA 値を含む行を削除する
new_matrix <- my_matrix[ ! rowSums( is.na (my_matrix)),]
方法 2: NA 値を持つ列を削除する
new_matrix <- my_matrix[, ! colSums( is.na (my_matrix))]
次の例は、R の次の行列を使用して各メソッドを実際に使用する方法を示しています。
#create matrix my_matrix <- matrix(c(NA, 0, NA, 5, 7, 4, 1, 3, 9, 5, 5, 8), nrow= 4 ) #view matrix my_matrix [,1] [,2] [,3] [1,] NA 7 9 [2,] 0 4 5 [3,] NA 1 5 [4,] 5 3 8
方法 1: NA 値を含む行を削除する
次のコードは、NA 値を含むすべての行を行列から削除する方法を示しています。
#remove all rows with NA values
new_matrix <- my_matrix[ ! rowSums( is.na (my_matrix)),]
#view updated matrix
new_matrix
[,1] [,2] [,3]
[1,] 0 4 5
[2,] 5 3 8
NA 値を持つすべての行が行列から削除されていることに注意してください。
方法 2: NA 値を持つ列を削除する
次のコードは、NA 値を含むすべての列を行列から削除する方法を示しています。
#remove all columns with NA values
new_matrix <- my_matrix[, ! colSums( is.na (my_matrix))]
#view updated matrix
new_matrix
[,1] [,2]
[1,] 7 9
[2,] 4 5
[3,] 1 5
[4,] 3 8
NA 値を持つすべての列が行列から削除されていることに注意してください。
ボーナス: NA 値を行列でゼロに変換します
単に行列内のすべての NA 値をゼロに変換したい場合は、次の構文を使用できます。
#remove all columns with NA values
my_matrix[is. na (my_matrix)] <- 0
#view updated matrix
my_matrix
[,1] [,2] [,3]
[1,] 0 7 9
[2,] 0 4 5
[3,] 0 1 5
[4,] 5 3 8
すべての NA 値がゼロに変換されていることに注意してください。
追加リソース
次のチュートリアルでは、R で欠損値を使用して他の一般的な操作を実行する方法について説明します。