Python과 R에서 함수 가져오기

Julia 중급

Anthony Markham

Quantitative Developer

패키지 개요

  • Julia 프로그램에서 Python이나 R의 패키지를 사용할 수 있습니다.
  • 이렇게 하는 이유는 다음과 같습니다:

    • 특정 패키지에 익숙함
    • Python 또는 R에만 있는 특수 패키지
    • 다른 코드와의 일관성
  • 이 기능을 제공하는 Julia 패키지는 PythonCallRCall입니다.

using Pkg
Pkg.add("PythonCall")
Pkg.add("RCall")
  • 반대도 가능합니다. Python이나 R에서 Julia 코드를 사용할 수 있습니다.
Julia 중급

Python 패키지 가져오기

  • PythonCall로 Python 함수를 Julia 코드에 통합합니다.
  • Python에도 설치되어 있다면 어떤 Python 패키지도 사용할 수 있습니다.
using PythonCall
  • Python에서 패키지를 불러오려면 pyimport를 사용합니다.
pytime = pyimport("time")
  • 이 강의에서 다루지 않는 고급 기능이 PythonCall에 많이 있습니다.
Julia 중급

Python 함수 호출

  • base의 time 패키지에서 임의의 함수를 호출할 수 있습니다.
using PythonCall
pytime = pyimport("time")
println(pytime.ctime())
Sun Jan 22 12:16:28 2023
  • Python 포매팅을 포함해 여러 함수를 조합할 수 있습니다.
println(pytime.strftime("%m-%Y", pytime.localtime()))
01-2023
Julia 중급

R 라이브러리 가져오기

  • RCall로 R 함수를 Julia 코드에 통합합니다.
  • RCall 설치 전 R이 설치되어 있어야 합니다.
  • R에도 설치된 패키지라면 어떤 R 패키지도 사용할 수 있습니다.
using RCall
  • R에서 패키지를 로드하려면 @rimport를 사용합니다.
@rimport base
@rimport ggplot2
  • 이 강의에서 다루지 않는 고급 기능이 RCall에 많이 있습니다.
Julia 중급

R 함수 호출

  • 이 예제에서는 R의 base 환경에서 함수를 호출합니다.
  • 패키지 가져오기 시 별칭을 줄 수 있습니다.
using RCall
@rimport base as r_base
r_base.sum([1, 2, 3, 4, 5])
RObject{IntSxp}
[1] 15
Julia 중급

R 합계 출력

  • Julia 출력과 R 출력은 빠르게 비교할 수 있습니다.
RObject{IntSxp}
[1] 15

R 콘솔 출력

Julia 중급

추가 R 함수 호출

  • 이제 base 패키지의 abbreviate 함수를 사용해 보겠습니다.
r_base.abbreviate(["Anthony", "Rachel", "Steve", "Julia"], 3)
RObject{StrSxp}
Anthony  Rachel   Steve   Julia
  "Ant"   "Rch"   "Stv"   "Jul"

Julia 중급

연습해 봅시다!

Julia 중급

Preparing Video For Download...