web-dev-qa-db-ja.com

RのView()を新しいウィンドウで自動的に開くようにします

RでView()によって呼び出されるソースエディター/データビューアーを使用するのが好きです。複数のモニターを使用しています。メインのRStudioウィンドウでコーディングしているときに、サイドモニターでビューアーを1つか2つ開いておくと非常に便利です。複数のデータフレームを表示する場合は、View(df)を実行してから、表示するデータフレームごとに[新しいウィンドウに表示]ボタンをクリックするのは少し不便です。

View()を呼び出すと、ビューアが自動的に新しいウィンドウで開くように、まとめることができるラッパーがあるのか​​、それともどこかに隠れている設定があるのだろうかと思います。何か案は?

18
lost

ビューアオプションを上書きすることを検討できます。

_options(viewer = function(url, height = NULL)
{
  if (!is.character(url) || (length(url) != 1))
    stop("url must be a single element character vector.", call. = FALSE)

  if (identical(height, "maximize"))
    height <- -1

  if (!is.null(height) && (!is.numeric(height) || (length(height) != 1)))
    stop("height must be a single element numeric vector or 'maximize'.", call. = FALSE)

  invisible(.Call("rs_showPageViewer", url, title = "RStudio", self_contained = FALSE))  
})
_

説明:

ビューアオプションのコードはここにあります: https://github.com/rstudio/rstudio/blob/master/src/cpp/r/R/Options.R

必要な機能(新しいウィンドウで開きます)は_page_viewer_です。ここを参照してください: https://github.com/rstudio/rstudio/blob/779baf9ceb99b6d2455345bcbae3c4e57e164425/src/cpp/r/R/Options。 R#L45

現在のデフォルトの動作は、_page_viewer_ではなくviewerを開くことです。 viewerオプションのコードはここにあります https://github.com/rstudio/rstudio/blob/779baf9ceb99b6d2455345bcbae3c4e57e164425/src/cpp/r/R/Options.R#L28

少しハッキーですが、viewerオプションを上書きして、ビューアペインにコンテンツを表示する代わりに、新しいウィンドウを開くことができます。上記のコードスニペットを参照してください。

ワークフローに統合します:

(上記のコードを実行すると、現在のセッション中に必要な機能しか得られないことに注意してください。新しいセッションを開始するたびに実行すると、手間がかかりすぎます)。

  1. ビューアペインを二度と使用したくない場合は、上記のコードを使用して_.RProfile_ デフォルトオプションを生成する「.Rprofile」ファイルを見つける に配置することを検討してください。 「rs_showPageViewer」は基本名前空間(?)のメソッドではないため、これを行う方法はまだわかりませんでした。メソッドの参照方法がわからない... [このオプションが必要な場合は、編集できます]。

  2. 小さなアドインを作成します。欠点は、このために追加のアドインを導入するのは一種のやり過ぎです。利点は、クリック/キーボードショートカットを使用して、1つのセッション中に両方のオプション(ウィンドウとペイン)を切り替えることができることです。

アドイン:

Githubにアップロードしました: https://github.com/Timag/viewerWindow

devtools::install_github('Timag/viewerWindow')ごとにインストールします。

そして、アドインを選択します

  • ViewerWindow:これからはすべてのビューアを新しいウィンドウで開きます。

  • ViewerPane:これからはすべてのビューアを新しいペインで開きます。

または、キーボードショートカットを割り当てます。

enter image description here

11.2019を編集:

(この小さなハックはもう機能しない可能性があります https://github.com/Timag/viewerWindow/issues/1を参照してください

9
Tonio Liebrand

これにより、データフレーム新しいウィンドウですぐに開きます。

edit(df) 
2
PsychometStats