Help us understand the problem. What is going on with this article?

RStudioを操る

More than 3 years have passed since last update.

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にコードを送れるので便利です

http://uribo.hatenablog.com/entry/2016/01/08/184252

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away