【问题标题】:How to impute missing value with column mean using sparklyr, for selected columns?对于选定的列,如何使用 sparklyr 用列平均值估算缺失值?
【发布时间】:2018-11-16 13:18:26
【问题描述】:

对于 sparklyr 中的 Spark 数据帧,我知道 NA 可以使用 na.replace(number) 通过固定数字进行估算,我也知道我可以为硬编码列使用 na.replace(x=something)

现在我有一个向量,其中包含我想用平均值估算缺失值的列名。我该怎么做才能为这些列中的所有缺失值插入均值?

我查看了spark_apply 并在上面申请了mice,但还没有找到解决方案。

谢谢!

【问题讨论】:

    标签: r apache-spark missing-data sparklyr


    【解决方案1】:

    您可以使用Imputer。假设数据如下所示:

    df <- copy_to(sc, tibble(id=1:3, x=c(1, NA, 3), y=c(NA, 2, -1)))
    

    转换器需要输入输出列列表:

    input_cols <- c("x", "y")
    output_cols <- paste0(input_cols, "_imp")
    

    并且可以如下图应用:

    df %>% 
      ft_imputer(input_cols=input_cols, output_cols=output_cols, strategy="mean")
    
    # Source:   table<sparklyr_tmp_73a32e74369c> [?? x 5]
    # Database: spark_connection
         id     x     y x_imp y_imp
      <int> <dbl> <dbl> <dbl> <dbl>
    1     1     1   NaN     1   0.5
    2     2   NaN     2     2   2  
    3     3     3    -1     3  -1  
    

    【讨论】:

      猜你喜欢
      • 2020-06-07
      • 1970-01-01
      • 1970-01-01
      • 2017-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-16
      • 1970-01-01
      相关资源
      最近更新 更多