R言語で欠損値を処理する方法

R言語において欠損値を処理する方法が複数あり、一般的な処理方法を以下に記載します。

  1. na. 省略
data <- na.omit(data)
  1. na.埋め尽くす()
data <- na.fill(data, value)
  1. na.approx()
  2. na.spline()
data <- na.approx(data)
data <- na.spline(data)
  1. 平均値
  2. 中央値()
  3. ネイティブに。
  4. ifelse()
mean_value <- mean(data, na.rm = TRUE)
data <- ifelse(is.na(data), mean_value, data)

median_value <- median(data, na.rm = TRUE)
data <- ifelse(is.na(data), median_value, data)

mode_value <- Mode(data) # 自定义函数,计算众数
data <- ifelse(is.na(data), mode_value, data)
  1. na.locf()
data <- na.locf(data)
  1. 欠損値をモデル予測で埋め合わせる:欠損値のある変数以外の変数の値を利用するか、モデルを作成して欠損値を予測し、欠損値を埋め合わせます。
# 使用其他变量的值预测缺失值
model <- lm(y ~ x, data = data) # 假设y和x是data中的变量
predicted_values <- predict(model, newdata = subset(data, is.na(y)))
data$y[is.na(data$y)] <- predicted_values

# 建立模型预测缺失值
model <- lm(y ~ x, data = subset(data, !is.na(y))) # 假设y和x是data中的变量
predicted_values <- predict(model, newdata = subset(data, is.na(y)))
data$y[is.na(data$y)] <- predicted_values

欠損値の扱いにはいくつかの方法があり、データの特性と分析の目的に応じて適切な手法を選択する必要があります。

bannerAds