r - 获取 CSV 中 xyz 坐标停止变化的行
问题描述
我用 xyz 坐标和时间线测量了一个以 ms 为单位的对象。我的 CSV 看起来像这样:
TimeInSec X.6 Y.6 Z.6
0.000000 -1.383422 -0.058891 0.023290
0.004167 -1.387636 -0.058947 0.023584
0.008333 -1.391491 -0.058972 0.023989
...
我想在我的数据集中找到 xyz 坐标停止变化的行(在阈值内)。我想要的关键特征是从第 0 行到对象停止点的时间。
我的代码:
dummy.data <- read.csv (file="D:\\tmp\\dummy.csv", header = TRUE, skip = 6
dummy.data %>%
gather(key,value, X.6, X.7, X.8, Y.6, Y.7, Y.8, Z.6, Z.7, Z.8) %>%
ggplot(aes(x=Time..Seconds., y=value, colour=key)) +
geom_line()
非常感谢您的帮助!
示例图: 示例图
这是 RawData CSV RawData的链接
解决方案
我认为根据您的描述,您只想确定连续行中 x、y 和 z 值之间的差异低于某个阈值的点:
threshold <- 0.001
stop_row <- which(abs(diff(dummy.data$X.6)) < threshold &
abs(diff(dummy.data$Y.6)) < threshold &
abs(diff(dummy.data$Z.6)) < threshold )
所以现在你可以这样做:
result <- dummy.data$TimeInSec[stop_row] - dummy.data$TimeInSec[1]
推荐阅读
- rest-assured - 为什么我在 Assertion 中输入状态码时脚本全是红线
- java - Java 纸牌游戏“战争”出现越界异常
- ios - 插入时集合视图单元格是否可重用?
- python - 如何将字符串转换为 datetime.datetime 对象?
- node.js - 如何正确找到 .txt 文件并使用 NodeJS 读取其内容
- python - SQL Alchemy - 混合属性 - 拆分列
- reactjs - 如何创建指向反应组件的路由
- php - PHP - 保护用户完整的 HTML 文件免受 XSS 攻击
- django - Django 自定义迁移 RunPython 无法访问另一个数据库中的 ForeignKey 字段
- reactjs - 将新文档添加到 Firestore 集合后打印重复列表