【发布时间】:2015-05-31 06:01:48
【问题描述】:
我正在尝试处理一些motion analysis 软件跟踪错误在数据导出之后。对于某些帧,方向从“真实”方向旋转 180 度。
我想对数据集进行平滑处理,以便在单帧中方向变化约 180 度时,对其进行变换以反映实际角度。
是否有人知道使用R 语言(例如CircStats)的任何循环统计包来解决此问题的方法?或者,我可以想象一个脚本检查帧到帧的变化是否接近 180 度,如果是这样,减去 180,然后移动到下一帧。这听起来像是一种合理的方法吗?它是否可以在 R 中轻松实现?
恐怕我没有代表上传描述问题的图(很容易看到),但here 是一个示例数据集。
感谢您的帮助。我一直是堆栈溢出的长期用户,但在需要询问之前从未找到我的答案。
大卫
编辑 - 附加图像
【问题讨论】:
-
感谢@alessadro 的标签
-
您可以使用
dat <- ts(dat); diffs <- dat - lag(dat, k = 1); hist(diffs)轻松查看差异。你是否有一个“差异范围”,或者更确切地说是一个简单的阈值——比如 abs(diffs) > 170——你想对其应用转换? -
阈值可以很好地工作。我自己尝试使用 90 来解决这个问题。感谢您提醒我有关 lag() 的信息,这将有助于解决那些讨厌的 NA。
标签: r rotation motion-detection