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
3k
Other Decks in Programming
See All in Programming
個人軟體時代
ethanhuang13
0
320
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
460
🔨 小さなビルドシステムを作る
momeemt
3
670
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
1.6k
【第4回】関東Kaggler会「Kaggleは執筆に役立つ」
mipypf
0
1.1k
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.1k
Azure SRE Agentで運用は楽になるのか?
kkamegawa
0
1.9k
速いWebフレームワークを作る
yusukebe
5
1.7k
モバイルアプリからWebへの横展開を加速した話_Claude_Code_実践術.pdf
kazuyasakamoto
0
310
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
330
意外と簡単!?フロントエンドでパスキー認証を実現する WebAuthn
teamlab
PRO
2
700
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
230
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Docker and Python
trallard
45
3.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
910
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
187
55k
A Tale of Four Properties
chriscoyier
160
23k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
520
Raft: Consensus for Rubyists
vanstee
140
7.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Embracing the Ebb and Flow
colly
87
4.8k
GraphQLとの向き合い方2022年版
quramy
49
14k
Typedesign – Prime Four
hannesfritz
42
2.8k
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 !!!