Функция TSE_to_STS предназначена для преобразования последовательностей событий с метками времени в последовательности состояний. Это делается путем определения состояния, в котором мы находимся после того, как событие происходит. При «stm = NULL» состояние после каждого события характеризуется как сочетание текущего состояния и события.
Ваш пример не воспроизводим, потому что:
- Нам неизвестна повторная маркировка, которую вы применили к событиям, закодированным от 1 до 8, и
- Похоже, что вы смешали аргументы
timestamp
и event
в примере команды TSE_to_STS
.
Ниже я приведу воспроизводимый пример (на основе вашего примера, за исключением столбца country
, который мы не используем).
library(TraMineRextras)
seq.tse.data <- structure(list(
ID = c(1L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L,
6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 7L, 7L),
Year = c(2008L, 2010L, 2012L, 2007L, 2009L, 2010L, 2012L,
2013L, 1996L, 1997L, 1999L, 2003L, 2006L, 2008L,
2012L, 2007L, 2007L, 2008L, 2003L, 2007L, 2007L,
2009L, 2009L, 2011L, 2014L, 2016L, 2006L, 2009L,
2011L, 2013L, 2013L, 2015L, 2015L, 2016L),
Event = c(8L, 7L, 8L, 5L, 1L, 8L, 8L, 8L, 3L, 3L, 3L,
3L, 3L, 8L, 1L, 8L, 8L, 8L, 7L, 8L, 8L, 8L,
8L, 8L, 8L, 8L, 8L, 8L, 7L, 7L, 6L, 7L, 6L,
8L)),
class = "data.frame", row.names = c(NA, -34L)
)
seq.tse.data[seq.tse.data$ID==7,]
# ID Year Event
# 27 7 2006 8
# 28 7 2009 8
# 29 7 2011 7
# 30 7 2013 7
# 31 7 2013 6
# 32 7 2015 7
# 33 7 2015 6
# 34 7 2016 8
seq.sts <- TSE_to_STS(seq.tse.data,
id = 1, timestamp = 2, event = 3,
stm =NULL, tmin = 1990, tmax = 2018,
firstState = "None")
Для идентификатора 7 мы получаем:
seq.sts[7,which(names(seq.sts)=="a2005"):which(names(seq.sts)=="a2018")]
# a2005 a2006 a2007 a2008 a2009 a2010 a2011 a2012 a2013 a2014 a2015 a2016 a2017 a2018
# 7 None None 8 8 8 8 8 8.7 8.7 8.7.6 8.7.6 8.7.6 8.7.6 8.7.6
В этом примере для id=7
первое событие (8
) происходит в 2006 году. Следовательно, состояние составляет None
до 2006 года и впоследствии переключается на 8
. В 2011 году происходит событие 7
. Итак, в следующем году (2012) мы переходим в состояние «события 8 и 7 уже произошли», которое обозначается как 8.7
. Когда 7
происходит снова в 2013 году, оно не меняет состояние, поскольку 7
уже произошло, в то время как событие 6 приводит к состоянию 8.7.6
. Последний вступает в силу в следующем году, то есть в 2014 году.
Различные схемы для определения состояния, возникающего после возникновения каждого события, могут быть определены путем предоставления матрицы stm
для функции TSE_to_STS
. Используйте функцию seqe2stm
для определения матрицы stm
. (Более подробную информацию смотрите на странице справки этой последней функции.)