「R入門」 第1章: 紹介と準備 (思い切って簡単に) 第2章: 簡単な操作 10月10日(金) 発表者 新納浩幸.

Slides:



Advertisements
Similar presentations
「 R 入門」 第6章:リストとデータフレーム 6.3 データフレーム 発表日:10月30日 担当者:脇坂恭志郎.
Advertisements

1 情報基礎 A プログラムやソフトウエアの 構造 徳山 豪 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
2.5 プログラムの構成要素 (1)文字セット ① ASCII ( American Standard Code for Interchange ) JIS コードと同じ ② EBCDIC ( Extended Binary Coded Decimal for Information Code ) 1.
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
復習 配列変数の要素 5は配列の要素数 これらの変数をそれぞれ配列の要素と呼ぶ この数字を配列の添え字,またはインデックスと呼ぶ
情報・知能工学系 山本一公 プログラミング演習Ⅱ 第3回 配列(1) 情報・知能工学系 山本一公
第10章:自分自身の関数を書く 10月31日(金) 発表者:紺野憲一
初年次セミナー 第8回 データの入力.
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
「わかりやすいパターン認識」 第1章:パターン認識とは
JavaScript プログラミング入門 2006/11/10 神津.
京都大学情報学研究科 通信情報システム専攻 湯淺研究室 M2 平石 拓
コンパイラ 2011年10月17日
C言語 配列 2016年 吉田研究室.
プログラミング言語としてのR 情報知能学科 白井 英俊.
1.1 C/C++言語 Hello.ccを作りコンパイルしてa.outを作り出し実行する
12.3,E,-15, 12.3,E5,+,=, >,<,…,
ファーストイヤー・セミナーⅡ 第8回 データの入力.
数値計算及び実習 第3回 プログラミングの基礎(1).
地理情報システム論 第3回 コンピュータシステムおける データ表現(1)
第2回:Javaの変数と型の宣言 プログラミングII 2007年10月2日.
構造体.
条件式 (Conditional Expressions)
問題 1 キーボードから入力した数の合計を計算するプログラムを 作成せよ。最初に、何個の数を入力するかその数を入力 するようにする。
コンパイラ 2012年10月15日
13 Microsoft Word(4) 13.1数式の入力 Microsoft 数式の起動
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
シミュレーション演習 G. 総合演習 (Mathematica演習) システム創成情報工学科
第8章 Web技術とセキュリティ   岡本 好未.
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
MATLAB測位プログラミングの 基礎とGT (2)
アルゴリズムとプログラミング (Algorithms and Programming)
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
R:追加問題の解答 新納浩幸.
情報処理概論Ⅰ 2007 第5回 2019/4/7 情報処理概論Ⅰ 第5回.
4.リスト,シンボル,文字列.
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
実数列を生成する際の注意 数学関数の利用 Excel によるリサージュ図形描画 Excel による対数グラフ描画
C言語 はじめに 2016年 吉田研究室.
2007/6/12(通信コース)2007/6/13(情報コース) 住井
統計ソフトウエアRの基礎.
第1章 いよいよプログラミング!! ~文章の表示 printf~
基礎プログラミング演習 第6回.
オブジェクト指向言語論 第三回 知能情報学部 新田直也.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
プログラミング入門 電卓を作ろう・パートI!!.
計算機プログラミングI 第3回 プリミティブ値 クラスメソッド クラス変数 式と演算 変数の利用
ウェブデザイン演習 第6回.
~sumii/class/proenb2010/ml2/
忙しい人のためのR/Bioconductorの基礎
C言語講座 制御(選択) 2006年 計算技術研究会.
2006/6/27(通信コース)2006/7/5(情報コース) 住井
精密工学科プログラミング基礎 第7回資料 (11/27実施)
1.Scheme の式とプログラム.
実数列を生成する際の注意 数学関数の利用 Excel によるリサージュ図形描画 Excel による対数グラフ描画
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
コンパイラ 2012年10月11日
岩村雅一 知能情報工学演習I 第8回(後半第2回) 岩村雅一
岩村雅一 知能情報工学演習I 第8回(C言語第2回) 岩村雅一
PROGRAMMING IN HASKELL
精密工学科プログラミング基礎Ⅱ 第2回資料 今回の授業で習得してほしいこと: 配列の使い方 (今回は1次元,次回は2次元をやります.)
エクセル(3)の目次 参照演算子と演算子 参照セルの表示法 セルの参照方法 エラーについて シグマ(Σ)関数 条件付書式 問題(1)
プログラミング基礎a 第5回 C言語によるプログラミング入門 配列と文字列
プログラミング入門2 第5回 配列 変数宣言、初期化について
プログラミング基礎a 第3回 C言語によるプログラミング入門 データ入力
第2章 数値の入力と変数 scanfと変数をやります.
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
第1章 printf(“文字の出力\n”);
Presentation transcript:

