Python ve R'dan Fonksiyon İçe Aktarma

Orta Düzey Julia

Anthony Markham

Quantitative Developer

Paket genel bakış

  • Julia programlarınızda Python veya R paketlerini kullanmak isteyebilirsiniz.
  • Bunun birçok nedeni olabilir:

    • belirli bir pakete aşinalık
    • yalnızca Python veya R'da bulunan niş paket
    • diğer kodlarla tutarlılık
  • Bu işlevselliği sağlayan iki Julia paketi vardır: PythonCall ve RCall.

using Pkg
Pkg.add("PythonCall")
Pkg.add("RCall")
  • Tersi de mümkündür: Julia kodunu Python ve R'da da kullanabiliriz.
Orta Düzey Julia

Python paketlerini içe aktarma

  • Julia kodumuza Python fonksiyonlarını entegre etmek için PythonCall kullanın.
  • Python'da da yüklü olduğu sürece herhangi bir Python paketi kullanılabilir.
using PythonCall
  • Python'dan paket yüklemek için pyimport kullanın.
pytime = pyimport("time")
  • PythonCall'da bu derste değinmeyeceğimiz ileri düzey işlevler vardır.
Orta Düzey Julia

Python fonksiyonlarını çağırma

  • time temel paketindeki herhangi bir fonksiyonu çağırabiliriz.
using PythonCall
pytime = pyimport("time")
println(pytime.ctime())
Sun Jan 22 12:16:28 2023
  • Python biçimlendirmesi dahil birden çok fonksiyonu birleştirebiliriz.
println(pytime.strftime("%m-%Y", pytime.localtime()))
01-2023
Orta Düzey Julia

R kütüphanelerini içe aktarma

  • Julia kodumuza R fonksiyonlarını entegre etmek için RCall kullanın.
  • RCall paketini kurmadan önce bir R kurulumu gerekir.
  • R'da da yüklü olduğu sürece herhangi bir R paketi kullanılabilir.
using RCall
  • R'da paket yüklemek için @rimport kullanın.
@rimport base
@rimport ggplot2
  • RCall'da bu derste değinmeyeceğimiz ileri düzey işlevler vardır.
Orta Düzey Julia

R fonksiyonlarını çağırma

  • Bu örnekte base R ortamındaki fonksiyonları çağıracağız.
  • Bir paket içe aktarırken takma ad verebiliriz.
using RCall
@rimport base as r_base
r_base.sum([1, 2, 3, 4, 5])
RObject{IntSxp}
[1] 15
Orta Düzey Julia

R sum çıktısı

  • Julia çıktısını R'nin çıktısıyla hızla karşılaştırabiliriz.
RObject{IntSxp}
[1] 15

R konsol çıktısı

Orta Düzey Julia

Diğer R fonksiyonlarını çağırma

  • Şimdi base paketindeki abbreviate fonksiyonunu deneyelim.
r_base.abbreviate(["Anthony", "Rachel", "Steve", "Julia"], 3)
RObject{StrSxp}
Anthony  Rachel   Steve   Julia
  "Ant"   "Rch"   "Stv"   "Jul"

Orta Düzey Julia

Haydi pratik yapalım!

Orta Düzey Julia

Preparing Video For Download...