我有2560x1600显示器的时间序列眼动追踪数据(x-y坐标随时间变化)。根据40个大小相同的320x320像素块,我已将这些坐标缩小为单列,范围为1-40。请参见下面的图片:
对于40个块中的每一个,我想返回系列中最常见的块(即时间+ 1)以及概率值(freq target / freq all)。
最终目标是绘制连接所有块的单个箭头(如果可能,在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")