【发布时间】:2021-12-09 06:16:37
【问题描述】:
我有一个由 2 列和大约 12K 行组成的数据集。它有这种形式
timestamp track
0.006 A
0.185 R
0.210 A
0.221 R
0.285 A
0.387 R
0.405 R
0.412 R
0.436 A
0.458 A
0.482 A
所以我想要首先提取我的轨迹等于 A 的所有时间戳,我使用 so base R 函数很容易做到了
track_data = subset(df, df$track == 'A')
track_time = track_data$V1
现在我想提取最后一首曲目的时间戳 = R 就在最后一首曲目之前 = A 如果有任何 R 成立,如果不放置时间戳 = 0
所以以我为例:
(0, 0.185, 0.221, 0.412, 0.412, 0.412, ...)
显然我应该有一个向量,其中包含的元素与轨道向量中 A 的数量一样多。
我试图做一个循环,但结果与我正在寻找的完全不兼容。
for (i in 1 : length(df$track)) {
if (df$track[i] == 'A')
x = last(df$track[i] == 'R')
vect = c(vect,x)
}
有什么帮助吗?
【问题讨论】:
标签: r dataframe time-series