【发布时间】:2021-07-17 15:29:05
【问题描述】:
“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,960L,960L),
Top = c(969L,969L,969L),
Bottom = c(0L,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, aoi_dataframe = aoi_left, x_col = "gaze_x", :
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-04-23 创建
即使眼动追踪数据框的列名与 aoi 数据框的列名相同,此错误仍然存在。非常感谢您对如何解决此问题的任何想法!
【问题讨论】:
-
您的数据框
datRep不起作用;您必须通过make_eyetrackingr_data()运行您的数据才能使用add_aoi。 -
感谢您的回复,尽管我认为这并不完全正确。为了运行 make_eyetrackingr_data() 数据需要采用适当的格式,这包括 aoi 列。有关更多详细信息,请参阅eyetracking-r.com/vignettes/preparing_your_data
标签: r eye-tracking human-computer-interface