「統 計 数 学 3」

Similar documents
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

Microsoft PowerPoint - R-intro-02.ppt

Microsoft PowerPoint - 統計科学研究所_R_重回帰分析_変数選択_2.ppt

1 R Windows R 1.1 R The R project web R web Download [CRAN] CRAN Mirrors Japan Download and Install R [Windows 9

DAA02

Microsoft PowerPoint - 統計科学研究所_R_主成分分析.ppt

PackageSoft/R-033U.tex (2018/March) R:

初めてのプログラミング

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

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

DAA03

DAA04

Microsoft PowerPoint - C言語の復習(配布用).ppt [互換モード]

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

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

<4D F736F F F696E74202D2088E D8C768A7789C482CC8A778D5A F939D8C76835C FC96E52E >

Microsoft PowerPoint - 講義資料-mlib

program7app.ppt

PowerPoint Presentation

gengo1-11

PowerPoint Presentation

memo

Microsoft Word - VBA基礎(6).docx

RとExcelを用いた分布推定の実践例

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

Rとは 統計言語であるSの思想に基づいて開発されたフリーのソフ トウェア ウェブから誰でも無料で入手できる 多様なプラットフォームに対応 Unix系OS Mac OS X, Windows 豊富なパッケージ群 パッケージ 共通の目的を達成するための関

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

Microsoft Word - gnuplot

第4回

Microsoft Word - ExcelTable.docx

プログラミング実習I

4 分岐処理と繰返し処理 ( 教科書 P.32) プログラムの基本的処理は三つある. (1) 順次処理 : 上から下に順番に処理する ぶんきそろ (2) 分岐処理 : 条件が揃えば, 処理する はんぷく (3) 反復処理 : 条件が揃うまで処理を繰り返す 全てのプログラムは (1) から (3) の

Microsoft Word - 簡単な計算と作図.doc

cp-7. 配列

Microsoft Word - Grspes…~…j…}…j…–…A…‰6.0.doc

目次 1. はじめに Excel シートからグラフの選択 グラフの各部の名称 成績の複合グラフを作成 各生徒の 3 科目の合計点を求める 合計点から全体の平均を求める 標準偏差を求める...

バイオインフォマティクス特論12

_Kobayashi

Java Scriptプログラミング入門 3.6~ 茨城大学工学部情報工学科 08T4018Y 小幡智裕

A. 表の作成 はじめに 講座テキストページに保存されている表 1 の元データをエクセル 2010 にコピーします (No1) 講座テキスト (Web ページ ) に示した表 1 過去 12 年間の為替と外貨準備の推移 のデータ表を選択する この表 1 を選択した状態で WEB ページの 編集 コピ

Java講座

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

Microsoft PowerPoint - prog03.ppt

講習No.10

プログラミング基礎

Microsoft PowerPoint 電子情報理工学特論.pptx

Microsoft PowerPoint - kougi7.ppt

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

C3 データ可視化とツール

Microsoft Word - no11.docx

データ分析のまとめ方

Si 知識情報処理

memo

Microsoft PowerPoint - 12.ppt [互換モード]

スライド 1

Microsoft PowerPoint - 11.pptx

Microsoft Word - 補論3.2

PowerPoint Presentation

最小二乗法とロバスト推定

講義のーと : データ解析のための統計モデリング. 第2回

memo

memo

PowerPoint プレゼンテーション

情報処理Ⅰ

Microsoft PowerPoint - 計算機言語 第7回.ppt

初めてのプログラミング

経営統計学

演習2

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

Scilab 勉強会 ( 第 3 回 ) 高橋一馬, 十文字俊裕, 柏倉守 平成 17 年 11 月 15 日 関数 ファイルはエディタを用いて作成する.Scilab にはエディタ SciPad が附属している.SciPad では なく他のエディタを利用してもよい. 作成した関数は Scilab に

<4D F736F F F696E74202D BD95CF97CA89F090CD F6489F18B4195AA90CD816A>

パソコンシミュレータの現状

JavaScript 演習 2 1

memo

本文/020:デジタルデータ P78‐97

<4D F736F F D20438CBE8CEA8D758DC F0939A82C282AB2E646F63>

スライド 1

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

Microsoft PowerPoint - Rによる演習v2.ppt [互換モード]

