2013-09-23 14 views
5

私はそれがこのように見える必要があります。Rのプロットに上付き文字をテキストに含めるにはどうすればよいですか?

R^2は、いくつかの値

を=と、それは「R(表現(^ 2として出てきた、私は以下のコードを試してみたが、それは動作しません

text (25, 200, paste ("R (expression (^2)) =", round (rsquarelm2, 2))) 
+1

このウィットが見つかりましたh Google検索。 'text(-pi/2、0、expression(hat^alpha)==(X^t * X)^ { - 1} * X^t * y))' –

答えて

6

あなたは文字ベクトルを望んでいないが、表現は、したがって、この

expression(R^2 == 0.85) 

は何が必要です:))の代わりに、「いくつかの値を=。この場合、別のR操作の結果を置換する必要があります。そのためにはsubstitute()またはbquote()が必要です。私はで動作するように後者より簡単に見つける:bquote()

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

を、.()で何が評価され、その結果が返された式に含まれています。

3

paste関数は、式ではなく文字列を返します。プロットにフォーマットし、数学的な値を含める方法

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

FAQ 7.13です:私はこのような場合のためにbquoteを使用することを好みます。 ahatはあなたのパラメータの推定量である場合

例えば、関心のaは、使用

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

(それは‘==’ない‘=’であることに注意してください)。時々bquote() は、よりコンパクトな形、‘.()’で囲まれた部分式をその値に置き換えられ、例えば、title(bquote(hat(a) = .(ahat)))

を与えます。

demo(plotmath)も有用である。この場合


、あなたはformat

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

または

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

のいずれかを使用することができますが、値はむしろ表示方法を制御したいことから、roundよりもこちらより適切です値自体の近似値を作成するよりも)

関連する問題