名前付き文字ベクトルを使用してカスタム カラー パレットを保持しようとしているので、"#dc322f" をあちこちで繰り返す代わりに、たとえば、palette['red'] と言うことができます。
ただし、そのベクトルの要素を引数として使用できないようですpar()
(ただし、他の場所で使用できます)。
例を次に示します。緑の点でグラフを作成しますが、par() 呼び出しは失敗し、背景は白です。呼び出し内からパレット ベクトルを使用してパラメーターを設定できることに注意してください。plot()
> palette <- c('#002b36','#dc322f','#859900')
> names(palette) <- c('black','red','green')
> par(bg=palette['red'])
Warning message:
In par(bg = palette["red"]) : "bg.red" is not a graphical parameter
> plot(1:10,1:10,col=palette['green'])
> # (White graph with green dots appears)
ただし、名前付き数値ベクトルを使用すると、次のように機能します。
> palette <- 1:3
> names(palette) <- c('black','red','green')
> par(bg=palette['red'])
> # (no error here -- it worked.)
> plot(1:10,1:10,col=palette['green'])
> # (Red graph with green dots appears)
私はRにかなり慣れていないので、基本的な何かが欠けているようです。ここで何が起こっているか分かりますか?