r - R:过滤每小时数据集以仅使用每天有 4 次或更多观察的数据
问题描述
我正在使用一个数据集,该数据集计算从 1958 年到 2020 年的每小时观察。问题是,在某些日子里,每小时的观察没有其他天那么多。我想过滤我的数据集,并且只使用超过 4 个观察日的数据。
这是我的数据的一个快速示例
time date hourlymax
18:00:00 1993:08:21 6
08:00:00 1993:08:23 6
11:00:00 1993:08:23 6
08:00:00 1993:08:26 3.5
是否有如上所述过滤数据?
谢谢
解决方案
我认为这样的事情会返回每天至少有四个观察值的数据。
碱基R
dat4 <- dat[ ave(dat$date, dat$date, FUN = length) >= 4, ]
tidyverse
library(dplyr)
dat4 <- dat %>%
group_by(date) %>%
filter(n() >= 4)
数据表
library(data.table)
setDT(dat) # if not already a data.table
dat4 <- dat[, .SD[.N >= 4, ], by = .(date) ]
推荐阅读
- java - 休息模板不维持秩序
- r - 为 spatstat 中空间变化的相对风险的非参数估计指定自定义权重
- kubernetes - `cert-manager` 无法创建测试颁发者,并且 `context deadlyed`
- python - conda 导出后 conda 将 git url 替换为 yml 文件中的包名
- c# - 调用 WinForm 没有获得焦点
- r - 在 R 中使用 for 循环添加指标值
- javascript - selectize.addOption 不是函数
- selenium - 除非我手动单击浏览器元素,否则 Chromedriver 不起作用
- javascript - 将多个纹理应用于 javascript 画布中的不同图像
- typescript - 如何开玩笑地模拟对象