在序列对象上使用grep()或sub()?

在序列对象上使用grep()或sub()?,r,regex,traminer,R,Regex,Traminer,我想总结事件序列对象中的某些模式。我之所以要这样做,是因为我的序列太长,有几百个事件,这使得计算非常困难。我已经确定了频繁子序列,现在我想用表示完整子序列的标记替换某些频繁子序列,就像它是单个事件一样 例如,我可能有一个我想要替换的模式,比如FA-FA。按顺序 FA-FA-EX-EX-FA (5 event markers) 这将是: FAFA_pattern-EX-EX-FA (4 event markers) 我尝试了以下几点: library(TraMineR) data(actcal

我想总结事件序列对象中的某些模式。我之所以要这样做,是因为我的序列太长,有几百个事件,这使得计算非常困难。我已经确定了频繁子序列,现在我想用表示完整子序列的标记替换某些频繁子序列,就像它是单个事件一样

例如,我可能有一个我想要替换的模式,比如FA-FA。按顺序

FA-FA-EX-EX-FA (5 event markers)
这将是:

FAFA_pattern-EX-EX-FA (4 event markers)
我尝试了以下几点:

library(TraMineR)
data(actcal.tse)
actcal.seqe <- seqecreate(id = actcal.tse$id, 
timestamp = actcal.tse$time, event = actcal.tse$event)
actcal.seqe2 <- sub("(LowPartTime)-1-(Stop)", "replaced_pattern", actcal.seqe)

这似乎很好,但是,它将序列转换为文本字符串,并且不再作为序列对象。是否有一种方法可以在保持序列对象作为序列对象的状态的同时执行此类替换操作?

我认为您需要了解更多有关事件序列类以及如何从和转换为字符向量的信息。如果您可以编写一个字符向量并将其强制为一个事件序列对象,那么您已经完成了这项工作