【问题标题】:How to normalize data in R如何规范化 R 中的数据
【发布时间】:2020-08-10 11:07:10
【问题描述】:

这是我的数据:

a       b       c     d         e           f           g
<dbl>   <dbl>   <dbl> <dbl>     <dbl>       <dbl>       <dbl>
14.6    74529   720   4639.341  10039.323   0.3089194   0.00011135818
270.0   74529   720   4639.341  10039.323   0.3089194   0.00011135818
14.6    74529   720   4639.341  10039.323   0.3089194   0.00011135818
390.0   74529   720   4639.341  10039.323   0.3089194   0.00011135818
2000.0  74529   720   4639.341  10039.323   0.3089194   0.00011135818
2452.0  74529   720   4639.341  10039.323   0.3089194   0.00011135818
10315.0 74529   720   4639.341  10039.323   0.3089194   0.00011135818
190.6   74529   720   4639.341  10039.323   0.3089194   0.00011135818
1050.0  74529   720   4639.341  10039.323   0.3089194   0.00011135818
14.6    74529   720   4639.341  10039.323   0.3089194   0.00011135818
...

假设我想通过对其他变量执行加法来创建一个新变量。但是,由于变量没有可比的比例,我需要重新调整它们。变量的分布不是正态的,标准化过程也应该对异常值具有鲁棒性。那么,标准化数据的最佳方法是什么,以便我可以对变量进行求和以为我的数据创建一个新参数?

【问题讨论】:

  • 你的问题不是更适合stats exchange吗?一旦你有了一个有效的统计方法,你就可以在这里询问你关于代码实现的问题。

标签: r normalization standardization


【解决方案1】:

使用scale(x)。要处理异常值,请丢弃高于某个阈值的缩放值,例如,which(abs(scale(x))&gt;3) 会指出数据与平均值相差超过 3 s.d。

对每一列都执行此操作,并在继续之前形成要从所有列中丢弃的所有异常值的并集。

【讨论】:

    猜你喜欢
    • 2014-12-23
    • 2017-06-06
    • 2020-07-09
    • 2023-03-26
    • 2017-06-01
    • 2017-01-12
    • 2014-07-07
    • 2015-10-04
    相关资源
    最近更新 更多