0

我有一些来自 2560x1600 显示器的时间序列眼动追踪数据(xy 坐标随时间变化)。根据 40 个大小相同的 320x320 像素块,我已将这些坐标减少为 1-40 范围内的单列值。见下图说明:

监控事业部

对于 40 个块中的每一个,我想返回系列中最常跟随的块(即时间 +1)以及概率值(频率目标/频率全部)。

最终目标是绘制一个连接所有块的单个箭头(如果可能,在 ggplot 中),其粗细对应于概率值。

某种加权路由算法可能会起作用,其中权重由频率指定。但我不确定如何进行。任何帮助将不胜感激!

这是我的数据集的一小段摘录。变量是::pid参与者 ID screen,:正在查看(两个)监视器中的一个,xcoord:x 轴(像素)ycoord,:y 轴像素,time:以毫秒为单位,gsqr:1-40 块。

数据:

structure(list(pid = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("P_1", 
"P_1", "P_10", "P_12", "P_14", "P_15", "P_16", "P_17", "P_19", 
"P_2", "P_20", "P_21", "P_22", "P_23", "P_3", "P_4", "P_5", "P_6", 
"P_7", "P_8", "P_9"), class = "factor"), screen = c(2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L), xcoord = c(1154.01227666667, 1155.940191, 1164.879753, 1074.846603, 
1092.546799, 1078.143765, 1094.580922, 1106.799512, 1159.408059, 
1166.93691, 1142.677101, 1132.947821, 1117.288215, 1131.395988, 
1145.429976, 1125.658871, 1115.351177, 1061.143624, 1076.735769, 
1105.468566, 1140.021823, 1147.393039, 1122.128114, 1321.6034475, 
1670.063845, 1379.848096, 1973.913449, 1951.287792, 1952.3526205, 
1940.310299, 1906.957022, 1912.736649, 1891.805489, 2006.59441, 
2036.647668, 2025.339708, 1983.73872, 1999.694169, 1975.601473, 
1975.981649, 2034.807021, 2087.773419, 2098.74746, 2070.586998, 
1920.953708, 1666.604803, 1552.383377, 1570.594313, 1558.798661, 
1509.094398, 1549.834645, 1551.745516, 1603.123519, 1586.478754, 
1523.956076, 1559.820335, 1566.904846, 1522.701939, 1537.874355, 
1590.692474, 1571.672819, 1569.387303, 1542.246469, 1541.303953, 
1554.1687335, 1498.235121, 1497.137561, 1554.563621, 1592.455178, 
1555.935572, 1582.93965, 1612.7030495, 1592.1366, 1574.328262, 
1535.520099, 1214.258315, 964.9041596, 696.0528832, 588.5852169, 
620.9915804, 674.3107345, 644.800353, 677.7952189, 663.1705067, 
664.037588, 688.4489732, 707.6031205, 682.3794414, 690.2102382, 
663.6196247, 651.4586402, 611.2698717, 616.7892918, 606.3280656, 
609.9678356, 596.0489586, 596.9350689, 613.7279028, 645.7202201, 
614.0420775), ycoord = c(992.7537215, 1016.8362145, 999.1472443, 
976.6834361, 1007.520448, 1016.265703, 1049.940269, 1059.477207, 
1095.889827, 1112.342984, 1123.692207, 1115.968239, 1085.073457, 
1083.841625, 1089.193325, 1131.880333, 1084.167356, 1036.945735, 
1058.828504, 1074.39414, 1056.124785, 1084.490989, 1088.5553755, 
1022.14947155, 1103.157852, 589.137999, 348.3233178, 361.274262, 
366.91643625, 366.8896819, 363.1556742, 356.3001216, 365.2487051, 
310.1548873, 311.0964855, 346.206749, 393.8948754, 399.0503393, 
376.8980165, 405.7304857, 368.2036409, 372.6653281, 393.9490203, 
440.2435257, 395.9638301, 649.9943096, 829.827756, 771.2689986, 
745.1354633, 758.9204603, 781.6829601, 749.6104794, 757.3137338, 
756.3926051, 717.6162352, 819.0179534, 849.0746459, 744.9108462, 
795.9806317, 877.6018499, 805.4779231, 794.4930012, 740.9918106, 
843.4881496, 799.50432945, 842.5302298, 765.9102761, 444.0052531, 
718.2618065, 670.9974055, 674.9919201, 704.12445135, 711.347027, 
761.5353487, 792.4824637, 736.5552571, 843.6366849, 932.7377608, 
1011.549409, 1118.03355, 1116.275445, 1086.213557, 1079.41763, 
1074.0375845, 1061.520593, 1075.469137, 1094.019599, 1074.833966, 
1068.151009, 1096.464941, 1126.035224, 1158.060378, 1142.250594, 
1138.57293, 1143.929135, 1139.0282, 1147.633656, 1140.692305, 
1129.022813, 1153.418443), time = c(237689L, 237744L, 237746L, 
237750L, 237752L, 237766L, 237782L, 237798L, 237815L, 237832L, 
237848L, 237866L, 237882L, 237935L, 237936L, 237938L, 237948L, 
237964L, 237980L, 237997L, 238014L, 238030L, 238048L, 238064L, 
238081L, 238149L, 238152L, 238292L, 238344L, 238347L, 238350L, 
238353L, 238366L, 238379L, 238396L, 238412L, 238429L, 238445L, 
238463L, 238479L, 238496L, 238544L, 238545L, 238550L, 238562L, 
238579L, 238596L, 238612L, 238629L, 238646L, 238662L, 238680L, 
238695L, 238748L, 238750L, 238763L, 238779L, 238796L, 238812L, 
238829L, 238846L, 238862L, 238879L, 238898L, 238947L, 238950L, 
238962L, 238979L, 239062L, 239079L, 239095L, 239149L, 239152L, 
239162L, 239179L, 239203L, 239213L, 239228L, 239245L, 239262L, 
239278L, 239295L, 239311L, 239350L, 239361L, 239378L, 239395L, 
239411L, 239428L, 239445L, 239463L, 239479L, 239495L, 239513L, 
239552L, 239555L, 239563L, 239580L, 239596L, 239613L), gsqr = c(28, 
28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 
28, 28, 28, 28, 28, 28, 29, 30, 13, 15, 15, 15, 15, 14, 14, 14, 
1, 1, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 22, 21, 21, 21, 
21, 21, 21, 22, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 
21, 21, 13, 21, 21, 21, 22, 21, 21, 21, 20, 20, 19, 26, 26, 27, 
27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 26, 26, 26, 26, 26, 
26, 27, 26)), .Names = c("pid", "screen", "xcoord", "ycoord", 
"time", "gsqr"), row.names = c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 
9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 
22L, 23L, 24L, 25L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L, 36L, 
37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L, 47L, 48L, 49L, 
50L, 51L, 52L, 53L, 54L, 55L, 56L, 57L, 58L, 59L, 60L, 61L, 62L, 
63L, 64L, 65L, 66L, 67L, 68L, 69L, 70L, 71L, 72L, 73L, 74L, 75L, 
76L, 77L, 78L, 79L, 80L, 81L, 82L, 83L, 84L, 85L, 86L, 87L, 88L, 
89L, 90L, 91L, 92L, 93L, 94L, 95L, 96L, 97L, 98L, 99L, 100L, 
101L, 102L), class = "data.frame") 
4

0 回答 0