2011-01-01から1年間の記事一覧

水準ごとに回帰をかける

以下を参照。 http://stackoverflow.com/questions/7523427/ddply-with-lm-function 一旦回帰の結果をリストに入れて、coefやらanovaで目的のものを引き出すという感じ。 res <- dlply(iris, .(Species), lm, formula = Sepal.Length~Sepal.Width) coefs <- …

ATNDに登録されているtwitterIDからプロフィールを取得する

R

勉強会にどんな人が来ているか知りたい場合登録されているtwitterIDからプロフィールを調べるのが手っとり早いが一件一件調べるのはめんどくさいしそこまで俺は他人に興味がない。従って一覧でそういうのがゲットできると嬉しいのでRで書いた。 getATNDprof …

Rで条件付き書式(R Advent Calendar 2011)

R Advent Calendar 2011 も3日目ということで私にも順番が回ってきた。 ということで更新。RとエクセルをつなぐパッケージとしてXLConnectという便利なものがある。 以前Tokyo.Rで少し紹介したのだが、めんどいので書式指定の話については触れなかった。 htt…

reshape2で5秒くらいはまった

R

Rでピボットテーブルを実現するためのreshape2パッケージについてはid:a_bickyさんの素晴らしい解説資料がある。 http://www.slideshare.net/abicky/r-10128090/これを読んで、ヒャッハアアアアアアアという感じでクロス集計をかけまくろうとしたわけです。 library(res…

ggplot2で関数を描画

