R Reshape cast():帮助计算标准错误 - 缺少聚合函数:默认为

时间:2016-09-22 18:09:21

标签: r casting reshape reshape2 standard-error

我已经多次在SO上看到这个重塑问题,但无法找到解决我特定问题的方法;

我有一个名为 DF 的数据框(下图),我使用 cast()计算所有感兴趣的行和列的平均值和标准差。

       Bulb.means.sd<-cast(DF, Bat.Species~Bulb.Type, c(mean,sd), value="Bat.Passes")

enter image description here

我正在尝试 cast()来自 DF 的原始值,我希望将其作为单个列合并到数据框(上图)中宽幅。但是, cast()正在生成以下错误消息。一旦原始值被同化,我就会考虑使用 ddply 来计算原始值中每行的标准误差(下面的计算)。

 Bulb.raw<-cast(DF, Bat.Species~Bulb.Type, value='Bat.Passes')

此错误消息:

   Aggregation requires fun.aggregate: length used as default

我尝试使用 ddply 打印出数据框 Bulb.means.sd Control_sd 列中包含的相同值

 se <- ddply(Bulb.means.sd, c("Bat.Species"), summarise,
                                     N  = length(Control_sd),
                                    se  = Control_sd / sqrt(N))

有没有人对如何使用一行代码生成包含每行的均值,标准,偏差和标准误差的 Bulb.means.sd 等数据框有任何建议,或者是有人知道使用函数 ddply()的代码(上面)有什么问题吗?

如果有人能提供帮助,请提前多多感谢,非常感谢。

DF<-structure(list(Bat.Species = structure(c(2L, 8L, 9L, 7L, 6L, 
5L, 3L, 1L, 4L, 10L, 2L, 8L, 9L, 7L, 6L, 5L, 3L, 1L, 4L, 10L, 
2L, 8L, 9L, 7L, 6L, 5L, 3L, 1L, 4L, 10L, 2L, 8L, 9L, 7L, 6L, 
5L, 3L, 1L, 4L, 10L, 2L, 8L, 9L, 7L, 6L, 5L, 3L, 1L, 4L, 10L, 
2L, 8L, 9L, 7L, 6L, 5L, 3L, 1L, 4L, 10L, 2L, 8L, 9L, 7L, 6L, 
5L, 3L, 1L, 4L, 10L, 2L, 8L, 9L, 7L, 6L, 5L, 3L, 1L, 4L, 10L, 
2L, 8L, 9L, 7L, 6L, 5L, 3L, 1L, 4L, 10L, 2L, 8L, 9L, 7L, 6L, 
5L, 3L, 1L, 4L, 10L), .Label = c("Barbestrellus barbestrellus", 
"Eptesicus.serotinus ", "Myotic brandii", "Myotis daubentonii", 
"Nyctalus leileri", "Nyctalus noctule", "Pipestrellus Nasthusii", 
"Pipestrellus pipestrelle", "Pipestrellus pygmaeus", "Pleocutus auritus "
), class = "factor"), Bat.Passes = c(0L, 0L, 0L, 0L, 0L, 0L, 
 3L, 0L, 9L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 6L, 0L, 0L, 0L, 0L, 0L, 
 0L, 4L, 0L, 0L, 3L, 0L, 9L, 0L, 0L, 0L, 7L, 0L, 0L, 0L, 6L, 0L, 
 0L, 0L, 0L, 86L, 7L, 17L, 0L, 48L, 6L, 2L, 0L, 0L, 0L, 86L, 28L, 
 8L, 50L, 48L, 1L, 2L, 0L, 0L, 0L, 20L, 0L, 0L, 0L, 0L, 0L, 2L, 
 1L, 0L, 0L, 8L, 0L, 0L, 3L, 0L, 0L, 2L, 1L, 1L, 0L, 0L, 0L, 0L, 
 2L, 0L, 0L, 0L, 1L, 5L, 0L, 10L, 1L, 0L, 2L, 0L, 0L, 0L, 1L, 
 5L), Bulb.Type = structure(c(4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 
  1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label =    c("Control", 
 "LED", "Metal.Halide", "SOX"), class = "factor")), .Names =     c("Bat.Species", 
"Bat.Passes", "Bulb.Type"), class = "data.frame", row.names = c(NA, 
-100L))

0 个答案:

没有答案