Допустим, у меня есть эти данные. Моя цель - экстрактивные комбинации последовательностей.
У меня есть одно ограничение, время между двумя событиями может быть не более 5, позволяет называть это maxGap
.TraMineR, Извлечь всю существующую комбинацию событий как фиктивных переменных
User <- c(rep(1,3)) # One users
Event <- c("C","B","C") # Say this is random events could be anything from LETTERS[1:4]
Time <- c(c(1,12,13)) # This is a timeline
df <- data.frame(User=User,
Event=Event,
Time=Time)
Если вы хотите использовать эти последовательности в качестве двоичных объяснительных переменных для анализа.
Учитывая этот файл данных, результат должен быть таким.
res.df <- data.frame(User=1,
C=1,
B=1,
CB=0,
BC=1,
CBC=0)
(CB) и (CBC) будет равен 0, так как maxGap
> 5.
Я пытался написать функцию для этого, используя много для-петли, но он становится очень сложным, если последовательность становится больше и разное количество evets также становится больше. А также, если число разных пользователей увеличивается до 100 000.
Возможно ли это сделать в TraMineR с помощью seqeconstraint
?
Спасибо Гилберта, и спасибо за удобный пакет :) – TKN
, к сожалению, не удалось выполнить с большим набором данными. Я попытался установить maxK на 4,3,2 и 1. Но он все еще не работал. У вас есть идеи о других пакетах, которые могут работать? Я посмотрел на arulesSequences, но не думаю, что это работает ... – TKN