본문 바로가기
Spotfire

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

by C.Mond 2021. 8. 20.
728x90
728x90

Spotfire 내에는 R을 이용해 Data Table을 가공할 수 있는 기능이 있습니다.

이에 대해 얘기를 해보려 합니다.

RAW DATA.xlsx
0.01MB

위는 Spotfire에서 사용할 Raw data입니다.

 

위의 Data를 이용해 R을 사용해 새로운 Data Table을 만들어 보도록 하겠습니다.

Spotfier에서는 이를 Data Function을 이용해 처리할 수 있습니다.

Tools - Register Data function에 들어가면 다음과 같은 팝업창이 생성이 됩니다.

이 팝업창에서 자신이 처리하고 싶은 R코드를 입력하고 실행을 하게되면 실행된 코드의 결과를 새로운 Data table로 만들 수 있고 기존의 Data Table을 대체할 수도 있습니다.

Name : Data Function의 이름

type : R or python 선택 (예전에 볼때는 R밖에 없었는데 python이 새로 추가가 되었나...)

package : 사용하고자 하는 R의 library 선택

Description : Data function 설명

Script : 코드 입력 칸 

 

 

여기서는 2가지를 해보려고 한다.

하나는 원래의 data table에 새로운 column을 추가해 원래의 data table에 덮어씌우는 것,

하나는 기존 data table을 이용해 새로운 data table을 만들어 보려합니다.

 

먼저
원래의 data table에 새로운 column을 추가해 새로운 data table을 만드는 것

R에서 사용하는 column추가 코드를 이용해 새로운 column을 추가해 보겠습니다.

점수1과 점수2의 합을 추가하는 column을 생성 해보겠습니다.

name은 임의로 원하는 값을 적었고

package는 현재코드에서 사용하지 않기 때문에 비워놓았습니다.

scritp에 R을 이용해 column을 추가하는 코드를 적습니다.

 

 

input$점수합<-input$점수1+input$점수2
output<-input

 

 

Spotfire에서 R을 사용할때 input에 무엇을 넣을지, output에서는 어떤 값이 나오는지 설정을 해주어야 합니다.

이는 script옆 input parameter, output parameter에서 설정할 수 있습니다.

여기서 input은 기존의 data table을 넣을것이고 output으로 나오는 값도 data table로 나오게 됩니다.

Add를 클릭하면 input parameter를 설정할 수 있습니다.

name에 inpu para의 name을 입력합니다

type에 input para의 type을 입력합니다.

allowed data type은 input para의 data type으로 all check해줍니다. 이후 OK 클릭

이제 ouput para를 설정합니다

name을 입력하고

Type은 결국 나오는 ouput para도 data table이므로 data table을 지정해 줍니다.

 

OK를 클릭하고 우측 상단의 Run을 클릭해 줍니다.

 

이제 input para와 output para의 data형식을 만들어 주었다면 실제로 어떤 data가 들어가는지 지정을 해줘야 합니다.

즉 앞선 과정은 data가 들어갈 집을 만들어주는 과정이었다면 이제 실제로들어갈 내용물을 지정해 주어야합니다.

Run을 누르면 위와 같은 창이 뜹니다.

좌측상단의 Refresh function automatically를 check해줍니다 (자동으로 data가 바뀌면 업데이트 되게 하는 기능입니다. 기호에 맞게 check, uncheck하세요)

 

input handler에서 columns를 선택하고 select columns에서 원하는 column을 선택에 add해줍니다 여기선 모든 column을 add했습니다.

output handler는 data table을 선택해주시고 create new data table을 선택해줍니다

이때 아래의 입력칸은 새로 생성할 data table의 이름입니다.

그리고 OK를 클릭합니다.

그러면 위와 같이 column이 추가된 datatable을 얻을 수 있습니다.

 

두번째
원래의 datatable에 덮어 씌우는 것입니다.

 

이는 간단합니다 위의 create new data table대신 Replace Existig data table을 check하고 실행하면 됩니다다.

우측의 newdatatable에 덮어 씌어보겠습니다

점수1과 점수2의 차이를 추가하여 덮어씌어 보겠습니다.

 

input$점수합<-input$점수1+input$점수2
input$점수차<-input$점수1-input$점수2
output<-input

 

 

 

위와같이 설정하고 OK를 클릭하면 

 

 

우측 datatable에 점수차 column이 추가되고 datatable이 덮어 씌어진것을 볼 수 있습니다.

 

728x90
728x90

댓글