12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと

2,004 views

Published on

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,004
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと

  1. 1. 12/11/16初めてのRR を始める前に知っておきたい 10 のことR を始める前に知っておきたい 10 のことR を始める前に知っておきたい 10 のこと そんなに知る必要はなかったかもし そんなに知る必要はなかったかもし れません… れません…@yuifu
  2. 2. Rはとっつきやすい• Rは CUI とかプログラミングをあまりや ったことない人でも使える • パッケージが充実 • 生物系や人文系も使う(統計に必要 だからといった理由) • ネットでドキュメントも充実http://www.flickr.com/photos/geekdreams/4981490170/in/photostream
  3. 3. トラブルもある…• Rを扱うのに情報系の知識がないと トラブルに陥りがち • マニュアル通りにできればいいけ どエラーに対応できない • Rの中身,言語の特性を知ってい れば色々捗るhttp://www.flickr.com/photos/geekdreams/4980887029/
  4. 4. 知っておくと便利なことがある• 本発表では, • プログラミングとかコマン ド入力に不慣れな人が • Rを始める上で知っておく と色々捗るぞ • なことを概説するhttp://www.flickr.com/photos/geekdreams/4980892135/in/photostream
  5. 5. 今日の内容1 . 代入2. データ型3. データ構造4. 引数と戻り値5. ディレクトリ6. データの入出力7. デフォルト8. 実行される順番9. RStudio1 0.ヘルプhttp://www.flickr.com/photos/geekdreams/4982938127/sizes/l/in/photostream/
  6. 6. 代入• 変数に値を入れることを代入という 1 • 容れ物 <- 入れたいもの x <- 1 > result <- t.test(a, na.action=T)> result One Sample t-testdata: a t = 5.7446, df = 9, p-value = 0.0002782alternative hypothesis: true mean is not equal to 0 95 percent confidence interval: 3.334149 7.665851 sample estimates:mean of x 5.5
  7. 7. データ型• Rではすべてがオブジェクト 2 • それぞれのオブジェクトが1つの クラスに属する class( ) • オブジェクトには長さがある > (x <- matrix(0, 2, 3)) [,1] [,2] [,3] length( ) [1,] 0 0 0[2,] 0 0 0> class(x)[1] "matrix"> mode(x)[1] • すべてのオブジェクトにはデータ "numeric"> length(x)[1] 6 型またはモードがある mode( )
  8. 8. データ型• atomic なデータ型( type ) 2 • NULL: 空の値 • logical: 論理値( TRUE/FALSE/NA ) • numeric: 整数・実数 > (x <- matrix(0, 2, 3)) [,1] [,2] [,3] [1,] 0 0 0[2,] 0 0 0> • complex: 複素数 class(x)[1] "matrix"> mode(x)[1] • character: 文字・文字列 "numeric"> length(x)[1] 6• 下のデータ型は上のデータ型を表現可能 • 下のデータ型を上のデータ型に変換する と情報の損失がおこる• あと factor (カテゴリカル変数)も
  9. 9. データ型• あるデータ型のオブジェクトをつく 2 る • numeric( ) など• あるデータ型かどうかを確かめる > (a <- numeric(1))[1] 0> • is.numeric( ) など is.character(a)[1] FALSE> is.logical(a)[1] FALSE> is.numeric(a)• データ型を変換する [1] TRUE> b <- 3.14> as.logical(b)[1] TRUE • as.numeric( ) など > b * 5[1] 15.7> as.logical(b) * 5[1] 5> as.character(b)[1] "3.14"
  10. 10. データ構造• データ構造 : 色んなデータ型のオブジェクトを集めたもの 3• 同じデータ型のオブジェクトのみから成るもの • ベクトル vector : 1 次元 • 行列 matrix : 2 次元 • 配列 array : 多次元• 異なるデータ型のオブジェクトから成るもの • リスト list : 何でも • データフレーム data frame : 特殊なリスト(各要素は同じ長さのベクト ル)
  11. 11. データ構造• つくりかた 3 • ベクトルは色々 • c( ) • rep( ) > (x <- c("Alice", "Bob"))[1] "Alice" "Bob" > (a <- matrix(1:10, 2, 5)) [,1] [,2] [,3] [,4] [,5][1,] 1 3 5 7 9[2,] 2 4 • seq( ) 6 8 10 > (l <- list(c(1,2,3,4), matrix(1:4, 2, 2)))[[1]][1] 1 2 3 4[[2]] [,1] [,2][1,] 1 3[2,] • matrix( ) 2 4 > (d <- data.frame(name = c("Nobita", "Takeshi", "Shizuka"), sex=c("M", "M", • array( ) "F"), age = c(11, 12, 11))) name sex age1 Nobita M 112 Takeshi M 123 Shizuka F 11 • list( ) • data.frame( )
  12. 12. データ構造• 要素へのアクセス 3 • ベクトル : x[1] • 行列 : x[1, 2] • 配列 : x[1, 2, 2] > x[1][1] "Alice" • リスト : x[[1]] > a[1,2][1] 3 > l[[1]][1] 1 2 3 4> l[[1]][2][1] 2 • データフレーム : 色々 > d[[1]][1] Nobita Takeshi ShizukaLevels: Nobita Shizuka Takeshi> d[1] name1 Nobita2 Takeshi3 Shizuka> d[1,2][1] MLevels: F M
  13. 13. 引数と戻り値• 引数 augment 4 • 関数に与える設定値(パラメータとも) • 「ひきすう」と読む > t.test(a, na.action=T) One Sample t-• 戻り値 return value testdata: a t = 5.7446, df = 9, p-value = 0.0002782alternative hypothesis: true mean is not equal to 0 95 percent confidence interval: • 関数が返す値(計算結果とか) 3.334149 7.665851 sample estimates:mean of x 5.5
  14. 14. ディレクトリ• 「なぜ ここにいる?」 5 • R を実行するとき,ツリー構造のどこかに必ずいる(作業ディレクト リ) • ディレクトリ構造はツリーで表される• 「でも僕は分からない僕はどこにいるんだ僕って何なんだ僕って何なん だ!」 • 作業ディレクトリの確認 : getwd( )• 「僕はここにいてもいいんだ!」 > getwd()[1] "/Users/haruka" • 作業ディレクトリの変更 : setwd( ) > setwd("Dropbox/")> getwd()[1] "/Users/haruka/Dropbox"> setwd("/Users/haruka/")
  15. 15. データの入出力• 入力 6 • read.table(“ ファイルへのパス” , header=T, sep=”,”) • 表形式を想定 • エラーが出たら,どこかが表形式になっていない• 出力 • write.table( オブジェクト,”出力ファイルのパス” , sep=”t”)
  16. 16. デフォルト• こちらで指定しないと自動的に設定される引数がある(デフォルト設定) 7 • なんかうまくいかなかったらデフォルトをチェックしてみてもいいかも read.table(file, header = FALSE, sep = "", quote = """, dec = ".", row.names, col.names, as.is = !stringsAsFactors, na.strings = "NA", colClasses = NA, nrows = -1, skip =0, check.names = TRUE, fill = !blank.lines.skip, strip.white = FALSE, blank.lines.skip = TRUE, comment.char = "#", allowEscapes = FALSE, flush = FALSE,stringsAsFactors = default.stringsAsFactors(), fileEncoding = "", encoding = "unknown", text)
  17. 17. 実行される順番• 複数のコマンドをどういう順番で実 8 行するか• 逐次処理 : 普通に実行• if 文:条件式が真であると中身を実行• ループ制御 > a <- 1; a <- a + 1;> a[1] 2 • for 文 : ベクトルで条件を指定 > if(FALSE){1}else if(TRUE){2}else{3}[1] 2 • while 文:条件式をループごとに > x <- 0> for(i in 1:10){+ x <- x + i+ }> x[1] 55 評価する > while(x>0){+ x <- x -10+ }> x[1] -5 • 制御語 : repeat, next, break
  18. 18. RStudio• R の開発環境• http://www.rstudio.org• エディタでスクリプト書い てコピペするより便利
  19. 19. RStudio• R の開発環境 9• http://www.rstudio.org• エディタでスクリプト書い てコピペするより便利
  20. 20. RStudio• R の開発環境 9• http://www.rstudio.org• エディタでスクリプト書い てコピペするより便利• コンソール : R のコマンド を実行するところ• ワークスペース : オブジェ クトが保持されているとこ ろ
  21. 21. ヘルプ• ? ほげ 10• ヘルプの構造 > ?boxplot > help(boxplot) • Description: 簡単な説明 • Usage: 使い方( formal な記述) • Arguments: 引数(パラメタ) • Details: 詳細な説明(補足) • Value: どんな値を返すか • References: 参考文献 • See Also: 関連する関数など • Examples: 使い方の例
  22. 22. ヘルプ• ? ほげ 10• ヘルプの構造 • Description: 簡単な説明 • Usage: 使い方( formal な記述) • Arguments: 引数(パラメタ) • Details: 詳細な説明(補足) • Value: どんな値を返すか • References: 参考文献 • See Also: 関連する関数など • Examples: 使い方の例
  23. 23. ヘルプ• ? ほげ 10• ヘルプの構造 • Description: 簡単な説明 • Usage: 使い方( formal な記述) • Arguments: 引数(パラメタ) • Details: 詳細な説明(補足) • Value: どんな値を返すか • References: 参考文献 • See Also: 関連する関数など • Examples: 使い方の例
  24. 24. ヘルプ• ? ほげ 10• ヘルプの構造 • Description: 簡単な説明 • Usage: 使い方( formal な記述) • Arguments: 引数(パラメタ) • Details: 詳細な説明(補足) • Value: どんな値を返すか • References: 参考文献 • See Also: 関連する関数など • Examples: 使い方の例

×