RStudioユーザーのみなさんこんにちは。RStudioユーザーでない方もこんばんは。メリークリスマス🎄🎅!!!
RStudioユーザーであれば誰しもRStudioを意のままに操ってみたい、そういう気持ちを抱くことがあると思いますが、実はその願望、とあるパッケージを使うと簡単に実現できます、という話をします。よろしくお願いします。
勿体ぶっても仕方がないので、早速件のパッケージを読み込みます。**{rstudioapi}
**パッケージは、RStudioの情報やRStudio内部の処理を操作するための関数を備えています。開発メンバーはRStudio社をはじめ、Hadley WickhamやJJ Allaire、Kevin Usheyと安心の面子です。
library(rstudioapi)
ちなみに、このパッケージの概要や一部の関数についてはyutannihilationさんがブログで紹介してくれています。そちらもご覧ください。
何ができるのか
肝心な話です。有益なものとそうでもないものあります。価値を見いだすのは人それぞれの価値観です。私が有益〜っと思ったものだけを紹介するので、きちんと知りたい人はGitHubのリポジトリから探してください。それでは。
Rの関数をRStudioで実行する関数
任意のRコードを引数に渡して、コードを実行する(しないという選択もできる)関数です。何かに役立ちそうですが、いいアイデアがないですね。
sendToConsole(code = "print('hello')")
エディタ情報
editor-information()
という関数を使って、エディタおよびコンソールに関する情報を得ることができます。RStudio内部で使われているファイルのIDや、ファイルサイズが表示されます。そういえばこの機能を利用してパッケージを作ったのですが、開発を放置していました。来年になったらメンテナンスしたいと思います。
# 現在アクティブ(カーソルが有効)なエディタあるいはコンソールの情報を返す
getActiveDocumentContext()
# Document Context:
# - id: '8F71A52B'
# - path: '~/Desktop/Untitled.Rmd'
# - contents: <60 rows>
# Document Selection:
# - [34, 1] -- [34, 1]: ''
# ソースの情報
getSourceEditorContext()
# Document Context:
# - id: '8F71A52B'
# - path: '~/Desktop/Untitled.Rmd'
# - contents: <60 rows>
# Document Selection:
# - [37, 1] -- [37, 1]: ''
# コンソールの情報
getConsoleEditorContext()
# Document Context:
# - id: '#console'
# - path: ''
# - contents: <1 rows>
# Document Selection:
# - [1, 1] -- [1, 1]: ''
「ソースコードはどこに書いてあるの?」
「RStudioのUntitled4タブだよ!」
というやりとりがあった時も、IDさえあれば安心(?)ですね。
Rプロジェクトのパス
RStudioの右上にあるやつですね。プロジェクトを使っていないと、Rプロジェクト警察の取り締まりに合うので気をつけましょう。
getActiveProject()
# NULL
getActiveProject()
# [1] "/Users/uri/git/rpkg_showcase"
RStudioのバージョン
あれ、これ最新版だっけ?メニューバーからバージョンを表示するよりもあるいは楽にバージョンを表示できます。
getVersion()
# [1] ‘1.1.20’
任意のファイルを任意の位置で開く
file引数に与えたファイルを開きます。line引数やcolumn引数を使って、ファイル中の特定の箇所にカーソルを置いた状態にすることもできます。
navigateToFile()
おー、ってなるやつ(パスワードの入力画面)
でっていう。
askForPassword("パスワードを入力してください")
関連
Macユーザーの人はこれを使うとRStudio外部からRStudioにコードを送れるので便利です