2017-11-15 10 views
0

현재 여러 스크립트로 구성된 데이터 마이닝 프로젝트를 진행 중입니다.R - 기능을 사용하여 프로그램 워크 플로와 프로세스 구성 향상

내가 원하는 것은 기능을 사용하여 각 스크립트에서 실행 된 프로세스를보다 잘 구성하는 것입니다. 스크립트
내부 나는 내가 무엇을 찾고 있어요 것은 "포장"의 가능성이 특이

library(dplyr) 

myDF <- 
     myDF %>% 
     filter(distance > 680) %>% 
     filter(time > 120) %>% 
     filter(speed > 5) 

에 대한 필터를 적용이 과정을 클러스터링 전용 : 많은 예

하나는 다음과 같은 수 있습니다 작은 "노드". 내 마음 속에서 R의 Enterprise Miner 노드에 가장 가까운 것은 함수입니다. 따라서 :

그러나
outlier_filter <- function() { 
      myDF %>% 
      filter(distance > 680) %>% 
      filter(time > 120) %>% 
      filter(speed > 5) 
} 

, 나는 실행하면

outlier_filter 

그것은 단순히 콘솔에 코드를 인쇄합니다. 대신 노드와 같은 행위를 적용하여 DF에서 이상 치를 필터링하고 싶습니다.

다른 제안이 있지만, 요점은 단순히 작업을 실행하면 내가 작업하고있는 데이터 프레임에 그 효과를 적용하기를 바랍니다.
"node"/ function create_features이 실행될 때 코드를 실행하여 데이터 프레임에 새 변수를 추가 할 수 있습니다.

희망은 분명했습니다. 감사합니다. 당신은 단지 기능을 인쇄하는

+0

어쩌면'outlier_filter()'를 사용하여 함수를 호출 할 수 있습니다 : 일반적으로이 해결책이 될 수있다, 당신이 원하는 것이 아니다? – lmo

+0

@lmo 그건 지구 환경에서'myDF'에 영향을 미치지 않을 것입니다. 엔리코가 생각하는 것입니다. 그렇다면, 예를 들어'<< -'가 필요할 것입니다. – duckmayr

+1

또는 기능적 프로그래밍에서 선호되는 방법 인 함수의 출력을 재 할당하십시오. – lmo

답변

0

, 당신은 아마 그러나 이것은 단지 부작용을 사용하여 작업 할 수

outlier_filter()를 사용하여 전화를 걸.

outlier_filter <- function(df) { 
    df %>% 
    filter(distance > 680) %>% 
    filter(time > 120) %>% 
    filter(speed > 5) %>% 
    return() 
} 

당신은 myDF <- outlier_function(myDF)