分组zscores的计算改变顺序

时间:2018-03-22 16:41:50

标签: r dplyr scale

此问题基于How do I calculate a grouped z score in R using dplyr?

此处数据按比例缩放(zscores),用于不同的组和未分组。

   dat = iris %>% 
      gather(variable, value, -Species) %>%
      group_by(Species, variable) %>% 
      mutate(z_score_group = (value - mean(value)) / sd(value)) %>%
      ungroup %>% 
      mutate(z_score_ungrouped = (value - mean(value)) / sd(value))

缩放未分组会保留数据的顺序。

> identical(order(dat$z_score_ungrouped), order(dat$value))
[1] TRUE

然而,有趣的是,数据通过缩放组来改变他们的顺序。

> identical(order(dat$z_score_group), order(dat$value))
[1] FALSE

在我看来,缩放不应该改变数据的顺序,因为这会对基于秩的分析(例如ROC曲线)产生巨大影响。有没有人知道为什么分组会改变顺序?

0 个答案:

没有答案