데이터셋에서 정보 추출하기

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

Colin Fay

Data Scientist & R Hacker @ ThinkR

함수 조작

지금까지 배운 내용:

  • partial()

  • compose()

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

partial()

partial()은 함수의 인수를 미리 채웁니다:

sum_no_na <- partial(sum, na.rm = TRUE)

map_dbl(airquality, sum_no_na)
  Ozone Solar.R    Wind    Temp   Month     Day 
 4887.0 27146.0  1523.5 11916.0  1070.0  2418.0
purrr로 배우는 중급 함수형 프로그래밍

compose()

compose()로 함수를 합성합니다:

rounded_sum <- compose(round, sum_no_na)

map_dbl(airquality, rounded_sum)
  Ozone Solar.R    Wind    Temp   Month     Day 
   4887   27146    1524   11916    1070    2418
purrr로 배우는 중급 함수형 프로그래밍

리스트 정리

NULL 제거:

  • compact()

한 수준 제거:

  • flatten()
purrr로 배우는 중급 함수형 프로그래밍

compact()

l <- list(NULL, 1, 2, 3, NULL)
l
[[1]]
NULL

[[2]]
[1] 1

[[3]]
[1] 2

[[4]]
[1] 3

[[5]]
NULL
l <- list(NULL, 1, 2, 3, NULL)
compact(l)
[[1]]
[1] 1

[[2]]
[1] 2

[[3]]
[1] 3
purrr로 배우는 중급 함수형 프로그래밍

flatten()

my_list <- list(
  list(a = 1), 
  list(b = 2)
)
my_list
[[1]]
[[1]]$a
[1] 1


[[2]]
[[2]]$b
[1] 2
my_list <- list(
  list(a = 1), 
  list(b = 2)
)
flatten(my_list)
$a
[1] 1

$b
[1] 2
purrr로 배우는 중급 함수형 프로그래밍

연습해 봅시다!

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

Preparing Video For Download...