Преобразование формулы состояния, идентификатора и даты в последовательность состояний в traminer

 library(TraMineR)  



    df2 <- structure(list(ID = structure(c(1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 
3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 
4L, 4L, 4L, 4L, 4L), .Label = c("1", "2", "3", "4"), class = "factor"), 
    Date = structure(c(12432, 12432, 15262, 15293, 15385, 15385, 
    15475, 15567, 15598, 15628, 15689, 15810, 15871, 15963, 16024, 
    16054, 16144, 16205, 16297, 16389, 12432, 12492, 12614, 12676, 
    12767, 12888, 12949, 13071, 13132, 13253, 13344, 13406, 13436, 
    13559, 13618, 13709, 13771, 13862, 13953, 14045, 14137, 12432, 
    12676, 13010, 14045, 14137, 14228, 14290, 14410, 14502, 14563, 
    14714, 14744, 14744, 14775, 14836, 14897, 14897, 14928, 14958, 
    15048, 15201, 15232, 15323, 15414, 15536, 15536, 15536, 15567, 
    15567, 15598, 15628, 15659, 15659, 15751, 15751, 15779, 15810, 
    15810, 15840, 15871, 15871, 15901, 15901, 15963, 15993, 16054, 
    16054, 16085, 16116, 16144, 16144, 16175), class = "Date"), 
    st = structure(c(10L, 10L, 3L, 3L, 3L, 5L, 5L, 5L, 5L, 5L, 
    5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 2L, 2L, 2L, 2L, 2L, 
    2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
    2L, 1L, 1L, 1L, 7L, 7L, 7L, 7L, 1L, 7L, 1L, 6L, 1L, 7L, 7L, 
    6L, 1L, 6L, 6L, 7L, 1L, 1L, 7L, 1L, 1L, 1L, 4L, 7L, 4L, 7L, 
    4L, 8L, 4L, 7L, 7L, 8L, 8L, 7L, 8L, 8L, 7L, 8L, 7L, 8L, 7L, 
    7L, 7L, 8L, 8L, 8L, 7L, 8L, 9L), .Label = c("1", "2", "3", 
    "4", "5", "6", "7", "8", "9", "10"), class = "factor")), class = "data.frame", row.names = c(NA, 
-93L), .Names = c("ID", "Date", "st"))

Я могу составить последовательность событий, используя:

ev <- seqecreate(id = df2$ID,timestamp = df2$Date,event = df2$st)

Однако хотелось бы получить последовательность состояний для построения графика. Я мог бы создать df2 в формате SPELL, вычитая даты и т. Д., Но тогда я потеряю даты (которые, как мне кажется, лучше для построения графика). Или можно как-нибудь преобразовать ev в последовательность состояний?


person Misha    schedule 10.04.2017    source источник
comment
Пожалуйста, добавьте 'library (traminer)' в начало ваших фрагментов, чтобы люди могли напрямую видеть, на что вы ссылаетесь.   -  person Daniel    schedule 10.04.2017
comment
Пожалуйста, проверьте код, который вы предоставляете. Выдает ошибки: неизвестные объекты df2 и ID !!!   -  person Gilbert    schedule 11.04.2017
comment
@ Гилберт - Извини. Поверьте, это было из-за того, что df был пустяком. теперь преобразован в обычный фрейм данных. Надеюсь, это сработает.   -  person Misha    schedule 11.04.2017
comment
У нас все еще нет объекта df2! Более того, какой сюжет вы бы хотели сделать?   -  person Gilbert    schedule 17.04.2017
comment
Он работает на моем компьютере, а также на других компьютерах, на которых я его пробовал. Вы назначили структуру / список в df2? df2 ‹-структура (список ... копия сверху).   -  person Misha    schedule 17.04.2017
comment
Конечно, назначая структуру df2, я получаю объект df2. Это было не то, что у вас было до вашего последнего редактирования!   -  person Gilbert    schedule 17.04.2017


Ответы (1)


Чтобы построить свои последовательности, вы можете сделать

seqpcplot(ev)

что дает вам следующий график параллельных координат

seqpcplot

person Gilbert    schedule 17.04.2017