「R入門」 第1章: 紹介と準備 (思い切って簡単に) 第2章: 簡単な操作 10月10日(金) 発表者 新納浩幸

Rとは データ操作,計算,グラフ表示のソフト 一般的には統計解析ソフトとして利用 特徴 ・統計解析ソフト S とほぼ同じ操作体系と処理が可能 世界最高の統計解析ソフト ・フリー

プログラム言語としてのR プログラム言語の1つと捉えた方がわかりやすい プログラム言語の各々は主に対象とする分野が存在する C: 制御用 Fortran: 数値計算用 Lisp: 記号処理用 Java: ネットワーク用 R: データ解析用 データをひとつのオブジェクトとみなし, そのオブジェクトに対して一連の処理が可能

プログラム言語が動く環境 あるプログラム言語で作成されたプログラムは ある環境で動く C : Cコンパイラーが動く環境の上で動く Lisp: Lisp 環境の上で動く Prolog: Prolog 環境の上で動く Bash: UNIX 環境の上で動く VBA: Office の上で動く etc R : Rの環境の上で動く

最低これだけは知らないとダメ Rはインタプリンタ (1) 対話的な操作 (2) 変数の型宣言などない (3) オブジェクトを作り、名前をつける(変数化する) (4) オブジェクトへは名前を介してアクセスできる (5) 変数名(+リターン)でそのオブジェクトが表示される (6) 変数化されたオブジェクトは明示的に消さなかぎり残り、 環境内でいつでも参照可能

R(R環境)の起動と終了 問題ごとに作業ディレクトリを作る 起動は作業ディレクトリの下で Linux> R 終了は R 環境の中で > q() 環境を保存するかどうか聞かれる.通常保存する.

ヘルプ > help(関数名) 例) > help(max) R環境内でマニュアルを参照できる > help(関数名) 例) > help(max) > help.start() ### マニュアルがブラウザで見れる R環境内で使用例を調べられる > example(トピック名) 例) > example(max)

大文字と小文字の区別等 *Rでは大文字と小文字は区別される *変数名、関数名は英数字からなる . (ドット)も使える 数字で始まってはダメ _ (アンダーバー)は使ってはダメ *コメントは # *文は ; か改行(; を使って複数の文が1行に書ける) *{} で複数の文を1文にまとめられる

命令の編集 Emacs ライクな操作、、、 カスタマイズも可能 (らしい)

ファイルから/への入出力 入力 x ← 1:10 y ← mean(x) 出力 出力をファイル kekka へ 出力をR環境内へ 例) commads.r として以下の内容のファイルを作成する x ← 1:10 y ← mean(x) > source(“commands.r”) > y [1] 5.5 出力 出力をファイル kekka へ > sink(“kekka”) > y > sink() 出力をR環境内へ

データの保存と削除 R終了時にデータを保存した場合 R環境内で作ったデータや命令の履歴が .Rdata と .Rhistroy に保存される。 次にRを起動すると自動的に終了時の状態になる どのようなデータが残っているかを見るには? > objects() データを削除するには > rm(オブジェクト名)

ベクトルと付値 5次元ベクトル x =(10.4, 5.6, 3.1, 6.4, 21.7) の実現 x ← c(10.4, 5.6, 3.1, 6.4, 21.7) 関数 c が基本 以下の使い方も注意 y ← c(x,0,x) y =( 10.4, 5.6, 3.1, 6.4, 21.7, 0, 10.4, 5.6, 3.1, 6.4, 21.7 ) x x となる

ベクトル演算(1) +, -, log, exp, sin, cos, tan, sqrt, max, min, sum, prod, length, var ...... 各々の関数の働きは概ね予想通り 1次元の関数はベクトルの各要素に作用する x ← c(1, 3, 5, 9) y ← sqrt(x) y = (1.00, 1.73, 2.23, 3.00)

