【发布时间】:2014-11-01 17:26:56
【问题描述】:
我有一个来自 Tobii Eyetracker 的数据集。 某些操作后的数据集如下所示
timestamp xposition yposition
我使用 python 来收集数据。当参与者看着监视器时,数据被重新记录。我想为显示器的大小生成热图。
稍后我还想制作一个图像并覆盖此热图。
我想使用 R 来生成热图。 执行此操作的算法是什么,或者是否有插件可以直接将我的数据集作为输入提供?
实验设置:
- 时间是相对时间:100,100.02,100.04,100.06..等等 以 0.02 秒的顺序递增
- xPosition 和 yPosition 以厘米为单位。从显示器的中心。
- 背景图片将被分割成 10 行 6 列的方形盒子,每个盒子的大小为 3.4 厘米
- 使用的显示器分辨率大小为 1920x1080 精确 MonitorUsed
我运行时出错的代码: 在 matlab 中使用 dlmwrite 导出后,我使用 R Studio 中的 GUI 加载变量并执行以下操作:
> xPos = myfile[1:278,1]
> yPos = myfile[1:278,2]
> breaks.x <- seq(-23.5, 23.5, length.out = 3.4)
> breaks.y <- seq(-14.1, 14.1, length.out = 3.4)
> int.x <- findInterval(xPos, breaks.x)
> int.y <- findInterval(yPos, breaks.y)
> tb <- table(int.x, int.y)
> image(breaks.x, breaks.y, tb, las=1)
Error in image.default(breaks.x, breaks.y, tb, las = 1) :
dimensions of z are not length(x)(-1) times length(y)(-1)
我在 x 的 - 到 + 23.5 和 y 的 - 到 + 14.1 之间做了它,这样我就可以匹配我在做实验时生成的点。仅在该区域绘制的图像。
【问题讨论】:
-
在 matlab 和 r 中使用 table() 函数