簡體   English   中英

按事件開始提取時間序列

[英]time series extraction by event onset

我正在尋找一個代碼來為每個試驗開始提取一列(稱為時間)的時間間隔(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 毫秒?

很難確切地知道你在這里問什么。 認為您要問的是如何僅在觀察之間的時間間隔內將觀察分組為 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM