Я использую R и мне нужна помощь.
Предыстория:
я снимал на видео участников поведенческого исследования. Затем я закодировал различные аспекты их поведения из видео, так что теперь у меня есть один фрейм данных для каждого участника. У df есть много неупорядоченных факторов, каждый из которых представляет дискретную временную последовательность состояний участника для одного конкретного поведенческого измерения (например, направления взгляда). Каждая строка содержит значение в течение одной секунды для этого измерения. Для упрощения предположим, что один такой вектор может выглядеть так:
p01.gaze = factor(x = c("a", "b", "b", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "b", "b", "a", "d", "d", "d", "a", "a", "a", "e", "e", "d", "e", "e", "a","a", "e", "a", "a", "a", "e", "e", "e", "e", "e", "e", "e", "e", "e", "e", "d", "b", "b", "b", "d", "d", "d", "d", "d", "d", "d", "b", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "d", "a", "b", "a", "d", "d", "a", "c", "e", "e", "e", "c", "c", "a", "e", "e", "a", "a", "a"))
Проблема:
Для каждого вектора я хочу построить "матрицу переходов между состояниями" путем вычисления частоты переходов (используя подсчет или, альтернативно, пропорцию) между всеми возможными парами состояний. Таким образом, матрица будет:
p01.gaze.m = matrix(nrow=5, ncol=5, dimnames = list(c("a", "b", "c", "d", "e"), c("a", "b", "c", "d", "e")))
ПРИМЕЧАНИЯ:
1) Я новичок в программировании и не смог найти нужных функций. Я тщательно искал, но не нашел подходящих решений, поэтому любая помощь будет приветствоваться.
2) Функция markovchainFit (пакет markovchain) звучала заманчиво, но я не думаю, что хочу/нужно подгонять марковскую модель к своим данным (из-за последствий и обязательств, которые я не хочу брать на себя).
3) Функция count.transitions (пакет RDS) тоже звучала заманчиво, но я не мог сообразить, как принудительно преобразовать мои данные в объект rds.data.
Большое спасибо =]
Моэ