コード例:
rsq <- round(cor(mtcars$disp, mtcars$mpg)^2, 2) # rsq = 0.72
ggplot(mtcars, aes(x = disp, y = mpg)) +
geom_point() +
geom_smooth(method = lm, aes(color = "Linear")) +
scale_color_discrete(labels = expression(paste("R"^2, " = ", rsq)))
凡例を のように表示したいと思いますR² = 0.72
。
² のユニコード記号を使用して上付き文字を取得できることはわかっていますが、一般に、オブジェクトに格納されている数式と計算値を組み合わせる方法が必要だと思います。
eval
と のさまざまな組み合わせを試してみましたpaste
が、同じ問題が発生し続けているようです。
編集#1:この回答に従って次のように
使用してみました:bquote
scale_color_discrete(labels = bquote(R^2 == .(rsq)))
凡例を としてレンダリングするだけであることが判明しました==
。
編集#2:
以下の答えは機能しますが、次のようなより複雑な式には非常に不便です。
私はまだより簡単な解決策を望んでいます。