Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Reticulate_and_RStudio.pdf
Search
t_usausausa
October 20, 2018
Programming
0
660
Reticulate_and_RStudio.pdf
t_usausausa
October 20, 2018
Tweet
Share
More Decks by t_usausausa
See All by t_usausausa
tsibbleとtibbletimeの紹介
t_usausausa
0
3.1k
Other Decks in Programming
See All in Programming
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
0
360
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
610
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
530
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
450
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
1k
[AI Engineering Summit Tokyo 2025] LLMは計画業務のゲームチェンジャーか? 最適化業務における活⽤の可能性と限界
terryu16
2
260
生成AIを利用するだけでなく、投資できる組織へ
pospome
2
440
Implementation Patterns
denyspoltorak
0
140
Flutter On-device AI로 완성하는 오프라인 앱, 박제창 @DevFest INCHEON 2025
itsmedreamwalker
1
190
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
160
CSC307 Lecture 01
javiergs
PRO
0
660
CSC307 Lecture 02
javiergs
PRO
1
760
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
82
Why Our Code Smells
bkeepers
PRO
340
58k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
0
37
Discover your Explorer Soul
emna__ayadi
2
1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
420
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
260
RailsConf 2023
tenderlove
30
1.3k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
74
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
870
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.5k
Transcript
RETICULATEパッケージと RSTUDIO TokyoR#73 t_usausausa
自己紹介 ▪ twitter : t_usausausa ▪ お仕事 : 受託会社のDS ->
事業会社のDS(Pairsの中の人) ▪ 言語 : SQL, R, Python ▪ 最近のメイン業務 : データ分析基盤設計、開発
お詫び ▪ Pairsの分析的な内容ではありません – それは別の機会に ▪ 当初はreticulateからpytorchを呼び出す的な内容でしたが、それよりもRStudioに ついて発表すべきと思い切り替えました – 実際呼び出して予測するところまでは確認済みです
検証環境 ▪ Windows10 (Windows subsystem for Linux) ▪ R 3.5.1
▪ RStudio 1.2 Previrew版 ▪ reticulate 1.10
RStudio 1.2の特徴の1つ ▪ R以外の言語のサポート – Python – C/C++ – SQL
– Stan
reticulate is 何 ▪ RStudio社の作ったRからPythonを呼び出すパッケージ – 「reticulated python」でアミメニシキヘビらしい ▪ これまでにもRからPythonを呼び出すライブラリはあったが、モダンな開発環境
に合わせて使いやすくなっている
reticulateとPythonInRの違い reticulate PythonInR リリース時期 2017/03/14 2015/07/09 仮想環境 利用可能 利用不可能(デフォルトパス のPython利用)
記述方法 後述 関数のパラメータにPython コード埋め込み R <-> Python間でのデータ受 け渡し 受け渡し用クラス(R : pyクラ ス, Python : rクラス) 関数実行の戻り値 CRAN https://cran.r- project.org/web/packages/reti culate/index.html https://cran.r- project.org/web/packages/Pyt honInR/index.html
reticulateの使い方 ▪ reticulateはinstallするだけでお手軽に使え る ▪ 更に仮想環境を指定することもできる – use_python() : 利用するpythonのパス
を指定 – use_virtualenv() : 利用するvirtualenv で作った仮想環境を指定 – use_condaenv() :利用するanacondaで 作った仮想環境を指定 install.packages("reticulate") library(reticulate) # anacondaで作った仮想環境を参照する use_condaenv("reticulate", required = TRUE) # 環境の確認 py_config()
4種類の記述方法 1. PythonモジュールをRのクラスにする ▪ 任意のPythonモジュールをRのクラスとして扱うことが可能 – 特定の関数を使いたいときに便利 – クラス内において「.」でメソッドチェーンを行う処理には向かない
4種類の記述方法 2. Pythonスクリプト呼び出し ▪ Pythonのソースコードを読み込んで、実行、またはそこに定義されている関数をR の関数として読み込むことができる – すでにPythonのモジュールがあり、それをRで利用したい人向け
4種類の記述方法 3. インタラクティブ起動 ▪ repl_python()と実行するとRのコン ソールからPythonのコンソールへと 切り替わる – Pythonコードをそのまま実行可 能
– 現状、RStudio側に問題があるた め結構使いにくいところがある
4種類の記述方法 4. R Markdownの記述を実行する ▪ R notebookのチャンクにpythonを指定して記述 & 実行 –
Pythonコードをそのまま実行可能 – 現状、RStudio側に問題があるため大変使いにくいところがある
これだけ見てるともうPython書くの もRStudioでいいじゃんって気になり ませんか…?
reticulateとRStudioの連携で駄目な点 1. Pythonスクリプトをコンソールに送れ ない ▪ インタラクティブモード起動時、pyファイルに書かれているコードをコンソール に送って実行してもらえない – 逆にRファイルに書いてあるPythonコードは送れる –
RStudioの仕様で、コンソールに送れるコードはR関連のファイルに記述され ているものだけに限られるから…?
reticulateとRStudioの連携で駄目な点 2. チャンクを変えるとPythonのセッショ ンがリセットされる ▪ R Markdown形式での記述の場合、Rで はチャンクを変えても変数が保存さ れるが、Pythonはなぜか保存されない –
importなどもリセットされるの でセッションが異なる模様 – 1つのチャンク内で完結するよう にコードを書けばよいが、それは ナンセンス
reticulateとRStudioの連携で駄目な点 3. チャンク間での変数受け渡し不可能 ▪ reticulateはpythonならばrクラス、Rならばpyクラスを通じて変数の受け渡しが可 能となっているが、チャンクを利用した記述ではこれらの変数は利用できない – 前述のセッションリセットにも絡む問題…?
というわけでまだRStudioをPythonの エディタとして利用するのは早計な のでは???
逆にこれらの問題が解決すれば RStudioは素晴らしいエディタになる はず…!!!
enjoy !!!