我正在尝试使用 ddply 应用函数计算平均值、标准误差和标准差,但没有输出。此数据集中没有"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))
我还使用了 summarizeBy(( 函数和聚合函数。 如果有人能就使用 ddply 函数的要求以及可能导致此错误的原因向我提供建议,将不胜感激。
这段代码工作正常:
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
计算,为了复杂起见,我添加了另一个步骤。