r - 在我的数据框中汇总 649 个位置和 11,088 个观测值中的每个水文年
问题描述
有人可以帮助我吗?我有一个包含 649 个不同位置的数据框,每个位置都有过去 30 年的 11088 个观测值。1 水文年从 9 月开始。1 至 8 月 31. 数据框如下所示:
我想要结束的是这样的:
在我的原始数据框中,我也丢失了很多数据。如果某个位置(即 1.50.0 )在一个水文年份中丢失超过 10% 的数据,我不想将那一年保留在我的新数据框中。
如果我的问题不清楚,请询问。:)
解决方案
没有数据并不容易,但它可能是这样的
df<-data.frame(d1=c(rnorm(9,5,2),NA),
d2=rnorm(10,15,2))
row.names(df)<-c(seq(today()-days(9),today(),"day"))
df%>%
rownames_to_column("id")%>%
gather(variable,value,-id)%>%
mutate(yr=year(id))%>%
group_by(yr)%>%
mutate(is_na=sum(is.na(value))/n())%>%
filter(is_na<.1)%>%
group_by(yr,variable)%>%
summarise(res=mean(value,na.rm=T))%>%
spread(variable,res)
# A tibble: 1 x 3
# Groups: yr [1]
yr d1 d2
<dbl> <dbl> <dbl>
1 2018. 4.41 14.7
推荐阅读
- python - 在 setup.py 中,我如何编写一个在安装时(在安装计算机上)而不是在构建时运行的函数?
- google-cloud-platform - Google SDK Speech-to-text (Transcription) 细节的几个问题
- php - Laravel:一对多关系中的自定义外键无法解析
- jwt - 提供 JWT 时,如何在 micronaut 后端加载“用户”
- enums - 有没有办法强制泛型类型只保存枚举的特定变体?
- python - 类类型的类型提示作为参数
- javascript - puppeteer page.click() 上传文件后卡住
- gitlab - Gitlab:如何为通过最新管道的工作百分比创建徽章
- php - PHP 在 a 的一部分上创建一个加载覆盖
- apache-spark - Spark 作业内部结构