我有一个包含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,用于计算每个样方中的个人总数.这个新数据框如下所示:

enter image description here

我try 了以下代码,但它为那些Species = NA的样方给出了Abundance = 1:

library(dplyr)
df %>% count(Quadrat.No, Transect.No, Date, name = "Abundance")

那样的话,我要Abundance = 0英镑.我怎么能做到这一点?

推荐答案

您可以将加权计数与dplyr count函数中的wt参数一起使用,并使用不缺少物种作为权重

df %>%
  count(Quadrat.No, Transect.No, Date,wt=!is.na(Species), name= "Abundance") 

   Quadrat.No Transect.No      Date Abundance
1           1           3 8/22/2022         2
2           1           5 8/23/2022         0
3           2           3 8/22/2022         3
4           2           5 8/23/2022         0
5           3           3 8/22/2022         0
6           3           5 8/23/2022         1
7           4           3 8/22/2022         2
8           4           5 8/23/2022         1
9           5           3 8/22/2022         5
10          5           5 8/23/2022         0

R相关问答推荐

将一个载体的值相加,直到达到另一个载体的值

为什么以及如何修复Mapview不显示所有点并且st_buffer合并一些区域R?

在R底座中更改白天和夜晚的背景 colored颜色

行式dppr中的变量列名

R:连接值,而不是变量?

更改编号列表的 colored颜色

如何根据嵌套元素的名称高效而优雅地确定它属于哪个列表?

将小数分隔符放在R中的前两位数字之后

根据类别合并(汇总)某些行

您是否可以使用facet_rap设置一个较低的限制来对ggmap上的比例中断进行zoom ?

如何在R中平滑地绘制线图(不拟合)?

警告消息";没有非缺失的参数到min;,正在返回数据中的inf";.表分组集

如何阻止围堵地理密度图?

对R中的列表列执行ROW Mean操作

当由base::限定时,`[.factor`引发NextMethod错误

长/纬点继续在堪萨斯-SF结束,整齐的人口普查

如何更改包中函数中的参数?

为什么在POSIXct-times的向量上循环会改变R中的类型?

在子图内和子图之间对齐行数不均匀的表格罗布对

如何根据顺序/序列从数据框中排除值