Rの欠損値を補間する方法(例を含む)
次の基本構文を使用して、R のデータ フレーム列の欠損値を補間できます。
library (dplyr) library (zoo) df <- df %>% mutate(column_name = na. approx (column_name))
次の例は、この構文を実際に使用する方法を示しています。
例: R の欠損値を補間する
R に、連続 15 日間の店舗の総売上高を示す次のデータ フレームがあるとします。
#create data frame df <- data. frame (day=1:15, sales=c(3, 6, 8, 10, 14, 17, 20, NA, NA, NA, NA, 35, 39, 44, 49)) #view data frame df day sales 1 1 3 2 2 6 3 3 8 4 4 10 5 5 14 6 6 17 7 7 20 8 8 NA 9 9 NA 10 10 NA 11 11 NA 12 12 35 13 13 39 14 14 44 15 15 49
データ フレームには 4 日間の売上高が欠落していることに注意してください。
売上を時間の経過とともに視覚化する単純な折れ線グラフを作成すると、次のようになります。
#create line chart to visualize sales plot(df$sales, type=' o ', pch= 16 , col=' steelblue ', xlab=' Day ', ylab=' Sales ')
欠損値を埋めるには、 zooパッケージのna.estimate()関数とdplyrパッケージのmutate()関数を使用できます。
library (dplyr) library (zoo) #interpolate missing values in 'sales' column df <- df %>% mutate(sales = na. approx (sales)) #view updated data frame df day sales 1 1 3 2 2 6 3 3 8 4 4 10 5 5 14 6 6 17 7 7 20 8 8 23 9 9 26 10 10 29 11 11 32 12 12 35 13 13 39 14 14 44 15 15 49
欠落している値がそれぞれ置き換えられていることに注意してください。
更新されたデータ フレームを視覚化するために別の折れ線グラフを作成すると、次のようになります。
#create line chart to visualize sales plot(df$sales, type=' o ', pch= 16 , col=' steelblue ', xlab=' Day ', ylab=' Sales ')
na.estimate()関数によって選択された値は、データの傾向と非常によく一致しているように見えることに注意してください。
追加リソース
次のチュートリアルでは、R で欠損値を処理する方法に関する追加情報を提供します。