[R]Draw Mt. Fuji in R

はてなをみてたら、過去に静岡大学で出題されたという数学の問題がたくさんブックマークされていた。 正しくグラフを描くと富士山が浮かびあがる。 現実逃避に R で書いてみた。 # normal R version f <- function(x) { ifelse (abs(x) <= 1, (x ^ 4 – x ^ 2 + 6), 12 / (abs(x) + 1)) } g <- function(x) { ifelse (abs(x) <= 2, (0.5 * cos( 2 * x * pi) + 7/2), NA) } plot(c(-8, 8), c(-4,Continue reading “[R]Draw Mt. Fuji in R”

[R]Play with ggplot2 Part 02 “error bar”

ggplot2 になれるために、いろいろいじってみる。今回のテーマは error bar。mean は geom_bar/geom_point それぞれでグラフ化。 国立がん研究センターのがん情報サービスで公開されている 5年相対生存率 のデータをもとに、以下をグラフ化。 部位別がん患者5年相対生存率(主要部位) 部位別がん患者5年相対生存率(詳細部位) 出典 厚生労働省がん研究助成金「地域がん登録精度向上と活用に関する研究」平成16年度報告書 Tsukuma H, Ajiki W, Ioka A, Oshima A, and Research Group of Population-Based Cancer Registry of Japan, Survival of cancer patients diagnosed in 1993-96: collaborative study of population-based cancer registries in Japan, Japanese Journal of Clinical Oncology, 36: 602-607, 2006 部位別がん患者5年相対生存率(主要部位)Continue reading “[R]Play with ggplot2 Part 02 “error bar””

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]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]ベクトルに対して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の相互変換”

[R]2項分布-超幾何分布-Poisson分布-正規分布の関係

「キーポイント確率統計 (理工系数学のキーポイント)」という本 で説明されている 2項分布-超幾何分布-Poisson分布-正規分布の関係を R で視覚化。P.41にこれら4つの相互関係が図式化されている。実際に手を動かしたほうが理解も深まるしね、、、 2項分布と超幾何分布 「ポイント3:2項分布は「確率論」の始め」 P.40 図3.8/3.9 より。 を一定にしたまま の極限をとると超幾何分布は2項分布 B(n, p) になる。 近似前 近似後 2項分布とPoisson分布 「ポイント4:まれな現象はポアソン分布」 P.52 図4.3 より を保ったまま とすればよい。 2項分布と正規分布 「ポイント5:正規分布はなぜ重要か」 P.72 図5.9 より が成り立ち、対応する正規分布の平均・分散は2項分布の平均 , 分散 に一致する。 グラフ生成用コード 2項分布と超幾何分布 # P.40 – Graph 3.8 png(file=”binomialxhyper-geometric1.png”) par(mfcol=c(1, 2)) plot(0:4, dhyper(0:4, 4, 6, 4), type=”h”, main=”HG(4, 6, 4)”) plot(0:4, dbinom(0:4, 4,Continue reading “[R]2項分布-超幾何分布-Poisson分布-正規分布の関係”