【问题标题】:How to avoid scaling dummy variables in dataframe in r?如何避免在r中的数据框中缩放虚拟变量?
【发布时间】:2022-11-09 02:37:10
【问题描述】:

我想在应用机器学习方法之前标准化我的所有变量。但是,据我了解,虚拟变量永远不应该标准化。 输入以下代码后,r 标准化了我所有的变量,甚至是二进制变量。我怎样才能避免这种情况发生?

#standardize all non-categorical variables to have mean zero and a standard deviation of one

df_standardized <- df %>% mutate(across(where(is.numeric), scale))

我检查了我的数据类型是“int”,而不是数字。 预先感谢您的帮助。

【问题讨论】:

    标签: r dataframe scale data-cleaning standardized


    【解决方案1】:

    scale 返回一个矩阵,我们可以通过as.numericas.vector 将矩阵转换为向量

    library(dplyr)
    out <- df %>% 
       mutate(across(where(is.numeric), ~ as.numeric(scale(.x))))
    

    【讨论】:

      猜你喜欢
      • 2019-07-14
      • 1970-01-01
      • 2015-10-23
      • 2019-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-30
      相关资源
      最近更新 更多