2010「データ解析環境Rの整備と利用」

2010「データ解析環境Rの整備と利用」 のプログラム「国内ユーザによる報告(Rユーザー会)」に参加。 プログラム: 11月27日(土) 9:50 – 17:30 09:50-10:00 開会挨拶および諸連絡 10:00-10:30 鈴木 了太(株式会社ef-prime)Rによるデータ解析ツールの新提案 10:30-11:00 長島 健悟(城西大学)Rパッケージの開発・登録とメンテナンス 11:00-11:30 青木 繁伸(群馬大学)統計学・データ解析におけるRの活用 11:30-11:40  岡田 昌史(筑波大学)『Rパッケージ本』プロジェクトのご紹介 11:40-13:00   昼食 13:00-13:30 村井 潤一郎(文京学院大学)心理統計教育におけるRの利用 13:30-14:00 里 洋平(Tokyo.R)地域コミュニティ「x.R」の活動とJapan.R 14:00-14:30 牧山 文彦(データキューブ株式会社)今更ながらのrcom/DCOM解説 14:30-15:00 合崎 英男(農村工学研究所)RExcelによるデータ解析 15:00-15:30 休憩 15:30-16:00 奥村 晴彦(三重大学)TeX+Rによる美文書・美グラフ作成 16:00-16:30 山本 義郎(東海大学)Rによるデータの視覚化について 16:30:-17:00 谷村 晋(兵庫医科大学)Rを用いたデータ分析における再現性の保証 17:00-17:30 討論 09:50-10:00 開会挨拶および諸連絡 去年は昨年よりたくさんの人に集まってくださり、、、みたいな話。 10:00-10:30 鈴木 了太(株式会社ef-prime)Rによるデータ解析ツールの新提案 以下の2製品(クライアントアプリ)の紹介 R AnalyticFlow(分析過程をフローチャートで可視化) Natto R とクライアントアプリとのブリッジには JRI を利用している。 10:30-11:00 長島 健悟(城西大学)Rパッケージの開発・登録とメンテナンス Windows環境でのパッケージングの話。 最後のほうは、メッセージの多言語化の話もある。 作者自身のスライド 作者自身のブログ QA:ヘルプの多言語化はできるのか?Continue reading “2010「データ解析環境Rの整備と利用」”

Prospects and Challenges for CRAN at ISM

14:10-15:10 Prospects and Challenges for CRAN  — with a glance on 64-bit Windows binaries by Uwe Ligges Prof. Uwe Ligges (Technische Universitat Dortmund, Germany) R のパッケージ登録・管理にまつわる話。 R パッケージのレポジトリ * cran * bioconductor * Omega Hat * R-Forge パッケージが更新されるたびに、依存パッケージに影響がでていないか、テストする必要がある。 依存関係は次の2種類がある。 * 他のパッケージを依存している * 他のパッケージから依存されている 中でも、次の2つのパッケージは多くのパッケージから依存されている。 MASS survival 依存テストでエラーがあると、メール通知される。 CRAN Package Check Results (WEBのテスト結果画面) 2008 年までは、多くの依存関係があるパッケージも、こけることはなかった。原因不明 近年は、エラーになるパッケージが多い。Continue reading “Prospects and Challenges for CRAN at ISM”

Tutorial of ggplot2 by Hadley Wickham at ISM

大学共同利用機関法人 情報・システム研究機構 統計数理研究所(The Institute of Statistical Mathematics)で開催された R のグラフィックパッケージggplot2 の作者本人によるチュートリアルに参加。 Speaker Prof. Hadley Wickham (Rice University, USA) Prof. Uwe Ligges (Technische Universitat Dortmund, Germany) Program 25 November (Thu) 10:30 – 17:00 10:30-12:00 Tutorial of ggplot2 (1) by Hadley Wickham 12:00-13:00 Lunch 13:00-14:00 Tutorial of ggplot2 (2) by Hadley Wickham 14:10-15:10 Prospects and Challenges for CRAN –Continue reading “Tutorial of ggplot2 by Hadley Wickham at ISM”

[R]Play with ggplot2 Part 01 “barplot”

ggplot2 になれるために、いろいろいじってみる。 National Cancer Institute で公開されている “Epidemiology and End Results (SEER) “ のデータをもとに、以下をグラフ化。 5-Year Relative Survival (Percent) by Year of Diagnosis(5年相対生存率) Stage Distribution (%) 1999-2006c, Case Counts and Percentages(発見時のステージ分布) 5-Year Relative Survival (Percent) 1999-2006c by Stage at Diagnosis (ステージ別5年相対生存率) 選んだ癌は次の3つ。(深い意味なし) Lung and Bronchus Pancreas Liver and Intrahepatic Bile Duct 5-Year Relative Survival (Percent) by YearContinue reading “[R]Play with ggplot2 Part 01 “barplot””

[R]2 axes plotting in R

