通过事件发生的时间序列提取

问题描述 投票:1回答:1

我正在寻找一个代码来提取每次试验开始的时间间隔(500毫秒)(称为时间),以便我可以计算出每个试验的前500毫秒的基线列的两个连续行之间的实际时间(以毫秒为单位)有所不同,因为数据集已降低采样率,并且仅报告更改,因此我不能仅计算一定数量的行来定义时间间隔。

我尝试过:

baseline <- labchart   %>%
dplyr::filter(time[1:(length(labchart$time)+500)])   %>%
dplyr::group_by(Participant, trialonset)

但仅收到错误消息,例如:错误:参数2的过滤条件不等于逻辑向量而且我不确定(time [1:(length(labchart $ Time)+500)])是否真的会给我每次试用的前500毫秒?

r time filter intervals baseline
1个回答
0
投票

很难确切知道您在这里要问什么。我思考您要问的是如何仅在两次观察之间的时间间隔内将观察分为500毫秒周期。

假设数据看起来像这样:

``` r
labchart <- data.frame(time = sample(50:300, 20, TRUE), data = rnorm(20))

labchart
#>    time        data
#> 1   277 -1.33120732
#> 2   224 -0.85356280
#> 3    80 -0.32012499
#> 4   255  0.32433366
#> 5   227 -0.49600772
#> 6   248  2.23246918
#> 7   138 -1.40170795
#> 8   115 -0.76525043
#> 9   159  0.14239351
#> 10  207 -1.53064873
#> 11  139 -0.82303066
#> 12  185  1.12473125
#> 13  239 -0.22491238
#> 14  117 -0.55809297
#> 15  147  0.83225435
#> 16  200  0.75178516
#> 17  170 -0.78484405
#> 18  208  1.21000589
#> 19  196 -0.74576650
#> 20  184  0.02459359

然后我们可以创建一列用于表示总经过时间以及观察所属的500ms周期,如下所示:

library(dplyr)

labchart %>% 
  mutate(elapsed = lag(cumsum(time), 1, 0), 
         period = 500 * (elapsed %/% 500))

#>    time        data elapsed period
#> 1   277 -1.33120732       0      0
#> 2   224 -0.85356280     277      0
#> 3    80 -0.32012499     501    500
#> 4   255  0.32433366     581    500
#> 5   227 -0.49600772     836    500
#> 6   248  2.23246918    1063   1000
#> 7   138 -1.40170795    1311   1000
#> 8   115 -0.76525043    1449   1000
#> 9   159  0.14239351    1564   1500
#> 10  207 -1.53064873    1723   1500
#> 11  139 -0.82303066    1930   1500
#> 12  185  1.12473125    2069   2000
#> 13  239 -0.22491238    2254   2000
#> 14  117 -0.55809297    2493   2000
#> 15  147  0.83225435    2610   2500
#> 16  200  0.75178516    2757   2500
#> 17  170 -0.78484405    2957   2500
#> 18  208  1.21000589    3127   3000
#> 19  196 -0.74576650    3335   3000
#> 20  184  0.02459359    3531   3500
© www.soinside.com 2019 - 2024. All rights reserved.