PowerPoint Presentation

Similar documents
「統 計 数 学 3」

Microsoft PowerPoint - R-intro-02.ppt

pp2018-pp9base

ToDo: 今回のタイトル

スライド 1

データの作成方法のイメージ ( キーワードで結合の場合 ) 地図太郎 キーワードの値は文字列です キーワードの値は重複しないようにします 同じ値にする Excel データ (CSV) 注意キーワードの値は文字列です キーワードの値は重複しないようにします 1 ツールバーの 編集レイヤの選択 から 編

Microsoft PowerPoint - prog04.ppt

第 2 回 (4/18) 実力診断の解説と表作成の復習

数量的アプローチ 年 6 月 11 日 イントロダクション データ分析をマスターする 12 のレッスン ウェブサポートページ ( 有斐閣 ) 水落研究室 R http:

メソッドのまとめ

2 / 25 複数ソフトの組み合わせ テキストファイルを Excel で開く テキスト形式 (.txt) で保存したファイルを Excel で利用しましょう 第 14 講で保存した west.txt を Excel で開きます 1. Excel を起動します 2. [Office ボタ

このうち ツールバーが表示されていないときは メニューバーから [ 表示 (V)] [ ツールバー (T)] の [ 標準のボタン (S)] [ アドレスバー (A)] と [ ツールバーを固定する (B)] をクリックしてチェックを付けておくとよい また ツールバーはユーザ ( 利用者 ) が変更

画像ファイルを扱う これまでに学んだ条件分岐, 繰り返し, 配列, ファイル入出力を使って, 画像を扱うプログラムにチャレンジしてみよう

※ ポイント ※

4 月 東京都立蔵前工業高等学校平成 30 年度教科 ( 工業 ) 科目 ( プログラミング技術 ) 年間授業計画 教科 :( 工業 ) 科目 :( プログラミング技術 ) 単位数 : 2 単位 対象学年組 :( 第 3 学年電気科 ) 教科担当者 :( 高橋寛 三枝明夫 ) 使用教科書 :( プロ

データ分析のまとめ方

PowerPoint プレゼンテーション

プログラミング実習I

作図コマンド : pscoast -R125/148/30/46 -JM15c -B5g5 -Di -W5 -S235 -X6c -Y4c > test.ps 作図例 : 2 分布図の作成 2.1 点を描く 地点の分布を作図するときは たとえば以下のように行います > pscoast -R125/1

3 カーソルの下に 点 という文字が現われます 地図を拡大して点データを作成したい地点にカーソルを動かしクリックします 4 属性情報の確認 変更 ダイアログが表示されます 必要事項を入力し OK をクリックします 全ての項目を入力する必要はありません 必要な項目のみ入力して下さい いろいろな記号が用

関数の定義域を制限する 関数のコマンドを入力バーに打つことにより 関数の定義域を制限することが出来ます Function[ < 関数 >, <x の開始値 >, <x の終了値 > ] 例えば f(x) = x 2 2x + 1 ( 1 < x < 4) のグラフを描くには Function[ x^

2 / 18 ページ 第 13 講データの活用とデータマップの作成 13-1 ホームページの保存 ホームページ (Web ページ ) に表示される様々な情報を ファイルとして保存することができます

PowerPoint プレゼンテーション

問題 1 次の文章は Excel の作業環境について述べたものである 下線部の記述の正誤を判断し 解答群 { } の記号で答えよ ただし 下線部以外の記述に誤りはないものとする 設問 1. クイックアクセスツールバーには アプリケーション名やファイル名が表示される 設問 2. 数式バーのる ボタンを

cp-7. 配列

C#の基本

Prog1_10th

スライド 0

1. はじめに 1. はじめに 1-1. KaPPA-Average とは KaPPA-Average は KaPPA-View( でマイクロアレイデータを解析する際に便利なデータ変換ソフトウェアです 一般のマイクロアレイでは 一つのプロー

C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ

Create!Form V11 - Excel 出力設定

Microsoft PowerPoint - R-intro-04.ppt

コマンド入力による操作1(ロード、プロット、画像ファイル出力等)

第 14 講複数ソフトの組み合わせ テキストファイルを Excel で開く 2 / 17 テキスト形式 (.txt) で保存したファイルを Excel で利用しましょう 第 13 講で保存した west.txt を Excel で開きます 1. Excel を起動します 2. [Off

JavaScriptで プログラミング

plot type type= n text plot type= n text(x,y) iris 5 iris iris.label >iris.label<-rep(c(,, ),rep(50,3)) 2 13 >plot(iris[,1],iris

ソフトウェア基礎 Ⅰ Report#2 提出日 : 2009 年 8 月 11 日 所属 : 工学部情報工学科 学籍番号 : K 氏名 : 當銘孔太

テキストファイルの入出力1

Microsoft Word - CygwinでPython.docx

PowerPoint プレゼンテーション

> usdata01 と打ち込んでエンター キーを押すと V1 V2 V : : : : のように表示され 読み込まれていることがわかる ここで V1, V2, V3 は R が列のデータに自 動的につけた変数名である ( variable

Microsoft PowerPoint - kougi7.ppt

1 Word2007 を立ち上げて 表を作って内容を入力し 体裁を整える 1 時間の関係で あらかじめ下記のような簡単な文書を作成して デスクトップにファイル 旅行案内操作前 1 を置いてありますからこのファイルをダブルクリックして開いて下さい (* 時間のある方は末尾に表の挿入方法などを参考に書い

コンピュータ工学講義プリント (7 月 17 日 ) 今回の講義では フローチャートについて学ぶ フローチャートとはフローチャートは コンピュータプログラムの処理の流れを視覚的に表し 処理の全体像を把握しやすくするために書く図である 日本語では流れ図という 図 1 は ユーザーに 0 以上の整数 n

プレサリオ ステップアップ

PowerPoint プレゼンテーション

< F2D968382CC A837E B E9197BF2E6A7464>

Javaプログラムの実行手順

基本的な利用法

サインイン 最初にサインインを行います サインインしたときとそうでないときでは 表示やメニューなどが少し違います アカウントがない場合 最初にアカウントを作りましょう サインインしていないとき サインインしたとき メッセージ 更新情報とお知らせがとどきます

マクロの実行許可設定をする方法 Excel2010 で 2010 でマクロを有効にする方法について説明します 参考 URL:

pp2018-pp4base

Prog1_15th

目次 1. プロフィール画像工房の概要 3 2. プロフィール画像の作成 9 3. プロフィール画像の登録 まとめ 29 レッスン内容 プロフィール画像工房 インターネット上に提供されているさまざまなサービス ( これ以降 サービス と記述します ) を利用するときには 利用するユーザー

gnuplot の使い方 gnuplot は汎用的で しかも手軽に使えるプロッティング プログラムです 計算結果をグラフにするとき に非常に便利なので ぜひ覚えてください 1 gnuplot の始め方 終わり方 gnuplot の始め方は ターミナル上のプロンプトの後ろで gnuplot と打つだけ

CubePDF ユーザーズマニュアル

1/2

<91808DEC90E096BE8F91322E786C73>

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

SnNCutCnvs ステッカーウィザードを使ってデザインを作成する ここでは スターターキットに付属している A4 サイズ (210 mm 297 mm) のプリントステッカーを使用する場合の例を説明します [ ステップ 1] エリアサイズを変更します パソコンの場合 : 編集画面 >[ プロジェ

kantan_C_1_iro3.indd

(Microsoft PowerPoint - \203}\203N\203\215\203\\\203\212\203\205\201[\203V\203\207\203\223.ppt)

Microsoft PowerPoint - 講義資料-mlib

今日の話のメインターゲット R を ( 入れてみたが ) 使い方が分からない人 そもそも使ったことが無い人 R の存在を知らなかった人 2

1 〇〇クリッカーマニュアル 目次 クリックすると移動します 目次準備 1. VC または VS2013 をインストール 2. DX ライブラリのダウンロードと解凍 3. なんとかクリッカー プロジェクトのダウンロードと解凍 4. なんとかクリッカー プロジェクトを開く編集編集する部分画

Microsoft Word - 操作マニュアル(PowerPoint2013)

GSLetterNeo vol 年 7 月 形式手法コトハジメ TLA + Toolbox を使って (2)- 熊澤努 sra.co.jp はじめに GSLetterNeo Vol.130 で TLA + Toolbox を紹介しました 今回からより詳しく T

このルールをそのまま正規表現として書くと 下記のようになります ^A[0-9]{2}00[0-9]{3}([0-9]{2})?$ ちょっと難しく見えるかもしれませんが 下記のような対応になっています 最初 固定 年度 固定 通番 ( 枝番 ) 最後 ルール "A" 数字 2 桁 0 を 2 桁 数字

Microsoft Word - 操作マニュアル(PowerPoint2010).doc

Microsoft Word - VB.doc

Mapmakerfor の手順下絵を準備 作者の設定した大きさで作成する場合 下絵にする地図を挿入 トリミングと大きさの調整 大きさを調整した画像を保存 下絵を背景に設定 作成画面の大きさを調整 1 自分で用意した下絵を背景にする場合 下絵を背景に設定 作成画面の大きさを調整 画像が大きい場合シート

設定ファイル R 起動時に読み込まれ, R における種々の設定を項目別にファイルに記述してあります R の主な設定ファイルは Rconsole, Rdevga, Renviron, Rprofile の 4 つです いずれもテキストファイルですが, 改行コードが Windows のものと異なる場合が

Microsoft Word - index.html

Microsoft Word - 操作マニュアル-Excel-2.doc

スライド 1

実験 5 CGI プログラミング 1 目的 動的にWebページを作成する手法の一つであるCGIについてプログラミングを通じて基本的な仕組みを学ぶ 2 実験 実験 1 Webサーバの設定確認と起動 (1)/etc/httpd/conf にある httpd.conf ファイルの cgi-bin に関する

ワープロソフトウェア

プログラミングA

1セル範囲 A13:E196 を選択し メニューの データ - 並べ替え をクリック 並べ替え ダイアログボックスで 最優先されるキー から 年代 を選択し OK をクリック ( セル範囲 A13:E196 のデータが 年代 で並び替えられたことを確認する ) 2セル範囲 A13:E196 を選択し

目次 1. アニメーションの仕組み 3 2. ワードアートでムービーのタイトルを作成 7 3. まとめ 課題にチャレンジ 19 [ アニメーション ] 機能 PowerPoint に搭載されている [ アニメーション ] 機能を使用すると 文字や図形にアニメーション ( さまざまな動きや

大阪ガス株式会社 情報通信部 御中

eYACHO 管理者ガイド

スライド 1

スライド 1

ガイダンス

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

プログラミングA

スライド 1

Marionette操作説明

プログラミング入門1

触覚マウスライブラリを使った 触覚付き Web ページの作り方 ver 富士ゼロックス株式会社 -1-

(3) 本文を書く 実際にページを開いたときに表示される本文を書いてみましょう から の間に書きます <html > <head > <title > 武のホームページ </title > </head > </html > (4) ページを保存する ここで一度ページを保存してみましょう テキストエ

OHP シートの作成 OHP でプレゼンテーションをする際に必要な OHP シートを作成できます 配布資料の作成プレゼンテーションの参加者に配布する資料を簡単に作成できます 参加者はメモ等この資料に書き込むことができ 理解を深めることができます 発表者用資料の作成プレゼンテーション中に発表者が参考に

Microsoft Word - 表計算ソフトの練習.doc

Prog1_12th

図 1 アドインに登録する メニューバーに [BAYONET] が追加されます 登録 : Excel 2007, 2010, 2013 の場合 1 Excel ブックを開きます Excel2007 の場合 左上の Office マークをクリックします 図 2 Office マーク (Excel 20

Microsoft Word - 26 【標準P】演習TN ArcGIS.doc

なぜRでグラフを 書 くの? 1.グラフがきれい 2. 書 き 直 しが 簡 単 3. 同 じようなグラフを 簡 単 に 書 ける

<4D F736F F D20838F815B836882C54C494E E DEC90AC283194C529>

Microsoft Word - NanoPhotometer用PCソフトウエア操作説明書 Rev 1.00.doc

Transcription:

R で自動作図 どんな絵でも, 何十回でも, 何百枚でも 竹中明夫 ( 国立環境研 )

プログラミング環境 + 実行環境 統計解析関数群 描画関数群

プログラム作図のすすめまずは描いてみる高水準作図関数と低水準作図関数繰り返し作業をプログラムで画像の保存

この話の目指すところ R のプログラムで絵が描けるよう になる R のプログラムで絵が描けそうな 気になる R のプログラムで絵を描きたくなる やる気にさえなれば, 世の中にはさまざまな情報がある.

プログラミングの心構え 楽をするための苦労は惜しまない Required efforts 苦労 0 5 10 15 20 25 30 手作業 楽 プログラム 0 5 10 15 20 25 30 Amount of job

作図プログラムを書いて しまえば 多量のデータでも片っ端から同じ形式でグラフ化できる デザインをちょっと変えての書き直しも簡単 データにまちがいが見つかってもめげずに描き直せる

片っ端からのグラフ化が最初の一歩

相関係数 強い正の相関をひとつ発見

グラフにしてみると 2 6 10 2 6 10 w 0 2 4 6 2 6 10 x 2 6 10 0 2 4 6 y -2 2 6 10 z -2 2 6 12 ここにもあやしげなパターンが!

作図プログラムを書いて しまえば あー直せ, こー直せと言 われても大丈夫 多量のデータでも片っ端から同じ形式でグラフ化できる デザインをちょっと変えての書き直しも簡単 データにまちがいが見つかってもめげずに描き直せる

作図プログラムを書いて しまえば 締め切り間際にはと くに重要 多量のデータでも片っ端から同じ形式でグラフ化できる デザインをちょっと変えての書き直しも簡単 データにまちがいが見つかってもめげずに描き直せる

プログラム作図のすすめまずは描いてみる高水準作図関数と低水準作図関数繰り返し作業をプログラムで画像の保存

R で自動作図 に必要な準備 R のインストール 作業用ディレクトリの作成 自分のデータ テキストエディタ タブかカンマ区切りのテキストファイル R に組込まれたエディタもあり ( スクリプトの編集 ). 私はシェアウエアの秀丸を愛用. サクラエディタ, K2Editor など無料のものも多数. これらはプログラミング支援機能も充実 )

Excel のファイルは, データそのものの他に, さまざまな情報が Excel だけが知っている方法で書き込まれている.

テキストファイルは, 文字で書か れた ( 人間がそのまま読める ) 情 報のみが入っている

Excel で, テキストファイル形式で保存 ( 一度に一枚のシートのみ ) ( メニュー ) ファイル 名前を付けて保存 ( ファイルの種類 ) テキスト ( タブ区切り ) (*.txt) ないしは CSV ( カンマ区切り ) (*.csv) 実演 どちらもテキストファイル

タブ区切り カンマ区切り (CSV)

二通りの描き方 R の入出力画面で描画関数を呼び出してグラフを描く 描画に必要な命令を書き込んだファイルを作り, これを呼び出してグラフを描く

leaves.txt まずは一枚描いてみる 葉の長さ, 幅, 面積, 乾燥重量, 個体

R の入出力画面でデータの読み込み 代入 ファイル名 1 行めは項目名 > d <- read.table("leaves.txt", header = T) 変数 d は, データの塊. タブ区切りデータの読み込み用関数 data.frame という クラス の オブジェクト この扱いに慣れることが R の第一歩

x と y を指定してグラフを描く # から後ろは無視. コメントを書くのに使う > plot(d$w, d$l) # 長さ vs 幅の撒布図 データフレーム d の,W という名前の列 実演

d$l 10 20 30 40 50 5 10 15 20 d$w

x と y を指定してグラフを描く > plot(d$tree, d$l) # 木毎の葉の長さ 10 20 30 40 50 A B C 実演

> plot(d$w, d$l) # 長さ vs 幅の撒布図 > plot(d$tree, d$l) # 木毎の葉の長さ d$l 10 20 30 40 50 10 20 30 40 50 5 10 15 20 A B C d$w plot() に渡すデータの型が違うと, 描 かれるグラフも違う.

データの型 実数 複素数 論理値 文字列 ( 因子 ) その他のクラス おいおい慣れます. さらに ベクトル (1 次元 ) 行列 (2 次元 ) 配列 ( 多次元 ) リスト ( 異種データを束ねたもの ) x1 <- 13 x2 <- c(1, 3, 5) y <- c("a", "BB") 期待した動作をしないとき, 型の問題を疑ってみよう. 数値ひとつも長さ 1 のベクトル

関数 plot() に渡すデータの型が違う と, 描かれるグラフも違う. 渡されたデータの型により, 実際の作業を行う描画関数が選択される. 描画関数のなかで, データの型により違う動作が選択される. とりあえずは気にしない.plot() が魔法の呪文でないことだけ分かれば OK.

R の入出力画面で描画関数を呼び出してグラフを描く 描画に必要な命令を書き込んだファイルを作り, これを呼び出してグラフを描く 組込みのスクリプト編集エ ディタないしはお好きなテ キストエディタで

プログラムを書いたテキストファイルを 用意し plot01.r ( テキストファイル ) d <-read.table("leaves.txt", header = T) plot(d$w, d$l) R の入出力画面から呼び出す. > source("plot01.r") 実演

プログラム作図のすすめまずは描いてみる高水準作図関数と低水準作図関数繰り返し作業をプログラムで画像の保存

R の作図関数には高水準と低水準がある 高水準作図関数 : 一枚の絵を作る. 呼び出すと座標系が設定される. 低水準作図関数 : 高水準作図関数で描いた図に点や線や字を書き加える. 既存の座標系に従う. なんら自虐的あるいは侮蔑的な意味はこめられていない

高水準作図関数でお手軽に作図 好きなように組み合わせて 低水準作図関数で自由に作図

d <-read.table( leaves.txt, header = T) plot(d) 高水準 L 5 15 0 400 1.0 2.5 10 40 5 15 W L_W 0 800 0 600 A 1.0 2.5 Wd Tree 0 2 4 実演 10 40 0 600 0 2 4

適当な高水準作図関数を使えば 楽ができる. + きめ細かい指定は 描画関数呼び出し時のオプション指定 グローバルな描画パラメータの指定 (par)

plot(d$w, d$l) 高水準 d$l 10 20 30 40 50 5 10 15 20 d$w そっけない

描画関数でよく使うオプション指定の例 col 色 pch 点のタイプ cex 図中の字や点の大きさ lty 線のタイプ lwd 線の太さ xlim, ylim 軸の最小 最大 log 対数軸の指定... 詳しくはマニュアル ヘルプなど参照

par() 関数で設定するオプションの例 mar, グラフの余白 mfcol, 画面の分割 (1 ページに複数の絵を描く )... 例 : par(mar = c(5, 6, 2, 2)) par(mfcol = c(2, 2)) 詳しくはマニュアル ヘルプなど参照

par(mar=c(5, 6, 2, 2)) plot(d$w, d$l, xlab = "Leaf width (cm)", ylab = "Leaf length (cm)", cex = 2, pch = 20, col = 4, cex.lab = 1.5, cex.axis = 1.5, xlim =c(0, 25), ylim = c(0, 60)) Leaf length (cm) 0 10 20 30 40 50 60 0 5 10 15 20 25 Leaf width (cm)

plot(d$w, d$l, xlab = "Leaf width (cm)", ylab = "Leaf length (cm)", cex = 2, pch = 20, xlim =c(0, 25), ylim = c(0, 60), col = c("red", "green", "blue")[d$tree]) これで,Tree の種類 (A, B, C) 別に色分け Leaf length (cm) 0 10 20 30 40 50 60 0 5 10 15 20 25 Leaf width (cm)

ちょっと面倒ですが, 一応ご説明. > c("red", "green", "blue")[1] [1] "red" 3 要素ベクトルの 1 番め > c("red", "green", "blue")[c(1, 3, 2)] [1] "red" "blue" "green" 添字もベクトルに > d$tree [1] A A A B B C C A B C C A A B C C B B A A A B B B C C C A B C C A B C C B C A A C C B B d$treeは因子 Levels: A B C > as.numeric(d$tree) [1] 1 1 1 2 2 3 3 1 2 3 3 1 1 2 3 3 2 2 1 1 1 2 2 2 3 3 3 1 2 3 3 1 2 3 3 2 3 1 1 3 3 2 2 数値 ( ベクトル ) として評価

すぐに納得できなくてもよいです. > c("red", "green", "blue")[c(1, 3, 2)] [1] "red" "blue" "green" > as.numeric(d$tree) d$treeは因子 [1] 1 1 1 2 2 3 3 1 2 3 3 1 1 2 3 3 2 2 1 1 1 2 2 2 3 3 3 1 2 3 3 1 2 3 3 2 3 1 1 3 3 2 2 > c("red", "green", "blue")[d$tree] "red" "red" "green" "green" "blue" "blue" "red" "green" "blue"... ベクトル X の添字に因子ベクトルを書くと, 各因子のレベルに対応した ( ベクトル X の ) 要素が並んだベクトルが得られる.

plot(d$w, d$l, xlab = "Leaf width (cm)", ylab = "Leaf length (cm)", cex = 2, pch = 20, xlim =c(0, 25), ylim = c(0, 60), col = c("red", "green", "blue")[d$tree]) ベクトルの添字にベクトル col = c("red", "red", "red", "green", "green", "blue", "blue", "red","green"...) [c(1,1,1,2,2,3,3,3,1,2,..)] それを添字に

plot(d$w, d$l, xlab = "Leaf width (cm)", ylab = "Leaf length (cm)", cex = 2, pch = 20, xlim =c(0, 25), ylim = c(0, 60), col = c("red", "green", "blue")[d$tree]) ベクトルの添字にベクトル Leaf length (cm) 0 10 20 30 40 50 60 0 5 10 15 20 25 Leaf width (cm)

plot(d$w, d$l,..., col = c("red", "green", "blue")[d$tree]) legend("topleft", levels(d$tree), col=c("red", "green", "blue"), pch = 20, cex = 1.8) 凡例を書き加える低水準作図関数 Leaf length (cm) 0 10 20 30 40 50 60 A B C 実演 0 5 10 15 20 25 Leaf width (cm)

こんな定跡もあります # 高水準で枠だけ描く ( 座標系が設定される ) plot(0, 0, type = 'n', xlim = c(0, 10), ylim = c(0, 100), xlab = "...", ylab = "...") # そのあと, 線を引いたり点を打ったり多角形を描いたり文字を書いたり. lines(x, y, ) points(x, y, ) polygon(x, y,...) text(x, y, "...") 注意 : 高水準関数でグラフを描いたあと, 続けて高水準関数を呼び出しても, 普通は上書きできません ( curve() など例外あり )

低水準作図関数を組み合わせれば ( 原理的には ) なんでも書ける. これも R で描きました 実演

プログラム作図のすすめまずは描いてみる高水準作図関数と低水準作図関数繰り返し作業をプログラムで画像の保存

R の入出力画面で描画関数を呼び出してグラフを描く 描画に必要な命令を書き込んだファイルを作り, これを呼び出してグラフを描く プログラム中で作業の繰り返しを指示 すれば, 何枚もの絵を一度に描ける

今さら言うまでもありませんが, 単純作業の繰り返しはコンピュー ターがもっとも得意とするところ.

Rでの繰り返し構造の表現方法 for ( 変数名 in ベクトル ) { 処理 } while ( 条件 ) { 処理 } repeat { 処理 } (+ next, break) 構造化定理どんな計算手順も, 順次 反復 分岐 の組み合わせで記述できる

for (...){ # ファイルごとの繰り返し ファイル名を設定する. ファイルの内容を読み込む. 読んだデータを使って絵を描く }

for (...){ # ファイルごとの繰り返しファイル名を設定する. ファイルの内容を読み込む. 読んだデータを使って絵を描く } ファイル名をプログラム中に書き並べる. ファイル名を規則的に生成する ディレクトリ中のファイルを調べる ファイル名を書き並べたファイルを読む...

sites <- c("a", "B", "Tenjin", "Hakata") # 4つのサイト n.block <- 100 # 100 ブロック n.pot <- 50 # ポットが50 個 # 20,000 ポットそれぞれのデータファイルを読んで描画 for (site in sites) { for (i in 1:n.block) { for (j in 1:n.pot) { file <- sprintf("%s_b%03d_p%03d.txt", site, i, j) d <- read.table (file, header = T) # 描画など } } } たとえば

90 個の方形区内の木本の実生, 約 3,000 個体余りの 3 年間の高さ成長のグラフ

集めたデータはまずはグラフ 化して眺めるべきだが 手作業で 3000 個体の成長 を 90 個のブロックごとにグ ラフにする気になるか?

集めたデータはまずはグラフ 化して眺めるべきだが そんな簡単なことは コンピューターにだ ってできます. 手作業で 3000 個体の成長 を 90 個のブロックごとにグ ラフにする気になるか?

調査データの管理と図化 : 私の場合 データを表計算ソフトで入力 ( 久 保さんには内緒 ) テキストファイルに変換 必要に応じてPerlで整形 自作の道具も R で作図 実演 par(ask = T)

-1.0 0.0 0.5 1.0 A C M R Z Height 1 5 20 100 1 Height 1 5 20 100 2-1.0-0.5 0.0 0.5 1.0 2003.0 2004.0 2005.0 Year 2003.0 2004.0 200 Year Height 1 5 20 100 3 Height 1 5 20 100 4 Height 1 5 20 100 5 2003.0 2004.0 2005.0 Year 2003.0 2004.0 2005.0 Year 2003.0 2004.0 200 Year Height 1 5 20 100 6 Height 1 5 20 100 7 Height 1 5 20 100 8 2003.0 2004.0 2005.0 Year 2003.0 2004.0 2005.0 Year 2003.0 2004.0 200 Year Height 1 5 20 100 9 Height 1 5 20 100 10 Height 1 5 20 100 11 2003.0 2004.0 2005.0 Year 2003.0 2004.0 2005.0 Year 2003.0 2004.0 200 Year

# ブロックごとの, 全個体の高さ成長 # 2008-03-07 Rev. TAKENAKA, A. # 1 ページのグラフ数, 余白などの設定 par(mfrow = c(4,3)) par(mar =c(4, 4, 1, 1) ) par(mex = 0.80) # 種ごとの名前と色分け sp.color <- c("magenta", "blue", "grey", "black", "green") sp.name <- c('a', 'C', 'M', 'R', 'Z') # 凡例用に空のプロットをひとつ. plot(0, 0, type = 'n', xlab = "", ylab = "") legend("center", sp.name, col = sp.color, lwd = 2, lty = 1)

n.blocks <- 150 # ブロック番号はたかだかここまで. for (i.block in 1:n.blocks) { # 各ブロックごとに } file.name = sprintf("_%03d.txt", i.block) if (file.access(file.name) == -1) { # 該当ファイルなし next # 次のブロックへ } d <- read.table(file.name, header = TRUE) plot(1, 1, type = 'n', xlab = "Year", ylab = "Height", log="y", ylim = c(1, 300), xlim = c(2003, 2005)) # 枠だけ描画 text(2003.2, 250, i.block) # ブロック名を書き込む. for (i in 1:nrow(d)) { # 個体ごとに # 高さ成長を描く ( 次項 ) }

for (i in 1:nrow(d)) { # 個体ごとに if (d$h2[i] > 0) { # 2 年めに生きている if (d$h3[i] > 0) { # 3 年めも生きてるなら, 実線で lines(c(2003, 2004, 2005), c(d$h1[i], d$h2[i], d$h3[i]), col = sp.color[match(d$sp[i], sp.name)], lwd = 1, lty = 1) } else { # 3 年めまでに死亡なら, 破線で lines(c(2003, 2004), c(d$h1[i], d$h2[i]), col = sp.color[match(d$sp[i], sp.name)], lwd = 1, lty = 2) } 線の指定 } text(2003.2, 250, i.block) # ブロック名を書き込む. } 色指定

プログラム作図のすすめまずは描いてみる高水準作図関数と低水準作図関数繰り返し作業をプログラムで画像の保存

ベクトル画像とビットマップ画像 ベクトル : 図の描き方の情報 PostScript, eps, Windows メタファイル,PDF, 拡大 縮小してもきれい. 多くの場合, データサイズが小さい 描画に時間がかかることがある ビットマップ : 画素ひとつひとつの色情報 (png, jpeg, bmp, GIF, ) 拡大 縮小でみにくくなる. データサイズが大きくなりがち ( 画像によるが )

画像の保存 描画 window 上に描かれた図をメタファイルとして保存するか, クリップボードにコピーし, 適当なアプリケーションに渡して保存する. 多数の絵を描くならこちら. 実演 画像ファイルを描画デバイスとして開いたあと描画を実行すると, ファイルに絵が書き込まれる.

描画デバイスのいろいろ 描画画面 windows(width =, height =, ) win.metafile(filename, ) postscript(filename, ) pdf(filename, ) png(filename, ) jpeg(filename, ) ひとつのファイルにたくさんの絵を描けて便利 bmp(filename, )

たとえば > d <- read.table( leaves.txt, header = T) > pdf( test.pdf ) > plot(d) > plot(d$l, d$w) > plot(d$l ~ d$tree) > dev.off() 実演

先程の 90 区画のグラフも PDF ファイルに. 実演

今日の話は 基礎の基礎 の入門 基礎の基礎 は拙頁にもあります. 他にもネット上の情報や書籍いろいろあります. 描画関数, 描画ライブラリもいろいろあります

プログラミングの心構え 楽をするための苦労は惜しまない Required efforts 苦労 0 5 10 15 20 25 30 手作業 楽 プログラム そんな簡単なことはコンピューターにだってできます. 0 5 10 15 20 25 30 Amount of job

資産の蓄積と慣れ 習熟で 苦労はどんどん小さくなる 苦労 Required efforts 苦労 0 5 10 15 20 25 30 苦労? 0 5 10 15 20 25 30 Number of figures 楽!

楽をするための苦労は惜しまない 清聴多謝