R筋

プログラミング、金融、育児

【R】NAの補完について

こんにちは!Rのこととか書いてきます。 まずは定番ですが、欠損値NAについて、補完の方法を列挙します。

・特定の値を入力する

df[is.na(df)] <- 0

・NAを含む行を削除する

 na.omit(df)
 na.rm(df)

・前後の値の平均値を取る

install.packages("zoo")
library(zoo)
z <- zoo(c(1,NA,5))
na.approx(z)

・同じ行にある別の列の値を入れる

df <- data.frame(A=c(1,2,3),B=c(2,NA,3))
df$B[which(is.na(df$B))] <- df$A[which(is.na(df$B))]

追記 ・直前の値を入れる

library(zoo)
z <- zoo(c(1,NA,5))
na.locf(z)