通常、関数描画はcurve関数を使えば良い。 curve(x^2, -3, 3) curve(dnorm, -3, 3) これをggplot2で実現するためにはstat_functionを使えば良いが少しトリッキー。 定義域を一旦描画してgeom_blankで消した後、stat_functionで関数を描画する。 library(ggpl…

ニュートン法で解を求める

R

機械学習を勉強していると最適化の話がポンポン出てくる。 字面だけみてわかった気になるのだが実装してみないことにはどこまで理解してるのか怪しい。 ということでまずは簡単そうなニュートン法を実装してみた。 # 関数を定義 txt <- "x^3 + 2*x^2 + 3*x +…

R2.14.0でグラフィックス周りが少し充実したよ(windowsの話)

R

R2.14.0がこないだリリースされ、世間は並列処理やらバイトコンパイルで浮足立っております。 そんな中、Cairoがwindowsバイナリでもサポートされたことに皆さんお気づきでしょうか。 http://ja.wikipedia.org/wiki/Cairo type="cairo"などと指定することで…

インフルエンザのデータの可視化

R

こんなのがある。 http://www.google.org/flutrends/ データが公開されているのでいじってみると良い。 試しに可視化するとこんな感じ。 北半球と南半球ではやはり流行の時期がずれる。 df <- read.csv("http://www.google.org/flutrends/data.txt",header=T…

svgからswfに変換してアニメーションを作る

R

ここにあるようにanimationパッケージとImagemagickを使えばRのプロットからお手軽にアニメーションを作れるわけだが、Imagemagickをインストールするのがだるい。 このサイトのように画像をアップすればgifアニメを作ってくれるところもあるが、一括でアッ…

facet_gridのラベル名を変更する

(参照)http://wiki.stdout.org/rcookbook/Graphs/Facets%20(ggplot2)やり方は以下の2つ。 ラベル名を変更する関数を定義してfacet_gridのlabellerに指定する データの因子水準を変更する

ATNDのAPIとImportXMLで勉強会の受付表を作る

勉強会の受付表を作る必要があり、当初は主催者がcsvで参加者一覧を落としてきてそれをGoogleDocsにアップしてなどとやっていたのだがどうにも主催者への負担がかかりすぎる。 探すと出欠確認APIなるものがある。 http://api.atnd.org/#users これをGoogleDo…

APIを使ってデータをとってきて整形してドン

R

APIを使ってデータを取ってきたい状況、あると思います。 そんな時はRCurlでゲットしてきて、JSON形式であればRJSONIO、XMLであればXMLを使えばよい。 自分の場合、JSONの方が扱いやすい印象があるのでJSONでとれる時はJSONでとることにしています。 以下コ…

Rからエクセルに色々と書き込む

Rで分析した結果をエクセル方眼紙に叩きこまなければいけない状況、あると思います。 XLConnectパッケージを使うとその辺が簡単にできるのでぜひお試しあれ。 以下はデータと画像をそれぞれ別のシートに書きこむコード。 他にもセルの書式を指定したり、関数…

カジュアルにコレポンを使う

R

コレスポンデンス分析はクロス集計の可視化に便利である。 散布図くらいカジュアルに使えるようになっておくと良いとの話を聞いたので、性年代別にコレスポンデンス分析を行いプロットする関数を書いた。 手抜きなのでデータでsexに性別、age10に10歳刻みの…

クラスタリングの結果をインタラクティブな感じで可視化する

クラスタリングをkmeansなりなんなりで行った後、散布図をその結果で色分けしたりすることがよくあるわけです。 んで、この変数とこの変数の組合せだったらどうだろうと変数を入れ替えていったりするわけですがめんどくさい。 その辺はGUIでひょいひょいとや…

googleVisのバージョンが上がっていた

googleVisパッケージのバージョンが0.2.9に上がって、グラフ編集ボタンがつけられるようになった。上部の「Edit me」を押すとグラフ編集画面がポップアップで表示される。 任意のグラフを選んで、右下部のOKを押すと切り替わる(上の例では表示範囲が限定さ…

data fusion についてのメモ

R

ちょっと昔のメモを整理がてら公開しておく。データ融合(data fusion)という手法がある。 例えば、「ある特定の性質を有する製品を、ある特定のターゲットがどれくらい購入するか」といった問題に対して、「広告接触の変数」と「購買の変数」が同一対象者…

Rでカルトグラムを作る

R

カルトグラムとは統計データに基づいて面積や距離を伸縮した地図のこと。 以下のサイトでScapetoadというソフトを使った事例が掲載されていて、やりたくてうずうずしていたのだがなぜか自分の環境ではうまく動かない。 http://d.hatena.ne.jp/naraba/2011082…

datamarket.comのデータをgoogleVisで可視化

datamarket.comというサイトがある。 http://datamarket.com/ 世界の公開データを片っ端から集めており可視化までしてくれている。 最近そこからデータをひっぱってこれるrdatamarketというパッケージが公開された。 せっかくなのでそこからデータを2つ指定…

画像ファイルをSVGに変換してはてなに貼り付ける

R

zoom.itというサイトがある。 http://zoom.it/ 画像を縮小・拡大に強いベクターグラフィックス形式であるSVG形式に変換してくれるので細かい文字が多いネットワーク図やワードクラウドなどを貼りつける際に重宝する。 ただ、画像の埋め込みにjavascriptを使…

kindleでキャンセルできた

kindle版が前の版のものだと知らずにうっかりR graphics kindleをぽちってしまったわけです。 それでキャンセルしようとしたのですが、気づいたのが少し遅くキャンセルボタンが表示されていない。 仕方ないので下記のようなメールを問い合わせ窓口から送付し…

データの占有状況を可視化

treemapの使用例としてちらほら見られるのがディレクトリの階層構造を可視化するというもの。ビジュアライジング・データ ―Processingによる情報視覚化手法作者: Ben Fry,増井俊之(監訳),加藤慶彦出版社/メーカー: オライリージャパン発売日: 2008/12/01メデ…

clpcloudを品詞に応じて色がつくように手直し

R

wordcloudは頻度に応じて色が変わるような設定になっているが、そもそも頻度は文字の大きさで表されるので色は別の情報に使いたい。 ということで少し書き換えた。 さらにそれを利用してclpcloudも書き換えたのでお試しあれ。 #wordcloudをちょっと変更する …

コピペしているものをワードクラウドにする(指定した日本語フォントで)

R

関数はちょっと手直しをした。 日本語フォントはあらかじめwindowsFontsで設定した上で引数に「family=なんとか」と与えて描画する。 #関数を定義しておく clpcloud <- function(type=NULL, min=1, ...){ require(RMeCab) require(wordcloud) require(plyr) …

今コピペしているものをワードクラウドにする

R

wordcloudというライブラリが出ていた。 なので、今コピペしてるテキストからワードクラウドを作る関数を書いた。 enjoy!! clpcloud <- function(type=NULL){ require(RMeCab) require(wordcloud) require(plyr) require(RColorBrewer) if( .Platform$OS.typ…

覚え書き

あっちへふらふら、こっちへふらふらしがちなので一旦整理。 処理の流れ データ取得:もらってくる、webから取得 データハンドリング・統計処理:R(大規模データの場合はサンプリング、またはHadoop等の分散処理を考慮) 可視化:R、HTML、openFrameworks(Cin…

tmパッケージのメモ

R

tmパッケージはあまり日本語の情報がない。 RMeCabの石田先生のサイト http://rmecab.jp/wiki/index.php?R_fromOldHtml3_2#ead6f07a仕方なくvignetteを読んだので抜粋してメモとして残しておく。 ファイル等の読み込み ディレクトリで指定DirSource ベクトル…

googleVisとXLConnectで医療費を可視化

R

使うデータは医療保険医療費データベースの医療費総計(↓をダウンロード)。 http://www.mhlw.go.jp/bunya/iryouhoken/iryouhoken14/xls/01.xls library(googleVis) library(XLConnect) wb <- loadWorkbook("01.xls") #ファイル(ワークブック)を指定する g…

optsメモ

凡例だのラベルだのいじることが多々あるのでメモ。 last_plot() + opts(axis.text.x=theme_text(angle=90, size=20, hjust=1, vjust=1), axis.text.y=theme_text(angle=90, size=20, hjust=1, vjust=1), plot.title=theme_text(angle=90, size=20, hjust=1,…

エクセル(2007も含む)のデータをRで読み込む

R

エクセル2007データ(拡張子xlsx)を読み込みたいんだけど手元にはwindows7とRしかない。エクセルはない。Javaはある。そんな状況ありますよね。 そんな時はXLConnectパッケージを使います。 http://cran.r-project.org/web/packages/XLConnect/index.html以…