0

这是我的数据:

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
...

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

4

1 回答 1

-1

使用scale(x). 为了处理异常值,丢弃超过某个阈值的缩放值,例如,which(abs(scale(x))>3)将指出数据远离平均值而不是 3 sd

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

于 2020-08-10T11:18:33.570 回答