r - R:查找 NA 值之间的最大行数
问题描述
我正在使用一个数据集,其中包含一小群北极熊的 GPS 位置。对于每只熊,理论上应该每 4 小时有一个位置,但不幸的是,无线电项圈并不总是能完美工作,而且我的数据中存在空白。
我的目标是生成一个 csv,其中包含每个熊的间隙之间的最大位置数。 例如,如果熊的数据由 100 个位置组成,然后有一个间隙,然后是 50 个位置,我只想对最终 csv 中的前 100 个位置进行子集化。
这是生成我将使用的数据集类型的代码:
bears<-as.character(c(rep("bear1",times=5),rep("bear2",times=5)))
time<-c("2007-09-08 13:00:00","NA","2007-09-08 21:00:00","2007-09-09 1:00:00","NA","NA","2007-10-09 17:00:00","2007-10-09 1:00:00","NA","2007-10-09 9:00:00")
bear.data<-data.frame(bears,time)
在哪里:
熊是指个体熊。
时间是指传输特定位置的时间。当项圈无法传输 GPS 位置时,此列的值为 NA。
任何帮助,将不胜感激!!
解决方案
bear.data <- data.frame(bears, time) %>%
mutate(time = ymd_hms(time),
helper = floor_date(time, unit = "year"),
seq = rleid(helper)) %>%
filter(!is.na(helper)) %>%
group_by(bears, seq) %>%
add_tally() %>% ungroup() %>%
group_by(bears) %>%
slice_max(n)
推荐阅读
- javascript - 将对象数组转换为可读字符串?
- html - SVG动画(SMIL),如何重复整个动画?
- asp.net-mvc - 当我在配置中使用 Mvc() 时,如何在我的聊天机器人中涉及中间件。我需要为它创建一个扩展方法吗?
- android - Visual Studio for Mac 在 Android 项目中找不到 Xamarin.Forms.FormsMaterial 类
- html - 如何将此 div 居中对齐,使其在所有设备上都能响应
- javascript - React - 从列表中更改组件的顺序
- swift - 无法从 Firebase 数据库检索数据。ref.child("").queryOrderedByKey().observeSingleEvent 没有响应
- azure - 更新微软图形更改订阅的计时器是否适用于生产代码
- postgresql - 如何将 pg_dump 的输出恢复为新的表名
- silverstripe - 如何覆盖 SilverStripe 的用户定义表单的模板/视图