vec01 <- c(1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 1, 2, 1,
2, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 2, 2,
1, 2, 2, 1, 1, 2, 3, 4, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 1, 1, 1,
2, 1, 2, 3, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1)
问题1:怎样去除异常下面突出显示:
vec01 <- c(1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 1, 2, 1,
2, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, *2*, *2*,
1, 2, *2*, 1, 1, 2, 3, 4, 1, 1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 1, 1, 1,
2, 1, 2, 3, 4, *2*, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1)
异常的定义:该元件需要是部分系列1,2,...以上加粗标记的部分
问题2:如何识别删除异常后的系列组,每个序列属于一个组i。即,像
result <- structure(list(vec = c(1L, 2L, 1L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 3L,
4L, 5L, 6L, 7L, 8L, 1L, 2L, 1L, 2L, 1L, 2L, 1L,
1L, 1L, 1L, 2L, 1L, 2L),
group = c(1L, 1L, 2L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 8L,
8L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 10L, 10L, 11L,
11L, 12L, 13L, 14L, 15L, 15L, 16L, 16L)),
.Names = c("vec", "group"),
row.names = c(NA, 30L), class = "data.frame")
什么用粗体标出?你的“定义”需要更多的解释。我不清楚。问题2中的“系列组”是什么? – Arun 2013-03-17 10:41:50
@Arun我认为OP试图通过常规'序列'来寻找组:123是好序列,但是122不是常规序列。 – agstudy 2013-03-17 10:45:58
是@ agstudy..thats我的意思是 – srbhgaur 2013-03-17 10:47:44