2013-01-11 1 views
0

나는 각 항목이 직전에 연속 항목에서 얼마나 멀리에 따라 데이터 시트에 대한 인덱스 컬럼 (i)를 생성하는 R을 사용할 그리고 후 : x는 이전에서> (10) 값이 < or >이고 이전 번호입니까?

  1. 입니다

    경우 x는 이전 값에서> (10), 및 다음 값에서> (10), 할당 인 경우 다음 값에서 값,하지만 < (10)는, 할당
  2. 을 "시작", "고독한"X가에서 < 10
  3. 경우 이전 값,하지만 다음 값에서> 10, "끝"지정
  4. x가 < 10이면 다음 값에서 빚을내는 값 및 < (10)는, 열이라는 이름의 경우는

예를 들어, "X", "중간"읽기 지정 - 1,3,14,25,26,27,31,46 ....

열이 읽을 것 생성 된 색인 : 전 = 시작, 끝, 고독한, 시작, 중간, 중간, 끝, 시작 ...

사람이 연출하는 좋은 방법을 알고 있나요 " 거리 인수 "가> 또는 < 10 인 경우 자체보다 높거나 낮은 값으로 설정합니까?

+2

난 정말 당신이 요구하는지 이해가 안 돼요. 귀하의 예에서도 귀하의 의견에는 8 개의 항목이 있고 출력에는 6 개의 항목이 있습니다. –

+0

나는 내가 지금 그것을 이해한다고 생각하기 때문에 나는 당신의 질문을 편집 해 보았다. –

답변

1

당신은 headtail와 함께 (연속 요소 사이의 거리를 얻을 수있는), diff를 사용할 수 있습니다

before = head(diff(x), -1) 
after = tail(diff(x), -1) 
result = ifelse(before < 10, ifelse(after < 10, "start", "end"), ifelse(after < 10, "middle", "lone")) 
관련 문제