Symfoware

Symfowareについての考察blog

R言語 数式を描画する

R言語で数式を表示する方法をメモしておきます。

こちらを参考にしています。
56. 数式の描画


expression



textなどの関数に文字を渡すのではなく、expressionで変換した数式を
渡してやればOKです。

注意点は、expressionの引数には文字列ではなく、数式そのものを渡す点。


誤:expression('x + y')
正:expression(x + y)




ざっくりなサンプルはこのようになりました。


  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. par(mar=c(1, 1, 1, 1))
  3. plot.new()
  4. grid(2,10)
  5. text(0, 1, 'x + y', adj=c(0,0))
  6. text(0.5, 1, expression(x + y), adj=c(0,0))
  7. text(0, 0.9, 'x - y', adj=c(0,0))
  8. text(0.5, 0.9, expression(x - y), adj=c(0,0))
  9. text(0, 0.8, 'x * y', adj=c(0,0))
  10. text(0.5, 0.8, expression(x * y), adj=c(0,0))
  11. text(0, 0.7, 'x / y', adj=c(0,0))
  12. text(0.5, 0.7, expression(x / y), adj=c(0,0))
  13. text(0, 0.6, 'x %+-% y', adj=c(0,0))
  14. text(0.5, 0.6, expression(x %+-% y), adj=c(0,0))
  15. text(0, 0.5, 'x %/% y', adj=c(0,0))
  16. text(0.5, 0.5, expression(x %/% y), adj=c(0,0))
  17. text(0, 0.4, 'x %*% y', adj=c(0,0))
  18. text(0.5, 0.4, expression(x %*% y), adj=c(0,0))
  19. text(0, 0.3, '-x', adj=c(0,0))
  20. text(0.5, 0.3, expression(-x), adj=c(0,0))
  21. text(0, 0.2, '+x', adj=c(0,0))
  22. text(0.5, 0.2, expression(+x), adj=c(0,0))
  23. text(0, 0.1, 'x[i]', adj=c(0,0))
  24. text(0.5, 0.1, expression(x[i]), adj=c(0,0))
  25. text(0, 0, 'x^2', adj=c(0,0))
  26. text(0.5, 0, expression(x^2), adj=c(0,0))
  27. graphics.off()



485_01.png




割と実用的な例




シグマを含む、若干複雑な数式を表示してみます。
指定した数式は以下の通り。


sum( (x[i] - bar(x))(y[i] - bar(y)) )




  1. png("image.png", width = 500, height = 300, pointsize = 12, bg = "white")
  2. plot.new()
  3. mtext(expression(sum( (x[i] - bar(x))(y[i] - bar(y)) )), adj=c(0,0), cex=3)
  4. graphics.off()




狙い通りの出力が得られました。

485_02.png


R言語 掲載記事のまとめ
関連記事

テーマ:プログラミング - ジャンル:コンピュータ

  1. 2014/10/26(日) 16:54:26|
  2. 備忘録
  3. | トラックバック:0
  4. | コメント:0
  5. | 編集
<<R言語 平均値、中央値、標準偏差などの求め方 | ホーム | R言語 ファイルからデータを読み込み、グラフを描画する>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://symfoware.blog68.fc2.com/tb.php/1511-a7fa9b7a
この記事にトラックバックする(FC2ブログユーザー)