我有一个包含9个样带的生态调查数据的数据集.在每个样带长度上随机放置5个样方,并对每个样方内的个体进行计数.以下是数据的一个子集:
df <- structure(list(Date = c("8/22/2022", "8/22/2022", "8/22/2022", "8/22/2022", "8/22/2022", "8/22/2022", "8/22/2022", "8/22/2022", "8/22/2022", "8/22/2022", "8/22/2022", "8/22/2022", "8/22/2022", "8/23/2022", "8/23/2022", "8/23/2022", "8/23/2022", "8/23/2022"), Transect.No = c(3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 5L, 5L, 5L, 5L, 5L), Quadrat.No = c(1L, 1L, 2L, 2L, 2L, 3L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 1L, 2L, 3L, 4L, 5L), Species = c("CUNN", "CUNN", "DOL", "DOL", "CUNN", NA, "CUNN", "CUNN", "CUNN", "CUNN", "CUNN", "CUNN", "CUNN", NA, NA, "FLOU", "DOL", NA)), class = "data.frame", row.names = c(NA, -18L))
head(df)
Date Transect.No Quadrat.No Species
1 8/22/2022 3 1 CUNN
2 8/22/2022 3 1 CUNN
3 8/22/2022 3 2 DOL
4 8/22/2022 3 2 DOL
5 8/22/2022 3 2 CUNN
6 8/22/2022 3 3 <NA>
Species
变量中的NA
表示相应样本中没有个体.我希望创建一个新的数据框,其变量为Abundance
,用于计算每个样方中的个人总数.这个新数据框如下所示:
我try 了以下代码,但它为那些Species = NA
的样方给出了Abundance = 1
:
library(dplyr)
df %>% count(Quadrat.No, Transect.No, Date, name = "Abundance")
那样的话,我要Abundance = 0
英镑.我怎么能做到这一点?