眼動數據預處理和部分指標提取(基於DA1文件)

眼動數據預處理和部分指標提取(基於DA1文件)

4 人贊了文章

鄙人前日用UMASS開發的眼動數據處理的wineyedry軟體,一直出bug,近期同學的數據用wineyedry也出錯了,故自己寫了些代碼幫助其處理眼動數據(經驗證可行)。今日將所有的代碼整合為若干函數,使用起來更方便。整個處理包括:預處理,提取興趣區的注視點個數及其比例、總閱讀時間、首次注視時間、是否接受回視、首個主視點是否為回視、第二次閱讀的首次注視時間、首次通過興趣區的時間、是否從興趣區發出回視、是否首次通過興趣區即發出回視、首次閱讀時是否注視過興趣區等11項指標,並生成相應的整理文件,供用戶自己提取其他指標。


注意:適用於單行或多行呈現的材料;注視時間篩選默認是80到1000ms,可以調節。

準備材料:1.所有被試的DA1文件,並將其後綴改為csv(即改為逗號分隔格式文件),將前綴改為<Sub*>的形式(即最終重命名為Sub001.csv, Sub_002.csv這樣格式的文件名);2.ROI位置的文件,整理格式如下圖:

第一列為item編號,第二列為condition的編號,第三列至最後一列為興趣區的位置。


按順序會生成如下文件:

  1. FTtotal.csv 如下圖所示,即按照時間順序統計了各注視點的所屬的被試,條件,item,x軸位置,y軸位置,開始時刻,結束時刻。

2. FTtotalA.csv 如下圖所示,在FTtotal.csv的基礎上增加了是否為首次閱讀的注視點,注視點的時長,是否在興趣區內,從該注視點發出的眼跳方向(fore向前;back向回)。

3. FTtotalAS.csv 如下圖所示,在FTtotalA.csv 的基礎上篩選出80到1000ms的注視點。

4. FTtotalASR.csv 如下圖所示,在FTtotalAS.csv 的基礎上篩選出只在興趣區內的注視點。

5. ROIFTnum.csv 如下圖所示,統計了每個trial的所屬被試、條件,item,興趣區的注視點的總個數及比例。

6. ROItotaltime&fft.csv 如下圖所示,統計了每個trial的被試、條件、item,興趣區的總閱讀時間和首次注視時間。

7. FTtotalASRpt.csv 如下圖所示,在FTtotalAS.csv 的基礎上,統計了通過興趣區的次數(若在興趣區外,為0)。

8. FTtotalASRptReg.csv 如下圖所示,在FTtotalASRpt.csv 的基礎上,統計了興趣區接受的回視來自興趣區的左邊還是右邊(若相應的passtimes為0 和 1,regressionfrom為 None)。

9. ROIrightregressionIn.csv 如下圖所示,統計了各trial的興趣區所屬的被試、item,條件,是否接受來自興趣區右邊的回視,興趣區的首個注視點是否是來自右邊的回視。

10. ROIsecondFT.csv 如下圖所示,統計了各trial的興趣區的所屬被試、item、條件、第二次注視時間(如果相應的passtime最大為1, 則SecondFT為0)。

11. ROIgazeduration.csv 如下圖所示,統計了各trial的興趣區的所屬被試、item、條件、第一次通過(passtimes為1)的注視時間總和。

12. ROIregressionout.csv 如下圖所示,統計了各trial的興趣區的所屬被試、item、條件、是否從興趣區發出回視,第一次通過興趣區時是否發出回視。

13. ROIfixationprop.csv 如下圖所示, 統計了各trial的興趣區的所屬被試、item、條件、首次閱讀時是否注視興趣區。


因為眼動指標可提取的非常多,因此所有處理產生的FTtotal* 類的文件都有保存,供用戶提取其他指標。以下是原函數:

funIntegrate(workdir)workdir 為工作路徑。

注意:只執行funIntegrate(workdir)函數即可;建議把原代碼存到同一個R script 內,並將該文件(比如命名為Integrate.R )和準備材料放到同一個目錄下面;之後將R的工作空間調整到該目錄下,執行下面的兩行代碼即可:

source(Integrate.R)funIntegrate(getwd())

因為代碼太長放不下了,放入下一篇文章里。


推薦閱讀:

Python數據分析學習五--數據轉換、過濾清理
POINT問答 | 構建日曆 in tableau
Python筆記1 基本內容:字元串、數字、判斷、循環
如何利用數據驅動設計
常見的7種數據分析手段

TAG:Rstudio | 數據整理 | 數據分析 |