Я использую R и нуждаюсь в некоторой помощи.R: Как создать матрицу перехода состояния из вектора, представляющего состояния по дискретным шагам времени?
фон:
I видео записанных участники поведенческого исследование. Затем я кодировал различные аспекты их поведения из видео, чтобы теперь у меня был один кадр данных для каждого участника. У 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 (package markovchain) звучит соблазнительно, но я не думаю, что хочу/должен соответствовать модели Маркова моим данным (из-за последствий и обязательств, которые я не хочу делать).
3) Функция count.transitions (пакет RDS) также звучала соблазнительно, но я не мог понять, как принуждать мои данные к объекту rds.data.
Большое спасибо =]
Moe
Вы должны спросить одну вещь за раз. Я склонен закрыть вопрос, но я просто оставлю его, если вы отредактируете его, чтобы просто указать проблему 1. – nicola
Чтобы ответить на ваш №2, предоставьте соответствующий набор данных. – tchakravarty