【发布时间】:2014-10-16 13:52:33
【问题描述】:
我正在处理一个包含来自海狸的 GPS 数据的数据帧,该数据帧包括带有动物 ID 的列(请参阅下面的 $id),这是一个包含 26 个级别的因子。对于每只海狸,我们都有几个 GPS 值 - 数字因动物而异。
我现在想以 15 分钟的间隔为每个人创建一个单独的列,其中包含“捕获后的时间”,从 0 分钟开始。对于 15 分钟的间隔,我尝试创建一个序列
TimePostRel <- seq(from = 0, along = x, by = 15)
现在我不确定如何定义 x,所以它指的是每个人。我应该使用 split 函数来拆分数据框吗?我们也有日期/时间列,但问题是我们在白天(当动物睡觉时)没有 GPS 点,导致我们想从TimePostRel 计算中排除休息时间(我们只想参考捕获后的“活动时间”)。
这是数据框:
'data.frame': 6425 obs. of 22 variables:
$ nb : int 1 2 3 4 5 6 7 8 9 10 ...
$ x : num 517710 517680 NA 517625 517624 ...
$ y : num 6587730 6587759 NA 6587929 6588014 ...
$ date : POSIXct, format: "2010-04-10 05:15:00" "2010-04-10 05:30:00" "2010-04-10 05:45:00" "2010-04-10 06:00:00" ...
$ dx : num -30.2 NA NA -0.4 -39.2 ...
$ dy : num 28.8 NA NA 85.7 126.8 ...
$ dist : num 41.7 NA NA 85.7 132.7 ...
$ dt : num 900 900 900 900 900 900 900 900 NA 900 ...
$ R2n : num 0 1743 NA 46880 88416 ...
$ abs.angle : num 2.38 NA NA 1.58 1.87 ...
$ rel.angle : num NA NA NA NA 0.295 ...
$ id : Factor w/ 26 levels "Andreas","Apple",..: 1 1 1 1 1 1 1 1 1 1 ...
$ burst : Factor w/ 329 levels "Andreas.1","Andreas.2",..: 1 1 1 1 1 1 1 1 1 2 ...
$ sex : int 2 2 NA 2 2 2 NA 2 2 2 ...
$ season : int 2 2 NA 2 2 2 NA 2 2 2 ...
$ try : int 33 34 NA 36 37 38 NA 39 40 41 ...
$ x.sats : int 5 5 NA 5 5 5 NA 6 5 6 ...
$ hdop : num 2.1 4.2 NA 2.7 3.3 2.1 NA 2.5 2.8 2.2 ...
$ lodge.x : num 517595 517595 NA 517595 517595 ...
$ lodge.y : num 6587806 6587806 NA 6587806 6587806 ...
$ NSD_lodge : num 19039 9440 NA 15909 44268 ...
$ nsd_1stGPSpoint : num 0 1743 NA 46880 88416 ...
现在有人知道如何解决这个问题吗?提前致谢!!
干杯, 帕特里夏
【问题讨论】:
标签: r gps split-apply-combine