Rの数式描画の中で変数を展開したいときはbquoteを使う
ループを使って複数のグラフを描くような状況。
グラフを区別するためにmainオプションでタイトルを付けましょう↓
う~ん、伝わりはするけど、"y=x^2"みたいな見た目が格好悪い。ちゃんと数式(数字の肩に指数が乗っている感じ)で表現したいですよね。
そういうときは、expression関数で、いけるかな・・・?
ありゃ? 数式の形にはなりましたが、変数iが展開されずそのまま「i」と出ちゃいました。
やっと本題です。
このiを展開(i = 1, 2, 3, 4)したいときには、bquote関数が使えます↓
はい。無事、所望の表現になりました。
bquoteはexpressionと同じように数式表現を解釈してくれるのですが、ピリオドと括弧「.( )」で囲まれた部分については変数を展開してくれます。(という仕様のようです。私もそんなに使い込んだわけではないので・・・)
![]() |
複数のグラフを描いてみた(タイトルなし) |
グラフを区別するためにmainオプションでタイトルを付けましょう↓
![]() |
タイトルをつけてみたが格好悪い |
う~ん、伝わりはするけど、"y=x^2"みたいな見た目が格好悪い。ちゃんと数式(数字の肩に指数が乗っている感じ)で表現したいですよね。
そういうときは、expression関数で、いけるかな・・・?
par(mfrow=c(2,2)) for(i in 1:4){ curve( x^i, -1, 1, asp=1, ylab="y", main=expression(y==x^i) ) }
![]() |
expressionだと変数iが展開されない |
ありゃ? 数式の形にはなりましたが、変数iが展開されずそのまま「i」と出ちゃいました。
やっと本題です。
このiを展開(i = 1, 2, 3, 4)したいときには、bquote関数が使えます↓
![]() |
bquoteを使えば、変数を展開できる |
はい。無事、所望の表現になりました。
bquoteはexpressionと同じように数式表現を解釈してくれるのですが、ピリオドと括弧「.( )」で囲まれた部分については変数を展開してくれます。(という仕様のようです。私もそんなに使い込んだわけではないので・・・)
コメント
コメントを投稿