【发布时间】:2020-02-10 15:12:41
【问题描述】:
我正在尝试计算几个物种在每个栖息地的数量上的频率的平均值、标准差和标准差。我每个栖息地有三个地点和四种栖息地类型,所以总共有十二个地点。我的数据集是这样的
Site Species Habitat Count
A X Wetland 3
B T Urban 12
B U Forest 18
C Z Grassland 3
C Z Grassland 6
我的问题是,并非所有物种都记录在每个站点中,当我运行代码时我得到 NA 值,但平均值计算不正确,因为并非所有物种都记录在每个站点 (N)
cdata <- ddply(df, c("Species", "Habitat"), summarise,
N = sum(Count),
mean = mean(Count),
sd = sd(Count),
se = sd / sqrt(N))
我尝试使用 mutate 而不是 summarise 将 N 设置为 3,即每个栖息地的站点数,但我仍然获得 SD 和 SE 的 NA 值
【问题讨论】:
-
这些物种不存在于这些地点,还是根本没有记录?如果是后者,那么您试图将丢失的数据视为零,这是不合适的。
-
网站中没有物种
-
那么你想要的结果是什么?每个站点丢失的物种为零。您能否发布足够的数据以显示每个站点每个物种的多个条目?
-
如果它们不存在,只需将它们记录为零,或使用complete 或
dplyr::replace_na之类的东西。
标签: r