데이터 QC (반복적인 roop)

게시판 IDL Q&A 데이터 QC (반복적인 roop)

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    • #5441 Reply
      S.H.Ahn
      회원

      안녕하세요. 대학원 과정 학생입니다.

      자료 처리하던 중 궁금한 점이 생겼는데요.
      처리해야 할 내용이 x 값이 증가함에 따라 y 값이 감소되어야 하는데 오히려 증가되는 point 들을 제거해야합니다.

      그런데 한번 for 를 돌려 수행하니까 몇개의 점들이 제거 되긴 하였는데 아직 남아있는게 50%가 넘어 보입니다.
      Where, finite 함수를 사용하여 x,y 를 새 변수로 다시 설정하고 독립적인 for 를 몇 번 돌렸는데 결과 그래프가 이상합니다..

      코드 첨부하오니 답변 주시면 정말 감사하겠습니다! 🙂

      ;—————————————————–
      arran = SORT(var6)
      xx = var6[arran]
      yy_o = ALOG10(var13[arran])
      yy2=0

      yy1 = yy_o
      FOR i=0l,N_ELEMENTS(xx)-1 DO BEGIN
      IF yy_o[i] GT yy_o[i-1] THEN yy1[i] = fillvnan
      ENDFOR

      yy = yy1
      ;—————————————————–

      ** 문제의 코드
      ;—————————————————–
      ;yy1 = yy_o
      ;FOR i=0l,N_ELEMENTS(xx)-1 DO BEGIN
      ;IF yy_o[i] GT yy_o[i-1] THEN yy1[i] = fillvnan
      ;ENDFOR
      ;ok1 = WHERE(FINITE(yy1))
      ;yy2=yy1 & xx2=xx
      ;yy2=yy1[ok1]
      ;xx2=xx[ok1]
      ;
      ;yy2=yy1
      ;FOR i=0l,N_ELEMENTS(xx)-1 DO BEGIN
      ;IF yy1[i] GT yy1[i-1] THEN yy2[i] = fillvnan
      ;ENDFOR
      ;ok2 = WHERE(FINITE(yy2))
      ;yy3=yy2 & xx3=xx2
      ;yy3=yy2[ok2]
      ;xx3=xx2[ok2]
      ;—————————————————–

      • 이 게시글은 S.H.Ahn에 의해 5 years, 3 months 전에 수정됐습니다.
    • #5443 Reply
      mwkim
      회원

      안녕하세요.

      우선 fillvnan 은 !VALUES.F_NAN 이라고 가정하고 코드를 봤습니다.

      아마도 해결이 안되는 부분은 yy_o에 해당하는 값이 연속적으로 증가하는 부분때문에 모두 제거가 안 된 것이 아닐까합니다.

      따라서 연속적인 값을 비교하기 위해서 비교값을 저장하면 되지 않을까 합니다.

      IF yy_o[i] GT threshold THEN BEGIN
      yy1[i] = fillvnan
      ENDIF ELSE BEGIN
      threshold = yy_o[i]
      ENDELSE

      위와 같이 하셔도 되고 비슷하게 작성하셔도 됩니다.(참고로 threshold는 FOR 돌기 전에 yy_o[0]으로 설정 추가하셔야 합니다.)

      다만 문제가 있다는 부분이 정확히 어떤 부분일지는 내용만으로 판단이 안되서

      위 부분만으로 해결이 안 될수도 있습니다.(잘못이해해서 원하지 않는 부분도 제거될 수 있고요.)

      특히 자료 처리를 반복할수록 그래프가 이상하다는 부분이 어떤 부분인지는 잘 모르겠네요.

      조언을 드리자면 자료 처리에 문제가 있으면 문제가 있는 부분을 해결하고 점차 적용하는 방식으로 하면 해결이 조금은 더 쉽지 않을까합니다.

1 답변 글타래를 보이고 있습니다
'데이터 QC (반복적인 roop)'에 답변달기
글쓴이 정보: