让我考虑以下数据
myList <-list(1,2,3,4,5,6,7,5,8,9,10,8,7,6)
现在,我想识别一些模式,并保存所有与值匹配一个或多个模式的位置/键。例如:
1)在某个值(4)之下/在某个值(4)之上的(例如3个元素)序列:
pattern_UnderTheMean <-list(0,1,2); pattern_AboveTheMean <-list(list(4,5,6),list(8,9,10))
2)(例如至少3个元素)的序列,其中下一个元素比实际元素低/大:
pattern_Increasing <-list(0,1,2,3,4,5,6); pattern_Decreasing <-list(10,11,12,13)
所以最终结果应该像这样:
patternList$pattern_UnderTheMean <- list(0,1,2);
patternList$pattern_AboveTheMean <- list(list(4,5,6),list(8,9,10));
patternList$pattern_Increasing <- list(0,1,2,3,4,5,6);
patternList$pattern_Decreasing <- list(10,11,12,13);
坦率地说,我没有比遍历myList中的所有元素并为每种情况创建tempList并将列表附加到根patternList更好的主意了。
对我来说,这似乎效率很低。是否有更好/更有效的解决方案?也许可以解释我的一种模式?
谢谢!