web-dev-qa-db-ja.com

Rのプロットのテキストに上付き文字を含めるにはどうすればよいですか?

私はそれがこのように見える必要があります:

R ^ 2 =いくつかの値

そして、私は以下のコードを試しましたが、それは機能しませんでした、代わりに「R(式(^ 2))=いくつかの値」として出てきました:

text (25, 200, paste ("R (expression (^2)) =", round (rsquarelm2, 2)))
11
Meed

文字ベクトルではなく式が必要なので、これ

_expression(R^2 == 0.85)
_

必要なものです。この場合、別のR操作の結果を置き換える必要があります。そのためには、substitute()またはbquote()が必要です。後者の方が扱いやすいと思います。

_rsquarelm2 <- 0.855463
plot(1:10, 1:10, type = "n")
text(5, 5, bquote(R^2 == .(round(rsquarelm2, 2))))
_

bquote()を使用すると、.( )内のすべてが評価され、結果が返される式に含まれます。

paste関数は、式ではなく文字列を返します。私はこのような場合にbquoteを使用することを好みます:

text(25, 200, bquote( R^2 == .(rs), list(rs=round(rsquarelm2,2))))
6
Greg Snow

書式設定と数学値をプロットに含める方法は FAQ 7.1 です。

たとえば、ahatが対象のパラメータaの推定量である場合は、次を使用します。

title(substitute(hat(a) == ahat, list(ahat = ahat)))

(これは_‘==’_であり、_‘=’_ではないことに注意してください)。 bquote()は、よりコンパクトな形式を提供する場合があります(例:title(bquote(hat(a) = .(ahat))))。

ここで、‘.()’で囲まれた部分式はそれらの値に置き換えられます。

demo(plotmath)も便利です。


この場合、どちらかを使用できます

_title(substitute(R^2 = rsq, list(rsq = format(rsquarelm2, digits = 2))))
_

または

_title(bquote(R^2 == .(format(rsquarelm2, digits = 2))))
_

(ここでは、値自体の概算を作成するのではなく、値の表示方法を制御するため、formatよりもroundの方が適切です。)

3
Richie Cotton