R でY軸に左右ことなるスケールのグラフをプロットする方法 標準グラフライブラリ版 データフレームで A, B, C の3つの変数があったとき、 AxB, AxC をプロットしたいとする。 手順としては、次のようにする。 AxB をプロット C の定義式を B に合わせるように変換 変換した C の定義域を利用して AxC をプロット Yの右軸にCの定義式でスケールをふる 手順(3) では B in [a, b] の場合 y = a + (b-a) * x, x in [0,1] として y in [a, b] となるようにパラメータ変換する。 datasets.longley を利用すると、次のような感じになる。 plot(longley$Year, longley$Employed, type=’l’) temp1 <- range(longley$Employed)Continue reading “[R]2 axes plotting in R”

[R]viewports’ grid in ggplot2

R の ggplot2 でレイアウトをグリッド分割し、各グリッドに対してプロットする方法。 次のように、まずグリッド分割し、セルを指定してプロットしていけばよい。 grid.newpage() pushViewport(viewport(layout = grid.layout(2, 3))) print(qplot(speed, dist, data=cars), vp=viewport(layout.pos.row = 1:2, layout.pos.col = 1)) print(qplot(log(speed), log(dist), data=cars), vp=viewport(layout.pos.row = 1, layout.pos.col = 2:3)) print(qplot(speed, dist, data=cars), vp=viewport(layout.pos.row = 2, layout.pos.col = 2)) print(qplot(log(speed), log(dist), data=cars), vp=viewport(layout.pos.row = 2, layout.pos.col = 3)) Hadley Wickham の “Ggplot2: Elegant Graphics for Data AnalysisContinue reading “[R]viewports’ grid in ggplot2”

[R]Monte Carlo Method による円周率計算

お仕事で Monte Carlo 法でシミュレーションをやってほしいという話があったので(その後、流れたけど)、wikipedia の最初の数十行だけお勉強。 モンテカルロ法の概要 Define a domain of possible inputs. Generate inputs randomly from the domain using a certain specified probability distribution. Perform a deterministic computation using the inputs. Aggregate the results of the individual computations into the final result. このアルゴリズムを利用し、円周率を求めるには次のようにする。 1辺2の正方形を描く その中に単位円を描く 4分割し、右上のブロックにランダムに点を打っていく。 打った点の数と単位円のなかにある点の数から円周率を求める。 # イメージ図 円周率をもとめるのは Monte Carlo 法の Hello WorldContinue reading “[R]Monte Carlo Method による円周率計算”

[R]ベクトルに対してNAをまとめて代入する方法

R でベクトルに対して NAをまとめて代入する方法。 NA の判定方法を調べていた時に (is.na(elm) を利用する)、マニュアルを読んでいて見つけた。 方法 次のようにする is.na(対象のベクトル) <- ベクトル内でのインデックス ※このシンタックスは R に慣れた人でないと、思い浮かばないのではないかと思う。 マニュアルから The generic function is.na<- sets elements to NA. 例 > (xx <- c(0:4)) [1] 0 1 2 3 4 > is.na(xx)<- c(2, 4) > xx [1] 0 NA 2 NA 4 次のようにベクトル以外にも適用できる > (foo <- ‘bar’) [1] “bar” >Continue reading “[R]ベクトルに対してNAをまとめて代入する方法”

[R]ベクトルの一番最後のオブジェクトを取り出す

R でベクトルの一番最後のオブジェクトを取り出す方法。 > x <- 1:5 > x [1] 1 2 3 4 5 このベクトル x から最後の[5]を取り出したい。R ではこれを一発で実現する方法がないようだ。 次の23通りがある。 x[length(x)] tail(x, n=1) UPDATE コメント投稿していただいたように rev(x)[1] とする方法もある R でベクトルの最後から2つ目のオブジェクトを取り出す方法 同様に、最後から2つ目のオブジェクトも取り出せる x[length(x)-1] head(tail(x, n=2), 1) # 少し苦しい、、、 rev(x)[2] Python Version 一方 Python の場合 x[-1] とすればOK. R でベクトルのインデックスでマイナスを使うと、除外の意味になるので注意が必要。 > x[-1] [1] 2 3 4 5 > x[-1:-3] [1]Continue reading “[R]ベクトルの一番最後のオブジェクトを取り出す”

[R]numericとfactorの相互変換

背景 R で read.csv  したデータに対して as.numeric(val) < n のような評価をしていたら、期待と全く異なる結果が返ってきた。 数値(numeric)がカテゴリーデータ(factor) として取り込まれているのが原因だった。 というわけで numeric <-> factor の相互変換の方法を調査。 numeric -> factor の変換 factor への変換は、素直に factor を使う。 # numeric なベクトルをつくる > size <- c(8, 7, 5, 7, 8) > size [1] 8 7 5 7 8 > class(size) [1] “numeric” > as.numeric(size) [1] 8 7 5 7 8Continue reading “[R]numericとfactorの相互変換”