Как мне составить профили непредвиденных решений людей в R? - PullRequest
0 голосов
/ 04 ноября 2018

Предположим, плотник создает деревянный лабиринт, который с высоты птичьего полета выглядит как древовидная структура с узлами и ветвями. Вы начинаете с узла, который разветвляется на 4 других узла, и каждый из этих узлов снова разветвляется на 4 узла, которые в последний раз разветвляются на 4 выхода. Это означает, что у вас есть 4x4x4 = 64 способа завершения лабиринта.

Затем я провожу сотни тысяч мышей через этот лабиринт и записываю путь, который они выбирают, отмечая путь ветвления, который они выбирают в каждом узле. Большинство мышей запускают лабиринт несколько раз, и, конечно же, они могут каждый раз выбирать другой путь.

Пример данных

id    node1   node2     node3     date
"4"   "path1"  "path1"  "path4" "1999.01.01"
"9"   "path1"  "path3"  "path1" "1999.01.01"
"24"  "path1"  "path3"  "path2" "1999.01.01"
"1"   "path4"  "path3"  "path3" "1999.01.02"
"9"   "path2"  "path3"  "path1" "1999.01.02"
"22"  "path3"  "path3"  "path2" "1999.01.04"
...

Я хочу построить профиль для каждой мыши. Поэтому, если я нахожусь в узле, полученном путем перехода по пути 1, а затем по пути 3, я могу немедленно использовать это, чтобы найти данные о мышах # 333 и найти:

path1: 4 path2: 0 path3: 1 path 4: 10 Last_Chosen_Path:path3 Last_time_for_this_mice_to_arrive_at_this_position: 2002.05.01

где число после каждого пути - это количество раз, которое мыши выбрали для прохождения этих путей. Я также хотел бы получить информацию о выбранном пути в последний раз, когда указанная мышь достигла этого пересечения, а также о дате последнего прибытия мыши в это положение.

Я какое-то время думал об этой проблеме, и наилучшим образом я придумал, чтобы сохранить ее в кадре данных, где каждый столбец - это данные одной мыши, а каждая строка - путь к каждому возможному узлу. например 'path1.path2'. Я могу создать 2 из этих фреймов данных, один для хранения частоты каждого посещения, другой будет содержать даты, так что [row path1.path1, col = 'mice 333'] будет датой, которую мышь 333 выбрала путь 1 после выбора изначально путь 1.

Я бы хотел найти потенциально лучший способ сортировки вещей. Может ли быть структура данных, похожая на дерево с фреймом данных на каждом узле? Таким образом, я могу использовать фрейм данных в конкретном узле для хранения данных о решении мышей, которые прибыли туда.

Во-вторых, есть ли способ сделать хранение более эффективным, поскольку в большинстве случаев мыши выбирают похожие пути и оставляют большинство путей неисследованными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...