諸事情あって「闇と向き合う」でおなじみの CRAN にパッケージを登録してみました。 2回リジェクトされましたが、そんなに闇じゃなかった。 そんなこんなで現在 CRAN にパッケージ登録している日本人を思いつく限り挙げてみたいと思います。 こんな人もいるよーという方はコメントか編集リクエストでお知らせください。 開発者 パッケージ名 ダウンロード バージョン 説明
諸事情あって「闇と向き合う」でおなじみの CRAN にパッケージを登録してみました。 2回リジェクトされましたが、そんなに闇じゃなかった。 そんなこんなで現在 CRAN にパッケージ登録している日本人を思いつく限り挙げてみたいと思います。 こんな人もいるよーという方はコメントか編集リクエストでお知らせください。 開発者 パッケージ名 ダウンロード バージョン 説明
ggplot2 でちょっとはまったのでメモ。 複数のグラフを一枚のプロットに埋め込むには gridExtra パッケージの grid.arrange() を使えばいいらしい。 参照:異なる複数のグラフを一つの図に描画 - Triad sou. library("ggplot2") library("gridExtra") data(iris) graph.list <- lapply(1:4, function(i) { name <- colnames(iris)[i] d <- data.frame(Species=iris[,5], y=iris[,i]) ggplot(d, aes(x=Species, y=y, fill=Species)) + geom_boxplot() + xlab(NULL) + ylab(NULL) + ggtitle(name) }) grid.arr
この文章は、htmlwidgets パッケージの Vignette Introduction to HTML Widgets (2015-06-21) https://cran.r-project.org/web/packages/htmlwidgets/vignettes/develop_intro.html を適当に翻訳したものです。 概要 htmlwidgets パッケージは、JavaScript ライブラリに対する R バインディングを作成するためのフレームワークを提供します。 HTML ウィジェットは次のことができます: 従来の R プロットと全く同じように、データ解析のために R コンソールから使用できます。 R Markdown ドキュメントに埋め込むことができます。 Shiny ウェブアプリケーションに組み込むことができます。 単独のウェブページとして保存でき、電子メールや
こういう話がある。 RでCSVファイルを一行ずつ読み込む 学習データはサンプリングするからメモリに載せられるけど、 予測対象はメモリに乗らない時に一行ずつ読み込んで処理をさせたい。 それ、foreach と iterators でできるよ! library(foreach) library(iterators) iter <- iread.table("data.csv", header=FALSE, row.names=NULL, sep=",") foreach(line.df = iter, .final=invisible) %do% { write.table(line.df, stdout(), row.names=F, col.names=F, sep=",") }
ログインしないと見れないページをスクレイピングしたい。 rvest パッケージを使えばお手軽にできる。 試しに slideshare にログインしてみる。 library(rvest) # ログイン状態のセッションを作る ------------------------------------------------------------ login_page <- html_session("https://www.slideshare.net/login") login_form <- html_form(login_page)[[1]] %>% set_values(user_login="hoxo_m@gmail.com", user_password="****") session <- submit_form(login_page, login_form) # ログイン状態で
本記事は ggplot2逆引き プロジェクトの一環として、Stack Oveflow の下記記事を翻訳したものです。 Choosing between qplot() and ggplot() in ggplot2 質問 私は R でのプロットに、素晴らしい ggplot2 パッケージを使い始めた者です。 ggplot2 でプロットを作成しようとするとき、まず最初に自分に問いかける質問があります。 「うーむ、qplot と ggplot のどちらを使おうか」 私の理解では、qplot 関数はシンプルな文法を提供するものであり、一方 ggplot 関数はより柔軟に全ての機能を利用可能にするものだと思っています。 ここで質問したいのは、みなさんはどちらかの関数を重点的に使用しているのでしょうか? もしくは、「こういう場合にはこっちを使う」という明確な基準を持っているのでしょうか? 普段は qp
この文章は、foreach パッケージの Vignette Using The foreach Package http://cran.r-project.org/web/packages/foreach/vignettes/foreach.pdf を適当に翻訳したものです。 1 イントロダクション R の最も便利な機能の一つとして、インタラクティブなインタプリタが挙げられます。これは、R を学んだり試しに使ってみたりするのを非常に簡単にします。これがあることで、R は電卓のように気軽に使うことができ、算術演算、データセットの表示、プロットの生成、モデルの作成を行うことができます。 新しく R を始めたユーザは、いずれそのうち、いくつかの操作を繰り返し実行する必要が出てきます。ひょっとすると、結果の分布を知るために繰り返しシミュレーションを走らせたいのかもしれません。ひょっとすると、ある関
# データ生成 ------------------------------------------------------------------- v1 <- ordered(rep(1:4, c(40, 55, 30, 25))) v2 <- rep(c("A", "B", "C"), c(45, 65, 40)) v3 <- rep(paste0("地区", 1:5), c(25, 25, 15, 50, 35)) dat <- cbind(iris, v1, v2, v3) dat <- transform(dat, v2=as.character(v2), v3=as.character(v3)) head(dat) Sepal.Length Sepal.Width Petal.Length Petal.Width Species v1 v2 v3 1 5.1 3.5 1.4
福島真太朗『データ分析プロセス』を読んでいると、dplyr の select() の使い方で知らないものが載っていた。 調べてみると、select() は引数に様々なバリエーションを受け付けることができることを知ったので、ここにまとめておく。 これらのカラム選択方法は summarise_each(), mutate_each() においても全く同様である。 さらに、tidyr パッケージの各種関数(gather()など)に対しても同じようにして使える。 1. 全コード 一覧性のために、最初に全コードを載せておく。以降のセクションでは一つずつ実行結果を含めて解説する。 # データの準備 ------------------------------------------------------------------ library(dplyr) library(nycflights13)
data <- data.frame(x=LETTERS[1:10], y=rnorm(10, mean=0)) head(data)
library(dplyr) library(ggplot2) data %>% sample_n(5) %>% arrange(date) ggplot(data, aes(x=days, y=which)) + geom_point() + geom_smooth(method="glm", formula=y ~ x, family=binomial)
みんな大好き dplyr では、データソースとしてデータベースを扱うことができます。 この機能は非常に便利なんですが、私以外に使っている人を見たことないです。 みんな知らないだけかもしれないので、Web上で読める情報をここにまとめておきます。 まず使い始めたい人は本家 Hadley の書いた Vignette Databases この Vignette を日本語で解説してくれる @dichika さんの記事 dplyrとデータベース あたりを読むといいと思います。 Vignette にはなぜか CASE 式の書き方が載っていないので次の記事も読むといいです。 dplyr で DB にクエリを投げる時に CASE 式を使いたい これで基本的なやり方はわかったはずです。 あとは DB が PostgreSQL なら環境変数を使って文字化けを防いだり接続を楽にしたりできます。 dplyr、Pos
こういう話がある。 声優のプロフィール - 驚異のアニヲタ社会復帰への道 しかし、この記事でスクレイピングしている声優のプロフィールページには男女のデータが載っていないようだ。 なんかもういろいろめんどくさいので声優の男女のアノテーションデータ持ってる人いないですか — YF (@Med_KU) 2015, 5月 17 ただし、同じサイトの声優一覧ページを見るとアイコンの色により男女が判定できる。 声優一覧(あ行) - 声優データベース こいつをスクレイピングして男女データを作ってみよう。 library(rvest) library(pforeach) npforeach(i=1:10, .c=rbind)({ cat(i, "\n") url <- sprintf("http://lain.gr.jp/voicedb/profile/list/cid/%d", i) Sys.sleep
こういう話がある。 【統計学】中心極限定理のイメージをグラフで掴む 非常に素晴らしいのでアニメーションにしてみた。 下が指数分布からサンプリングしたデータのヒストグラム、上がそのデータの平均値のヒストグラムである。 下図の赤い線はデータの平均値を表している。 指数分布からサンプリングしたデータの平均値は正規分布に従うことがわかる。 コードは下記。 library(animation) library(ggplot2) library(gridExtra) saveGIF( { means <- c() for(i in 1:100) { set.seed(i) x <- rexp(100, rate = 0.1) means <- c(means, mean(x)) data <- data.frame(x=means) p1 <- ggplot(data, aes(x=x, y=..de
screen.name <- html("https://twitter.com/teramonagi/lists/list/members") %>% html_nodes(css = ".username") %>% html_text() %>% unique() %>% grep(pattern = "^[[:punct:]][[:graph:]]", value = TRUE) %>% substr(2, 100) screen.name screen.name <- html("https://twitter.com/teramonagi/lists/list/members") %>% html_nodes(xpath = '//*[@id="stream-items-id"]/li/div/div[2]/div/a/span[1]') %>% html_text %>% s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く