본문 바로가기
Spotfire

spotfire ) 예시 data를 이용해 시각화 실습 해보기 feat. R 이용해 data처리, spotfire 이용해 시각화 in spotfire

by C.Mond 2022. 10. 9.
728x90
728x90

안녕하세요 이번엔 예시 data를 이용해 실습을 해보려고 합니다.

 

관련해서 여러 해결방안이 있겠지만 저 나름의 방법으로 해보겠습니다.

 

우선 사용할 data는 다음과 같습니다.

여기서 구현할 기능은 다음과 같습니다.

1. 정규작업을 했을때 불량이 나온 제품들이 마지막 재작업을 했을때 측정값이 어떻게 변화를 하는지 시각화로 표현할 것입니다.

2. 결론은 정규작업 - 마지막 재작업의 측정 값을 비교할 것입니다.

3. 그렇기 때문에 정규작업, 재작업이 있는 제품 ID만 남길것이며 재측정과 같은 필요 없는 부분은 제거를 할것입니다. 

그리고 재작업 측정값은 마지막으로 재작업한 측정값만 필요하므로 중간에 재작업 측정값도 지울 것입니다.

4. x축 : 측정년월일

    y축 : 측정값의 평균 

   색 구분 : 정규작업 vs 재작업

 

이를 구현하기 위해 spotfire내의 R을 이용해 data처리를 하고 spotfire를 이용해 시각화를 진행하겠습니다.

 

먼저 spotfire내의 R을 이용해 필요한 data만 남기겠습니다.

 

#data를 제품ID,측정년월일 기준으로 정렬합니다.
df <- df %>%
  arrange(제품ID,측정년월일)
#data를 data.frame형식으로 바꿔주는 부분입니다.
df <- as.data.frame(df)
#data를 제품ID별로 작업구분 col에 있는 값을 한 셀에 "_"를 붙여서 합치는 코드입니다.
temp1_df <- df %>%
  group_by(제품ID) %>%
  summarise(작업구분_sum=paste0(작업구분,collapse="_"))
#위에서 합친 셀에 정규작업, 재작업이 모두 포함돼있는 셀을 True, False로 반환해서 저장합니다.
temp <- str_detect(string=temp1_df$작업구분_sum,pattern="정규작업") &str_detect(string=temp1_df$작업구분_sum,pattern="재작업")
#정규작업, 재작업이 모두 있는 data만 남깁니다.
temp1_df <- temp1_df[temp,]
#원본 data에서 정규작업, 재작업이 모두 있는 제품ID만 남기고 재측정과 같은 정보는 없애버립니다.
df_final <- df %>%
  filter(제품ID%in%unique(temp1_df$제품ID),작업구분%in%c("정규작업","재작업"))
#마지막 재작업을 남기기 위해 재측정만 filter를 합니다.
df_final_temp <- df_final %>% 
  filter(작업구분=="재작업")
#제품ID별 측정년월일의 최대값을 구해 column에 붙여줍니다.
df_final_temp <- df_final_temp %>% 
  group_by(제품ID) %>% 
  mutate(측정년월일_max=max(측정년월일))
#제품ID별 측정년월일의 최대값과 측정년월일이 같은 data만 남깁니다.
df_final_temp <- df_final_temp[df_final_temp$측정년월일==df_final_temp$측정년월일_max,]
df_final_temp$측정년월일_max <- NULL
#df_final에서 정규작업만 남기고 df_final_temp data와 합쳐줍니다.
df_final <- df_final %>% 
  filter(작업구분=="정규작업")
final <- rbind(df_final,df_final_temp)
final <- final %>% 
  group_by(제품ID) %>% 
  arrange(측정년월일)

packages에 package를 입력해주어야 합니다.

input, output para도 알맞게 설정해주시면 됩니다. 혹시 어렵다면 아래 링크를 보시면 해결할 수 있을듯 합니다.

https://c-mond.tistory.com/10?category=917873 

 

SpotFire에서 R사용하여 Data처리하기 (r in spotfire)

Spotfire 내에는 R을 이용해 Data Table을 가공할 수 있는 기능이 있습니다. 이에 대해 얘기를 해보려 합니다. 위는 Spotfire에서 사용할 Raw data입니다. 위의 Data를 이용해 R을 사용해 새로운 Data Table을 만

c-mond.tistory.com

위 코드로 spotfire내의 R로 data를 처리하면 아래와 같이 필요한 data만 남게 됩니다.

이를 이용해 spotfire를 이용해 시각화를 해보겠습니다.

이렇게 하면 해당 기능이 구현이 완료 됩니다.

 

이렇게 처리해놓으면 data의 형식이 바뀌지 않는다면 매번 처리할 필요없이 input data를 바꾸면 빠르게 처리할 수 있을듯합니다.

 

728x90
728x90

댓글