问题描述
'eyetrackingR' 包对于眼球追踪数据的分析似乎很有希望,但我在尝试以适当的格式获取数据时遇到了一个问题。
感兴趣区域 (aoi) 设置有左、右、下和上边界,我想评估任何试验的 x-y 坐标是否落在给定区域内。该区域因参与者而异(基于他们的屏幕分辨率),但在试验中保持不变。我已经尝试在下面的第一步中尽可能地简化数据。
在这里,我创建了两个数据框。一个是原始眼球追踪数据,在“gaze_x”和“gaze_y”列中估计眼睛位置。两个是 aoi 数据集,稍后用作“add_aoi”函数的输入,用于评估估计位置是否落在指定区域内。
library(eyetrackingR)
datRep <- data.frame(
stringsAsFactors = FALSE,res_x = c(1920L,1920L,1920L),res_y = c(969L,969L,969L),mid_x = c(960L,960L,960L),mid_y = c(484.5,484.5,484.5),gaze_x = c(1103.6,1103.6,1103.6),gaze_y = c(525.8,525.8,525.8),cond = c("fixation","image display","response"),pair = c(3L,3L,3L),trial_time = c(0.00105,0.00105,0.02798),selection = c(NA,NA,"right")
)
aoi_left <- data.frame(
Trial = c(3L,2L,1L),Left = c(0L,0L,0L),Right = c(960L,Top = c(969L,Bottom = c(0L,0L)
)
既然已经指定了示例数据集和感兴趣的区域,我想将后者添加到前者。这是根据此处提供的示例完成的:http://www.eyetracking-r.com/vignettes/preparing_your_data。
datRepAoi <- add_aoi(data = datRep,aoi_dataframe = aoi_left,x_col = "gaze_x",y_col = "gaze_y",aoi_name = "aoi_left",x_min_col = "Left",x_max_col = "Right",y_min_col = "Bottom",y_max_col = "Top")
#> Error in add_aoi(data = datRep,:
Your `aoi_dataframe` has more than one row,but it doesn't have any columns that match the
columns in your data,so it's not clear how to map these rows onto this data.
由 reprex package (v2.0.0) 于 2021 年 4 月 23 日创建
即使眼动追踪数据帧的列名与 aoi 数据帧的列名相同,此错误仍然存在。非常感谢有关如何解决此问题的任何想法!
解决方法
结果证明 aoi 数据框的试验列需要对应于原始数据集中的试验列(即“试验”)。对于 aoi 数据帧的任何其他列(例如左、右......),情况并非如此。