Rにおける欠損値置換法

欠損値は、R の次の手法を使用して置換できます。

  1. 欠損値に0を代入するならifelse()関数が使える。例えばxというベクトルに欠損値のNAがあれば、欠損値を0に置き換えるには以下のコードが使える。
  2. 欠損値のある要素を0で置換します: x <- ifelse(is.na(x), 0, x)
  3. is.na() 関数と代入演算子を 使 い ます。 is.na() 関数は欠損値の検出に使え、代入演算子で欠損値を特定の値に置き換えられます。たとえば、x ベクトルに NA 欠損値があると仮定すると、以下のコードによって欠損値を 0 に置き換えられます。
  4. NAの要素を含むベクトルx <- c(1, 2, NA, 4, 5)に対して、NAの要素を0に置き換えるには、x[is.na(x)] <- 0を使用します。
  5. NA を含む行やカラムを削除するには、na.omit() 関数が使用できます. na.omit() 関数を使うと、欠損値を削除したデータが返されます. 例えば、データフレーム df に欠損値 NA が含まれている場合、以下のコードを使用して欠損値を含む行を削除し、新たなデータフレーム df_new を作成できます.
  6. df_new <- df[!is.na(df[[1]]), ] # 先頭の1カラム目が欠損値でない行だけを抜き出す
  7. complete.cases() 関数と代入演算子を使用して: complete.cases() 関数はデータフレームに欠損値があるかどうかを検出し、欠損値を含まない観測値を示す論理ベクトルを返します。この論理ベクトルは代入演算子を使用して、欠損値を含まない観測値を新しいデータフレームに代入するために使用できます。たとえば、データフレーム df に欠損値 NA が含まれている場合、次のコードを使用して、欠損値を含まない観測値を新しいデータフレーム df_new に代入できます。
  8. df_new <- df[complete.cases(df), ]

対象とする状況に応じて、欠損値を埋めるためにそれらの手法を選択して使用できます。

bannerAds