私は黒地に白を読むのが好きです。したがって、RIでは次のようになります。
par (bg = "black")
par (fg = "ivory1")
これらのオプションをデフォルトで設定したいと思います。ただし、.Rprofile
私が理解しているように、実行された時点では、グラフィカルデバイスはまだ初期化されていないため、これらの行を単純に書き込むわけではありません。むしろ、別の回答で示唆されているoptions()$device
ように、必要なオプション設定を含めるために再割り当てする必要があります。私はそれで成功しませんでした。
これは私が試したものです:
~/.Rprofile
f_device <- options()$device
blackdevice <- function (...) {
f_device(...)
par (bg = "black")
par (fg = "ivory1")
}
options (device = blackdevice)
ここでの考え方は、元のdevice
関数を別の変数に保存してから、新しいdevice
関数から呼び出すことです。私が得るものは:
Error in f_device(...) : could not find function "f_device"
—私が走ったときplot (something)
。
私が持っていた別のアイデアは、そのように行くことです:
~/.Rprofile
.First <- function () {
options(f_device = options()$device)
blackdevice <- function (...) {
options()$f_device(...)
par (bg = "black")
par (fg = "ivory1")
}
options (device = blackdevice)
}
—オリジナルをの別のdevice
場所に割り当てますoptions
。しかし、これは次のことにつながります。
Error in (function (...) : attempt to apply non-function
私は考えが足りません。これを理解するのを手伝ってもらえますか?
ここでの問題は、処理device
時にオプションがまだ設定されていないこと.Rprofile
です。
したがって、それoptions()$device
はNULL
その時点であり、それはあなたが観察しているエラーにつながります。
この.First()
関数options("defaultPackages")
は、からのパッケージがアタッチされる前にも実行されるため、同じエラーが発生します。
何かを入れたい場合は.Rprofile
、次のようにする必要があります。
setHook(
packageEvent("grDevices", "onLoad"),
function(...) {
f_device <- getOption("device")
blackdevice <- function(...) {
f_device(...)
par(bg = "black")
par(fg = "ivory1")
}
options(device = blackdevice)
}
)
これは標準のRGUIのソリューションですが、たとえばRStudioのソリューションではないことに注意してください。RStudioは後で独自の"RStudioGD"
デバイスを設定します(すでにロードされている必要があります)。grDevices
(これはまた、再定義のリンクされた質問から厄介なアプローチ()説明"RStudioGD"
で.Rprofile
先のそれを得るために"tools:rstudio"
検索パス上を)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加