ベクトル演算(2) 次元数の違うベクトルの演算は必要な分だリサイクルされる x ← c(1, 2) y ← c(3,4,5,6,7) z ← x+y z = (4, 6, 6, 8, 8) x ← c(1, 2) y ← c(3,4,5,6,7) z ← x+y-1 z = (3, 5, 5, 7, 7)

ベクトル演算(3) 行列に対してどのような結果が返るかは注意 特に、、、var() 「パターン認識」で頻出している x が n 行 p 列の行列の時、var(x) は p 行 p 列の共分散行列になる 「パターン認識」で頻出している 忘れている人はチェック!!! ただし標本に基づいているので、 サンプル数はマイナス1されることに注意

規則的な数列の生成 コロン演算子は優先順位が最も高い 関数 seq() の利用 関数 rep() の利用 x ← 3:10 x ← seq(2,10) x ← 2:10 と同じ x ← seq(2,10, by=3) x = (2, 5, 8) 関数 rep() の利用 x = (2, 3, 4) y = (2, 3, 4, 2, 3, 4, 2, 3,4) x ← 2:4 y ← rep(x,times=3) x x x

論理ベクトル 論理演算子 <, <=, >, >=, ==, !=, ! (否定), & (論理積), | (論理和) 論理演算子による結果は TRUE あるいは FALSE x ← 13 > 10 x = TRUE x ← 1:10 y ← x > 5 y = (FALSE, FALSE, FALSE, FALSE, FALSE, TRUE, TRUE, TRUE, TRUE, TRUE)

欠損値と非数 NA 欠損値を表す(現実のデータには欠損値がある) NA に対する操作の結果は NA とりあえず NA は考えなくてよいと思う NA 欠損値を表す(現実のデータには欠損値がある) NA に対する操作の結果は NA とりあえず NA は考えなくてよいと思う NaN 非数を表す(0/0 と Inf – Inf ) x ← 1/0 y ← 0/0 z ← x – x w← c(x,y) xp ← is.nan(x) yp ← is.nan(y) zp ← is.nan(y) wp ← is.nan(wp) x = Inf, y = NaN, z = NaN, w = (Inf, NaN) xp = FALSE, yp = TRUE, zp = TRUE, wp = (FALSE, TRUE)

文字ベクトル 文字を要素とするベクトル、文字は二重引用符で囲む paste 関数、、文字列を連結する リサイクルされていることに注意 x ← c(“shinnou”, “iwasaki”, “sasaki”, “konno”) paste 関数、、文字列を連結する y ← paste(x,1:5,sep=“$”) y = (“shinnou$1”, “iwasaki$2”, “sasaki$3”, “konno$4”, “shinnou$5”) リサイクルされていることに注意

添え字ベクトル(1) ベクトルの一部分を指定するベクトル。 [ ] で指定される。 4つのタイプが存在する。 注意 (1) 論理ベクトル z = (8, 9, 10, 11,12) ではない (1) 論理ベクトル x ← 1:10 y ← x[x > 7] z ← (x + 2)[x > 7] y = (8, 9, 10) z = (10, 11, 12) (2) 正の整数値ベクトル x ← 2:10 y ← x[3:5] x = (2,3,4,5,6,7,8,9,10) y = (4, 5, 6)

添え字ベクトル(2) (3) 負の整数値ベクトル (4) 文字ベクトル 正の逆、正で取り出されないものを取り出す x ← 2:10 y ← x[-(3:5)] x = (2,3,4,5,6,7,8,9,10) y = (2, 3, 7, 8, 9, 10) (4) 文字ベクトル オブジェクトが名前属性を持つときに、その文字で示された 名前をもつものを取り出す。先の学習になるので省略。

宿題 (1) (2) (3) ヒント: (2)、(3)はそのようなベクトルを作り、 sum や length を利用すればよい。 [ “X1”, “X2”, ..., “X100”, “Y1”, “Y2”, ..., “Y100”, “Z1”, “Z2”, ..., “Z100” ] という300次元のベクトルを作成せよ。 (2) 100 から 200 までの整数値の総和を求めよ。 (3) 10000 ~ 100000 の整数の中で、13の倍数の数値はいくつあるかを 調べよ ヒント: (2)、(3)はそのようなベクトルを作り、 sum や length を利用すればよい。 〆切: 10月15日(水) 17:30 まで