プロフィール

kazutabakun

Author:kazutabakun
好奇心旺盛でいろいろなことに興味を持つタイプ。

最新記事
Amazon
時計
最新コメント
最新トラックバック
カテゴリ
月別アーカイブ
FC2ブログランキング
気に入ったら下記をクリックしてください。

FC2Blog Ranking

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

統計解析ソフト "R"

3Dのグラフを描くソフトウエアを探していましたら、Free UseでRという統計ソフトが見つかりました。さっそくダウンロードしてサンプルデータをグラフにしてみました。このR と呼ばれるソフトは有名な統計言語『 S 言語』をオープンソースとして実装し直した統計解析ソフトです.世界中の専門家が開発に携わっていてOSでいえばLinuxのような環境で提供されています。かなり優れたソフトで計算が早くグラフィックスも充実しているようです。

さっそくダウンロードしてサンプルデータをグラフにしてみました。まだ十分理解していないのでとりあえずサンプルプログラムは『同志社大学のPDF資料』から引用させてもらいました。

1) パッケージ graphics の中の関数persp を用いて3 次元のグラフを作成することもでき
る。次のコマンドで ここでとするとつぎの馬鞍形の3次元グラフが作成される。

>x <- seq(-5, 5, length=50)
>y <- x
>f <- function(x,y) {r <- (y^2)-(x^2)}
>z <- outer(x, y, f)
>persp(x, y, z,theta = 60,phi = 25,expand = 0.8,shade=.01,col = "lightgreen")

3D Graph

ちなみにこれと同じものをEXCELで描くと下記のようになります。Rのほうが綺麗に見えるようです。
3D Graph by Excel

2)R にはニュージーランドのオークランドのMaunga Whau 火山のデータvolcano がある。
このデータセットは 10m×10m 格子ごとのMaunga Whau の標高地形データ情報で、87 行
61 列のマトリックスで、北から南の方向の格子は行に、西から東の方向の格子は列に対応
している。このデータと関数persp 用いて次のコマンドで図23 に示す3 次元グラフを作成
することができる。

>data(volcano)
>z <- 5 * volcano # 見やすくするため高さを 5 倍に誇張
>x <- 10 * (1:nrow(z)) # 南北方向の 10 メートルの格子の辺
>y <- 10 * (1:ncol(z)) # 東西方向の 10 メートルの格子の辺
>par(bg = "skyblue") #背景の色設定
>persp(x, y, z, theta = 115, phi = 20, col = "lightgreen", scale = FALSE,ltheta = -120,
shade = 0.75, border = NA, box = FALSE)
Volcano.png

3) もう一つ火山の図です。
>library(lattice)
>data(volcano)
>wireframe(volcano, shade = TRUE, aspect = c(61/87, 0.4), light.source = c(10,0,10))

Volcano2.png

4) R言語には統計の計算機能あり、前回EXCELで計算した円周率も下記のプログラムで計算できます。
> s<-10000000  #サンプル数=1000万回
> x<-runif(s) s回の乱数を発生させる。
> y<-runif(s) s回の乱数を発生させる。
> sum(x^2+y^2<=1)*4/s 円弧の中に入る数を全体の数で割る、
[1] 3.141970 これが答。

スポンサーサイト

Comment

今度、何か試してみよう。v-218 ありがとうございます。
非公開コメント