【发布时间】:2016-04-27 19:34:02
【问题描述】:
我有一系列事件时间戳,基于这些时间戳我在 R 中创建了如下的事件处理流字符串:
- A->B->C->D->E
- A->C->D->E
- B->C->D
- A->E
等等……
我有 50 个这样的流程组合。我想列出流程中可用的每个唯一转换,如下所示:
- A->B
- A->C
- A->E
- B->C
- C->D
等等。
我不知道如何在 R 中做到这一点。任何指导/解决方案都会非常有帮助
谢谢。
【问题讨论】:
-
您的预期输出是不可预测的,但如果您想将它们分解为单独的步骤,您可以使用
s <- strsplit('A->B->C->D->E', '->')[[1]] ; sapply(seq_along(s[-1]), function(x){paste(s[x], s[x+1], sep = '->')}) -
您的解决方案有所帮助。我会调整它以适应我的代码流。谢谢
-
哦,我知道你现在想要什么了。已编辑,其中
s是流字符串的向量:s <- strsplit(s, '->') ; unique(unlist(lapply(s, function(x){sapply(seq_along(x[-1]), function(y){paste(x[y], x[y+1], sep = '->')})})))sort如果您愿意。