私はいつも自分のRコードをできるだけ柔軟にしたいと思っています。私はパラメータデルタに基づいて比較する3つの(潜在的により多くの)カーブを持っていますが、デルタの値をどこにでもハードコーディングしたくありません。R凡例変数置換
私は、デルタ値の代わりにギリシャ語と変数置換の両方を含む凡例を作成しようとしています。したがって、各凡例は「delta = 0.01」のような形式です。 paste
,substitute
,bquote
およびexpression
の多くの異なる組合せが試みられているが、完成した凡例にはいくつかの逐語的コードが残されている。または、「デルタ」を記号形式に入れない。
delta <- c(0.01,0.05,0.1)
plot(type="n", x=1:5, y=1:5) #the curves themselves are irrelevant
legend_text <- vector(length=length(delta)) #I don't think lists work either
for(i in 1:length(delta)){
legend_text[i] <- substitute(paste(delta,"=",D),list(D=delta[i]))
}
legend(x="topleft", fill=rainbow(length(delta)), legend=legend_text)
単一エントリのlegend=substitute(paste(delta,"=",D),list(D=delta[1])
働くので、私もデルタの長さは固定、「セミハードコード」バージョンをやってみました:
legend(x="topleft", fill=rainbow(length(delta)),
legend=c(substitute(paste(delta,"=",A), list(A=delta[1])),
substitute(paste(delta,"=",B), list(B=delta[2])),
substitute(paste(delta,"=",C), list(C=delta[3])))
)
をしかし、これは以前と同じ問題を持っています。
私はこれを行う方法はありますか、またはデルタの各アップデートで手動でコードを変更する必要はありますか?