ToDo: 今回のタイトル

パソコンで楽チン、電力管理3169編

Microsoft PowerPoint - ca ppt [互換モード]

関数の動作 / printhw(); 7 printf(" n"); printhw(); printf("############ n"); 4 printhw(); 5 関数の作り方 ( 関数名 ) 戻り値 ( 後述 ) void である. 関数名 (

PowerPoint プレゼンテーション

スライド 1

HTML

JavaプログラミングⅠ

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

Probit , Mixed logit

PowerPoint プレゼンテーション

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

問 1 図 1 の図形を作るプログラムを作成せよ 但し ウィンドウの大きさは と し 座標の関係は図 2 に示すものとする 図 1 作成する図形 原点 (0,0) (280,0) (80,0) (180,0) (260,0) (380,0) (0,160) 図 2 座標関係 問 2

Microsoft PowerPoint - 説柔5_間勊+C_guide5ï¼›2015ã•’2015æŒ°æŁŽæš’å¯¾å¿œç¢ºèª“æ¸‹ã†¿ã•‚.pptx

Microsoft PowerPoint - prog04.ppt

(2) 構造体変数の宣言 文法は次のとおり. struct 構造体タグ名構造体変数名 ; (1) と (2) は同時に行える. struct 構造体タグ名 { データ型変数 1; データ型変数 2;... 構造体変数名 ; 例 : struct STUDENT{ stdata; int id; do

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

消費 統計学基礎実習資料 2017/11/27 < 回帰分析 > 1. 準備 今回の実習では あらかじめ河田が作成した所得と消費のファイルを用いる 課題 19 統計学基礎の講義用 HP から 所得と消費のファイルをダウンロードしてみよう 手順 1 検索エンジンで 河田研究室 と入力し検索すると 河田

Microsoft Word - å“Ÿåłžå¸°173.docx

第9回 配列(array)型の変数

R-introduction.R

Transcription:

関数の使い方 1

関数と引数 関数の構造 関数名 ( 引数 1, 引数 2, 引数 3, ) 例 : マハラノビス距離を求める関数 mahalanobis(data,m,v) 引数名を指定して記述する場合 mahalanobis(x=data, center=m, cov=v) 2

関数についてのヘルプ 基本的な関数のヘルプの呼び出し? 関数名 例 :?mean 例 :?mahalanobis 指定できる引数を確認する関数 args() HTML のヘルプを呼び出す関数 help.start() 参考 URL : R-Tips ヘルプを見る http://cse.naro.affrc.go.jp/takezawa/r-tips/r/07.html 3

ヘルプの見方 1-1?mahalanobis を実行 関数の説明 指定できる引数について 引数についての説明 4

ヘルプの見方 1-2 ヘルプの下部に 使い方が記載されている 例 使い方 5

ヘルプの見方 2-1 help.start() を実行 6

ヘルプの見方 2-2 help.start() の場合 パッケージのリストから探す場合 関数名から検索する場合 7

パッケージのリストから探す場合 8

関数名から検索する場合 適当な関数名を入力 Search 9

関数名から検索する場合 2 関数 mean で検索した場合 10

plot 関数について 11

plot 関数 plot 関数 散布図を描く関数 par 関数との組み合わせにより 様々な設定のもとで図を描くことができる 参考 URL : R-Tips グラフィックス篇 全般 この資料で紹介できるのは 一部の引数のみです 必要に応じて参考 URL を見ながら 試してみて下さい 目的 : 引数の指定の仕方を覚える 12

plot 関数で用いる引数 1 plot(x, y, xlim, ylim, main, xlab, ylab, type, cex) x : 横軸のデータ y : 縦軸のデータ xlim : 横軸の範囲 ylim : 縦軸の範囲 図の重ねがきでは特に注意 main : 散布図の上部にタイトルを付ける xlab : 横軸の名前を付ける ylab : 縦軸の名前を付ける 13

例 :xlim, ylim の設定 xlim=c(0,1) ylim=c(1,2) 指定なし xlim=c(-1,0) ylim=c(2,2.5) xlim=c(-1,3), ylim=c(1,4) 14

例 :xlab, ylab の設定 xlab= x 軸のラベル ylab= y 軸のラベル main= 図のタイトル 15

plot 関数で用いる引数 2 plot(x, y, xlim, ylim, main, xlab, ylab, type, cex) type = p, 指定なし : 点プロット type = l : 折れ線グラフ type = b : 点プロット + 折れ線グラフ type = c : b から点の除いたグラフ type = o : 点プロット + 折れ線グラフ ( 重ね書き ) type = h : 各点からx 軸までの垂線を描く type = s : 左側の値にもとづいて階段状のグラフを描く type = S : 右側の値にもとづいて階段状のグラフを描く type = n : 軸だけを描く ( 続けて低水準関数で作図する場合 ) cex = 数値 : 1を基準として プロットの拡大率を指定する 16

例 :type の設定 type= p type= o type= h type= l type= c type= n 17

例 :type, cex の設定 type= s cex=0.5 cex=3 type= S cex=1 cex=7 18

par 関数について プロット関数に直接指定できるものもある par(cex=,pch=, mfrow=, col=, ) pch= 数値 : 数値に対応したマークでプロット pch= 文字 : 指定した 文字 でプロット mfrow=c(m,n) : 一つの画面にm 行 n 列の図を行順に描く mfcol=c(m,n) : 一つの画面にm 行 n 列の図を列順に描く bg= color : 指定した color に対応した色でマークを塗りつぶす col= color : 指定した color に対応した色でマークの色を定める lty= 数値 : 数値に対応したタイプの線でグラフを描く lwd= 数値 : 数値に対応した太さの線でグラフを描く 19

pch の説明 引数 pch の数値とマークの対応 20

例 :pch の設定 (plot 関数に直接指定 ) pch=1 pch=7 pch=15 pch=3 pch=13 pch=19 21

mfrow, mcol の説明 mfrow と mfcol の違い 描画する順番 1 3 1 2 2 4 3 4 mfcol=c(2,2) mfrow=c(2,2) 22

例 :mfow, mcol の設定 1 par(mfcol=c(1,2)) plot(x, y, pch=3) plot(x, y, pch=7) mfcol=c(2,1) mfcol=c(1,2) 23

例 :mfow, mcol の設定 2 mfcol=c(2,3) 24

bg, col について col : マークの色を指定する引数 bg : マークを塗りつぶす色を指定する引数 pch の指定の仕方で これらの引数を使い分ける par(mfcol=c(2,3), mai = c(0.6, 0.5, 0.3, 0.2)) plot(x, y, bg=5, pch=21, cex=2) plot(x, y, bg="red", pch=21, cex=2) plot(x, y, col=5, pch=19, cex=2) plot(x, y, col="red", pch=21, cex=2) plot(x, y, bg="yellow", col="green", pch=21, cex=2) plot(x, y, bg="yellow", col="green", pch=19, cex=2) 25

例 :bg, col の設定 bg=5, pch=21 bg=5, pch=19 bg="yellow", col="green", pch=21 bg="red", pch=21 col= red, pch=21 26 26 bg="yellow", col="green", pch=19

lty について 線分のタイプの指定 lty=1 : 実線 lty=2 : ダッシュ lty=3 : ドット lty=4 : ドット + ダッシュ lty=5 : 長いダッシュ lty=6 : 二つのダッシュ par(mfrow=c(2,3)) for(i in 1:6){ plot(x, y, type="l", lty=i) } 27

例 :lty の設定 lty=1 lty=2 lty=3 lty=4 lty=5 lty=6 28

apply 関数の使い方 29

apply 関数 apply(x, MARGIN, FUN,...) X : 関数を適用するデータを指定する MARGIN : 関数を適用する範囲を指定する MARGIN = 1 : 行に関して関数を適用する MARGIN = 2 : 列に関して関数を適用する MARGIN = c(1, 2) : 各要素に対して関数を適用する FUN : 適用する関数を指定する x <- matrix(data=c(1,2,3,4), nrow=2, ncol=2, byrow=t) apply(x, MARGIN=1, mean) apply(x, MARGIN=2, mean) 30

apply 関数の適用例 x <- matrix(data=c(1,2,3,4), nrow=2, ncol=2, byrow=t) apply(x, MARGIN=1, mean) apply(x, MARGIN=2, mean) 31

プログラムの説明 : matrix 関数 matrix 関数 matrix(data, nrow, ncol, byrow) data : ベクトル形式で, 行列を構成する要素を与える nrow : 構成する行列の行数を指定する ncol : 構成する行列の列数を指定する byrow : T か F で指定する matrix(data=c(1,2,3,4), nrow=2, ncol=2) byrow=f 1 3 2 4 byrow=t 1 2 3 4 32

プログラムの説明 : apply 関数 引数 MARGIN の設定 行 に対して関数を適用 data apply(x=data, MARGIN=1, FUN=mean) 1 2 1.5 3 4 3.5 2 3 apply(x=data, MARGIN=2, FUN=mean) 列 に対して関数を適用 33

繰り返し 条件分岐の関数 34

繰り返し :for 文 for 文 R でもfor 文を使うことができます 書式 : for ( ループ変数 in 繰り返す範囲のリスト ){ 繰り返す命令 } R でのfor 文は繰り返しの範囲を柔軟に設定できます 例 : 次のプログラムの実行結果は 16 となる x <- 0 for(i in c(1,5,10)){ x <- x + i } x 35

例 :for 文 par(mfcol=c(2,3)) for(i in 1:6){ plot(x, y, type="l", lty=i) } プログラムの説明 1 行目 : 描画領域を2 行 3 列に分割する 2~4 行目 : i=1,2,3,4,5,6 に対して plot(x, y, type= l, lty=i) を行う 36

条件分岐 :if 文 if 文 R でもif 文を使うことができます 書式 : if( 条件式 ){ 条件式が真のときに適用する命令文 } else 文も使うことができますが 少し注意が必要です 次の記号で条件式を結ぶことにより 2つ以上の条件を指定することができる : または && : かつ 37

例 :if 文 マハラノビス距離による判別 kyo <- c(384, 244, 307, 82, 164, 106, 310) ma <- mahalanobis(kyo, A.mean, V) mb <- mahalanobis(kyo, B.mean, V) { if(ma-mb > 0){ print("b") } else{ print("a") } } 注意 38

関数の定義 39

関数の定義の仕方 : 例 基本的な書式 関数名 <- function( 引数 1, 引数 2, ){ 命令文 } 例 1 : 2 つの変数の和を求める関数 Sum2 <- function(a, b){ c <- a+b return(c) } 40

関数の使い方 例 1 : 2 つの変数の和を求める関数 Sum2 <- function(a, b){ c <- a+b return(c) } 実行例 Sum2(1, 2) 実行結果 : 3 Sum2(-2311, 452) 実行結果 : -1859 41

2 次元正規分布の密度関数 42

2 次元正規分布の描写 2 次元正規分布を描くプログラム x <- seq(-3,3,length=60) y <- x rho <- 0.5 gauss3d <- function(x,y) { temp1 <- 1/(2*pi*sqrt(1-rho^2)) temp2 <- exp(-(x^2-2*rho*x*y+y^2) / (2*(1-rho^2))) temp1 * temp2 } z <- outer(x,y,gauss3d) persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "lightblue") 43

プログラムの説明 1 x <- seq(-3,3,length=60) y <- x rho <- 0.5 seq 関数について seq(from=-3, to=3, length=60) -3から3までを60 分割する分点 y <- x ; rho <- 0.5 yにxを代入し, 2 次元正規分布における相関係数を0.5とする 44

プログラムの説明 2 gauss3d <- function(x,y) { temp1 <- 1/(2*pi*sqrt(1-rho^2)) temp2 <- exp(-(x^2-2*rho*x*y+y^2) / (2*(1-rho^2))) temp1 * temp2 } 2 次元正規分布の密度関数 ( 平均 0, 共分散行列 = 単位行列 ) temp1 temp2 temp1 * temp2 45

プログラムの説明 3 z <- outer(x, y, gauss3d) persp(x, y, z, theta = 30, phi = 30, expand = 0.5, col = "lightblue") outer 関数について outer(x, y, 関数 ) xとyの全ての組み合わせに対して関数を適用する outer(x, y, gauss3d) xとyの全ての組み合わせに対して2 次元正規分布の密度を得る persp 関数について persp(x, y, z) とすることで3 次元プロットを行う関数 引数 theta, phi, expand, col は見栄えを整えるためのもの 46

2 次元正規分布のグラフ 47