【问题标题】:Looking for a function to impute missing values according to the ratio of other values in R.(looking for probability based)寻找一个函数来根据 R 中其他值的比率来估算缺失值。(寻找基于概率的)
【发布时间】:2019-12-12 09:47:58
【问题描述】:

我有一个包含 9000 多个数据点的数据框,其中 3 列有近 1000 个(每个)缺失值。我正在尝试制作一个函数来根据其他值的比例来估算它们。我不是在寻找最常用的方法(模式)。在找到缺失值 = 1000(每列)后,我尝试从其他值分配值该特定列中的行根据它们的比例。假设一列的“a”和“b”比例为 50:50 和 4 个缺失值。我将根据比例填充这些缺失值,因此 2a 和 2b。

【问题讨论】:

  • d = data.frame(a, b)中的a是什么
  • 看,你没有使用插补。 group_indices 基于组创建索引,由于您没有提供任何组,因此假设所有数据都只是一个组。因此,当您使用createDataPartition 时,您只是再次选择了所有数据。这里的数据没有变化,table默认不显示NA

标签: r imputation


【解决方案1】:

我不完全理解这个问题,但这里有一些事情可以尝试。

您可以将 b 的值制成表格,包括 NAs

library(tidyverse)
a = c(1:12)
b = c("a", "a", "b", "c", 
      "a", "c", "b", NA, 
      "b", "c", "a", "a")

df = tibble(a = a, b = b)
df %>% 
  group_by(b) %>% 
  summarise(n())

或者,使用表格

table(b, useNA = 'always')

#a    b    c <NA> 
#5    3    3    1 

用最常见的非缺失值替换缺失值

tab <- table(b)
replacment <- names(which.max(tab))

df %>% 
  mutate(b = if_else(is.na(b), replacment, b))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-03
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2016-12-20
    • 1970-01-01
    相关资源
    最近更新 更多