簡體   English   中英

在R中按時間序列合並兩個向量的數據

[英]Combining data of two vectors in a time series in R

我是一名研究助理,已經收集了眼動數據,現在嘗試使用R進行分析。

在我使用的眼動儀中,每個樣本都被標記為是否屬於一個掃視(這意味着眼睛在移動),是否屬於一個眨眼。 當某人開始眨眼時,眼動儀首先識別出掃視,隨后識別出眨眼。 為了能夠替換屬於眨眼的所有眼動樣本(數據文件中的線),我需要創建一個變量來標記包含眨眼的所有掃視。 一個簡單的例子如下:

我有數據:

Data <- data.frame(Blink=c(0,0,0,1,1,0,0,0,1,1,0,0,0,0,0), Saccade=c(0,1,1,1,1,1,0,1,1,1,1,0,1,1,0))

我想要一個這樣的變量:

Data$Saccade_containing_blink <- c(0,1,1,1,1,1,0,1,1,1,1,0,0,0,0)

哪個功能可以使用R給我該結果?

# example data
Data <- data.frame(Blink=c(0,0,0,1,1,0,0,0,1,1,0,0,0,0,0), 
                   Saccade=c(0,1,1,1,1,1,0,1,1,1,1,0,1,1,0))

library(dplyr)

Data %>%
  group_by(group = cumsum(Saccade==0)) %>%            # group your Saccades
  mutate(Saccade_containing_blink = max(Blink),       # if there's a Blink update all rows within that Saccade
         Saccade_containing_blink = ifelse(Saccade == 0, 0, Saccade_containing_blink)) %>%  # update Saccade to exclude the 0s (0s separate Saccades)
  ungroup() %>%                                       # ungroup data
  select(-group)                                      # remove grouping column

# # A tibble: 15 x 3
#   Blink Saccade Saccade_containing_blink
#   <dbl>   <dbl>                    <dbl>
# 1     0       0                        0
# 2     0       1                        1
# 3     0       1                        1
# 4     1       1                        1
# 5     1       1                        1
# 6     0       1                        1
# 7     0       0                        0
# 8     0       1                        1
# 9     1       1                        1
# 10    1       1                        1
# 11    0       1                        1
# 12    0       0                        0
# 13    0       1                        0
# 14    0       1                        0
# 15    0       0                        0

這種方法的原理是能夠對Saccade列進行分組,並檢查每個Saccade中的至少一行是否存在Blink 我假設SaccadeSaccade列中用0分隔。

暫無
暫無

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

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