我想使用dplyr总结一个表。 这是我要继续的方式:
year region week site species gps_clutch
2017 sud 18 6 au 337
2017 sud 20 10 au 352
2017 sud 22 10 au 352
2017 sud 24 10 au 352
2017 sud 18 6 aio 337
2017 sud 20 6 aio 352
2017 sud 22 6 au 352
2018 sud 20 6 au 337
2018 sud 20 10 au 352
2018 sud 22 10 au 352
2018 sud 22 10 aio 352
2018 sud 22 6 au 352
2017 nor 19 5 au 337
2017 nor 21 2 au 352
2017 nor 23 5 au 352
2017 nor 25 2 au 352
2017 nor 19 5 aio 337
2017 nor 25 5 aio 352
2017 nor 19 5 au 337
2018 nor 21 2 aio 352
2018 nor 23 5 aio 352
2018 nor 25 2 au 352
2018 nor 23 5 aio 337
2018 nor 23 5 au 352
此代码可以很好地扩展网格,如我所愿:
dat %>%
group_by(region) %>%
expand(year,site, species,week)
下面的代码也可以工作,以获取计数值,但不能按我的意愿扩展网格(我只获得我每年观察到的东西的周数列表,而不是两者之间采样的总周数年份)。这意味着,如果在“ sud”“ 2017”中只有20周和22周的记录,则网格不会扩展到18周和24周:
field_subsetnord %>%
group_by(year,region,site,species,week) %>%
summarise(count_clutch=length(gps_clutch)) %>%
complete(week,nesting(year,sites,species), fill = list(count_clutch = 0))
这是我最后想要得到的表:
year region week site species count
2017 sud 18 6 au 1
2017 sud 20 6 au 0
2017 sud 22 6 au 1
2017 sud 24 6 au 0
2017 sud 18 6 aio 1
2017 sud 20 6 aio 1
2017 sud 22 6 aio 0
2017 sud 24 6 aio 0
2017 sud 18 10 au 0
2017 sud 20 10 au 1
2017 sud 22 10 au 1
2017 sud 24 10 au 1
2017 sud 18 10 aio 0
2017 sud 20 10 aio 0
2017 sud 22 10 aio 0
2017 sud 24 10 aio 0
2018 sud 18 6 au 0
2018 sud 20 6 au 1
2018 sud 22 6 au 1
2018 sud 24 6 au 0
2018 sud 18 6 aio 0
2018 sud 20 6 aio 0
2018 sud 22 6 aio 0
2018 sud 24 6 aio 0
2018 sud 18 10 au 0
2018 sud 20 10 au 1
2018 sud 22 10 au 1
2018 sud 24 10 au 0
2018 sud 18 10 aio 0
2018 sud 20 10 aio 0
2018 sud 22 10 aio 1
2018 sud 24 10 aio 0
and so on for 2018...
将这两个代码混合使用的任何建议将不胜感激:)
答案 0 :(得分:0)
您与这两种方法都非常接近。本质上,只需要将它们组合在一起即可得到您想要的东西。 :)
按区域分组,然后<property environment="env" />
<property name="env.HOSTNAME" value="${env.COMPUTERNAME}" />
<property file="${user.name}-${env.HOSTNAME}-build.properties" />
<property file="${user.name}-build.properties" />
<property file="${basedir}/build.properties" />
首先是数据集,然后按所有变量和complete()
重新分组。由于summarise()
现在将包含缺少的值,因此您可以在gps_clutch
语句中总结非缺失值(通过!is.na
)来计算离合器。
summarise()