【问题标题】:How to calculate Z-score by group如何按组计算 Z 分数
【发布时间】:2014-01-15 14:42:31
【问题描述】:

我想使用每组生成的平均值和标准差来计算 Z 分数。例如我有下表。它有 3 组数据,我可以为每组生成平均值和标准差。然后我使用第 1 组均值和 SD 来计算第 1 组数据点的 Z 分数,等等...

> 数据 组级别 y 1 1 10.8 2 1 乙 12.0 3 1 C 9.6 4 1 12.0 5 1 乙 7.8 6 1 C 10.8 7 2 8.7 8 2 乙 9.2 9 2 C 8.2 10 2 10.0 11 2 乙 12.2 12 2 C 8.2 13 3 10.9 14 3 乙 8.3 15 3 C 10.1 16 3 9.9 17 3 乙 10.9 18 3 C 10.3

我从这个博客学习了如何按组获取摘要数据,但不知道如何从那里开始。

谢谢。

【问题讨论】:

    标签: r


    【解决方案1】:

    Base R(即不需要依赖项)包括函数ave()(用于分组应用)和scale()(用于计算 z 分数):

    dat$z <- ave(dat$y, dat$group, FUN=scale)
    

    那么dat 中的新变量z 将包含分组缩放变量。

    请注意,与 Base R 中的类似函数不同(例如,sapplylapply)、you need to include FUN= explicitly

    【讨论】:

    • @Jeromy Anglim,如果我有两个分类组,如何自定义语法以获得 z 分数?比如,我有地块、物种和数值变量的列表,我想根据地块和物种专门对数值变量进行归一化,因为在许多地块中可以找到许多物种?
    • @Stackuser 我放置dat$group 的位置代替了... 参数,该参数采用任意数量的分组变量。只需添加更多变量。 dat$z &lt;- ave(dat$y, dat$group_1, dat$group_2, FUN=scale).
    • 谢谢,如果您再次帮助我,我如何放大或截取图表并使用 R 放在另一个位置,以便观众更容易看到?
    • 谢谢!如果你再帮我,我怎样才能用R把图中最低点的坐标,例如,如果最低点坐标是(17, 17.1),我想把这个点在图上定位为(17, 17.1) 你是怎么做到的?
    • @stackuser 您的问题超出了此答案的范围,它解决了一个与绘图无关的非常具体的问题。我认为您应该提出一个全新的问题来获得有关绘图问题的帮助。
    【解决方案2】:

    我会为此查看data.table

    类似:

    require(data.table)
    datDT <- data.table(dat)
    datDT[, yScaled := scale(y), by = group]
    

    【讨论】:

      【解决方案3】:

      可以使用plyr的ddply函数,计算z分数。

      library(plyr)
      dat <-  ddply(dat, .(group), summarize, z_score=scale(y))
      

      或者你可以手动计算它 -

      dat <-  ddply(dat, .(group), summarize, z_score=(y-mean(y))/sd(y)))
      

      如果您的数据中有 na,​​则在 mean 和 sd 函数中添加 na.rm=True。

      希望这会有所帮助。

      【讨论】:

        【解决方案4】:

        dplyr

        library(dplyr)
        
        dat_z = dat %>%
                group_by(group) %>%
                mutate(z_score = scale(y))
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-10-12
          • 2020-12-05
          • 1970-01-01
          • 1970-01-01
          • 2019-07-03
          • 1970-01-01
          相关资源
          最近更新 更多