R의 함수형 프로그래밍

purrr로 배우는 중급 함수형 프로그래밍

Colin Fay

Data Scientist & R Hacker at ThinkR

R의 연산에 대하여

"R의 연산을 이해하는 데 유용한 두 가지 원칙이 있습니다:

- 존재하는 모든 것은 객체입니다.

- 일어나는 모든 것은 함수 호출입니다."    -John Chambers

class(`+`)
"function"
class(`<-`)
"function"
purrr로 배우는 중급 함수형 프로그래밍

함수형 프로그래밍 언어로서의 R

함수는 다음과 같이 활용할 수 있습니다

  • 조작

  • 변수에 저장

  • 람다

 

  • 리스트에 저장

  • 함수의 인수

  • 함수의 반환값

purrr로 배우는 중급 함수형 프로그래밍

"순수 함수"에 대하여

순수 함수의 특징:

  • 출력은 입력에만 의존

  • "부작용" 없음

# 출력은 입력에만 의존
# 부작용 없음
sum(1:10)
55
mean(1:100)
50.5
purrr로 배우는 중급 함수형 프로그래밍

비순수 함수의 유용성

비순수 함수의 특징:

  • 환경에 의존

  • "부작용" 발생

# 출력이 환경에 의존
Sys.Date()
"2018-10-04"
# 부작용만 발생
write.csv(iris, "iris.csv")
purrr로 배우는 중급 함수형 프로그래밍

함수형 프로그래밍 추가 자료

purrr로 배우는 중급 함수형 프로그래밍

연습해 봅시다!

purrr로 배우는 중급 함수형 프로그래밍

Preparing Video For Download...