29

回帰の結果(つまり、R2)をグラフに配置しようとしていますが、式内から変数を呼び出す方法がわかりません(変数名が貼り付けられます)。

これが私のコードです。

R2Val <- signif(summary(sMod_pre90)$r.squared[1], 2)
text(92, 4, expression(paste(R^2, " = ", R2Val)), adj = 0, cex = 0.85)
4

3 に答える 3

32

を使用しbquote()ます。ダミーデータの例を次に示します。

set.seed(1)
DF <- data.frame(A = rnorm(100), B = rnorm(100))
mod <- lm(B ~ A, data = DF)
R2Val<-signif(summary(mod)$r.squared[1], 2)

ラップされた式の部分は.()環境で評価されます。つまり、の値R2Valが置き換えられます。

plot(B ~ A, data = DF)
text(1.5, 2, labels = bquote(R^2 == .(R2Val)), adj = 0, cex = 0.85)

別の潜在的な解決策はsubstitute、同様に機能するです。

plot(B ~ A, data = DF)
text(1.5, 2, labels = substitute(R^2 == A, list(A = R2Val)), adj = 0, cex = 0.85)
于 2010-12-12T18:25:31.770 に答える
1

とを組み合わせるsubstitute()paste()は、次のコードを使用します。

waic <-1;
chisquare <-2;
plot(x=1:2,y=1:2, 
     main =  substitute(paste(
    "chi^2 goodness of fit ", 
       chi^2*(D/theta) , "=",  chisquare ,
       ".  WAIC =",waic),


list(chisquare=chisquare,waic=waic)  
)
)

結果は次のとおりです。

ここに画像の説明を入力してください

于 2019-06-22T13:08:30.420 に答える
0

代用機能を使ってなんとかまとめることができました。

R2Val <- signif(summary(sMod_pre90)$r.squared[1], 2)
text(92, 4, substitute(R^2 ~ "=" ~ R2Val), adj = 0, cex = 0.85)

すべてが良いです。

于 2010-12-12T18:22:13.680 に答える