【问题标题】:Error calculating mean, standard error and standard deviation using the ddply function使用 ddply 函数计算均值、标准误差和标准差的误差
【发布时间】:2020-01-30 12:16:35
【问题描述】:

我正在尝试使用 ddply apply 函数计算平均值、标准误差和标准偏差,但没有输出。此数据集中没有“NA”,因此缺少数据应该不是问题。栖息地和物种都是因素。

这是我的数据集的一个小样本

Habitat   Species      Count
   A         T           3
   A         T           4
   A         U           5
   B         V           12
   C         V           3
   D         X           2

这是进行计算的代码副本,但平均值的输出显示为原始数据集中“计数”的值,并且 sd 和 se 的所有值都是“NA”

cdata <- ddply(dataset, c("Species", "Habitat"), summarise,
               N    = sum((Count),
               mean = mean(Count),
               sd   = sd(Count),
               se   = sd / sqrt(N))

我还使用了 summariseBy() 函数和聚合函数。 如果有人能就使用 ddply 函数的要求以及可能导致此错误的原因向我提供建议,将不胜感激。

【问题讨论】:

  • 如果每个分组只有一个计数值,那么 sd 将为 NA

标签: r


【解决方案1】:

这段代码工作正常:

require(plyr)
require(tidyverse)

dataset <- data.frame(Habitat = c("A","A","A","B","C","D"),
            Species = c("T","T","U","V","V","X"),
            Count = c(3,4,5,12,3,2))

cdata <- ddply(dataset, c("Species", "Habitat"), summarise, N    =sum(Count),mean =mean(Count),sd   =sd(Count)  )

cdata$se <- cdata$sd / cdata$N

对于se 计算,为了复杂性,我添加了另一个步骤。

【讨论】:

    猜你喜欢
    • 2014-02-27
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多