読者です 読者をやめる 読者になる 読者になる

メモ:purrr::map()は深い階層の要素でも一発で取り出せる

R4DSに書いてある話。 たとえばこういう要素があるとする。

メモ:Rのパッケージリリース前に自問自答する

羽鳥がツイ消ししてしまったけど、ちょっとした論争?があってzzz.rを眺めていて、こんな関数があるのに気づきました。元の論争とは関係ないんですけど。 release_questions <- function() { c( "Have you built the book?" ) } (https://github.com/hadley/…

Tokyo.RでrwinlibについてLTしてきました。

第56回東京R勉強会@東京(a.k.a. Tokyo.R)でLTしてきました。Rcpp祭りという風の噂を聞いて、私に話せるといえばこれくらいかなと思って発表しました。 匿名バイナリ配布集団rwinlib from yutannihilation

TwitterのAPIドキュメントをスクレイピングしてRのパッケージを自動生成する

R

というやり方でパッケージをつくってみました。まだエラーが残ってますが、たぶんある程度は動くはずです。 Rのコードを生成するRのコードはこちらです。 twihttr/generate_R_code.R at master · yutannihilation/twihttr · GitHub あんまり大したことはして…

R MarkdownでRのコードから画像URLを埋め込む

GithubのAPIからemoji一覧を取れることに気づいたので、一覧で出力したいと思ってやり方を探したときのメモ。

estatapiパッケージ0.3.0をリリースしました

夏ですね。夏休みの自由研究のネタに困っているみなさんのために、e-Stat APIをRから使うためのパッケージestatapiの新しいバージョンをリリースしました。 CRAN - Package estatapi すでにCRAN上にあるので、 install.packages("estatapi") すれば0.3.0がイ…

e-Stat APIバージョン2.1をRから使う

e-Stat APIがちょっとバージョンアップしていて、統計データ取得APIのデータ形式にCSVが追加されました。 前にRからe-Stat APIを使ったときはちょっとJSONをdata.frameに直すのが大変すぎて、 estatapiというパッケージをつくったんですが、 …ひょっとしても…

R使いのためのDocker「Rocker」をScalewayの物理サーバで動かす

フランスのベアメタルサーバホスティングサービスScalewayが前から気になってたので使ってみました。 Scalewayでは、月€2.99を払ってdeveloper accountにアップグレードするとDockerファイルをビルドしてつくった自作イメージを使うことができます。 www.sca…

dplyrのmutate_if()とかについて

1か月前にキターとつぶやいたものがついにCRANにきたのでそれについて書きます。 Colwise update https://t.co/AotXyUjYmv キター!— Hiroaki Yutani (@yutannihilation) 2016年5月31日

dplyr 0.5.0を使ってみる

※この記事は4/9に書いた「dplyr 0.4.3.9000を使ってみる」という記事を加筆したものです 「1か月くらいしたら新しいdplyr出るよ」とHadleyが言ってました。 Getting ready to start dplyr release process. Over >150 issues fixed: https://t.co/N6fOAnN5pF…

メモ:install_github()で「cp: unknown option -- )」とかいうエラーが出る

最近こんなエラーが出る。↓はdlmパッケージのZIPを取ってきて解凍してそれをインストールしようとしたとき(tools::Rcmd()はR 3.3.0から加わった関数) tools::Rcmd("INSTALL . --install-tests --debug") #> processing '.' #> a directory #> * installing…

Rの依存パッケージにCRANにリリースされる前のものを指定する。

devtoolsパッケージでinstall_github()するときには、CRANにリリースされていないパッケージも依存パッケージとして指定することができます。 Devtools dependencies

RのパッケージをインストールするAnsible Moduleをつくりました

Rは主にWindows環境で使っていて、Linux環境は必要なときにつくって壊す、ということをしています。で、環境構築をAnsibleでやれないかな?と思ったときに、こういう書き方をしたくなります。 - name: Install hadleyverse cran: name={{ item }} with_items…

Rのglobal string poolに溺れる

だいぶ昔にdplyrにこんなIssueを立てたことがあります。r-wakalangでの議論のスピンオフ企画みたいなものです。 この時に、Rの文字列型データがメモリ上でどのように保持されるかについてちらっとコメントがついていました。 dplyr should be taking advanta…

ggplot2で円を描く

なんかそんな話で微妙にTLが盛り上がっていて、やろうとしたら意外とむずかったのでメモ。

ちょっとしたポップアップ代わりにShinyを使う

Rでパスワードを入力するときには.rs.askForPassword()が便利ですが、たしかこの関数は↓のIssueで見つけました。 で、そういえばHadleyが別解としてShinyがどうとか言ってたなあ、と思い出してちょっと使ってみました。

メモ:FreeBSD 10.2でRStudio Serverをビルドしようとした

さっきの記事の続き。 基本的にはここの指示に従う。 ただし、FreeBSDについては指示がないのでlinuxのところを見ながら何をすればいいか推測する。

メモ:FreeBSD 10.2でRをビルドする

必要なパッケージをインストール $ sudo pkg install gcc gmake wget icu ビルド $ wget https://cran.r-project.org/src/base/R-3/R-3.2.5.tar.gz $ tar xf R-3.2.5.tar.gz $ cd R-3.2.5 $ env MAIN_LDFLAGS=-Wl,--export-dynamic CC=clang CXX=clang++ ./c…

Tokyo.RでdplyrについてLTしてきました。

第53回東京R勉強会@東京(a.k.a. Tokyo.R)でLTしてきました。発表の概略はこちらのスライドをご覧ください(一部省略したスライドがあります)。 dplyrとは何だったのか from yutannihilation

Why are you using UTF-8???

追記(2016/5/1):直りました!!! 追記(2016/12/1):と思ったらそのあとまた壊れてました!!!(涙) Encoding problems on Windows caused by character -> symbol -> character roundtrip · Issue #1950 · hadley/dplyr https://t.co/b6dESZt5WZ フワー…

Ubuntu 16.04でRStudio Serverを動かす

Ubuntu 16.04(Xenial)が4/21にリリースされましたが、DigitalOceanでさっそく使えるようになっていたので、ひとまずRとかRStudio Serverをインストールしてみたときのメモ。 結論から言うと、軽く触った感じ何の問題もなく動いてそうでした。

メモ:e-Stat APIから入手できるデータの大分類ごとの数

e-Stat APIで提供しているデータの分野は以下のページにまとまっていますが、「あれ、データない?」と思って調べた時のメモ。 統計分野 | 政府統計の総合窓口(e-Stat)−API機能

メモ:dplyr::mutate()に引数のリストを渡したいときは.dotでがんばるよりpurrr::invoke()

これはうまくいく。 common_params <- list(zero = 0, one = 1) data.frame(x = seq(1, 10)) %>% mutate_(.dots = common_params) #> x zero one #> 1 1 0 1 #> 2 2 0 1 #> 3 3 0 1 #> 4 4 0 1 #> 5 5 0 1 #> 6 6 0 1 #> 7 7 0 1 #> 8 8 0 1 #> 9 9 0 1 #> 1…

メモ:S4のクラスをつくるときはCollateが必要

R S4 DBI

DBIを使ったパッケージをつくろうとしていて、なんか in method for 'dbConnect' with signature '"SPARQLDriver"': no definition for class "SPARQLDriver" みたいなエラーが出る。 なんでかなと思って調べてたら、 Collate controls the order in which R…

メモ:httrでSPARQL

↓この記事をhttrでやってみる。

dplyrで複数カラムを追加したいと思ったときはpurrrでslice_rows+by_slice

r-wakalangでそんな話があった時のメモ。もっといいコードがある気もしつつ、まあこれが割とシンプルなのではないでしょうか。問題は、purrrの使い方をいざという時に思い出せないというだけで。。(重大) plyr::mdply() 私はポストplyr世代なのでplyrまっ…

メモ:RでOradano明朝フォントを使う。

R

Oradano明朝というフォントを見かけて面白そうだったので使ってみました。 Oradano明朝フォントを十年半ぶりにアップデートしました。よろしければRTじゃなくDLを!https://t.co/B7whehY9ZXお気に召したらFavじゃなく用例ツイートを!!もしくはバグレポート…

lubridate 1.5.6を使ってみる

1.5.0 → 1.5.6なので大きな変更はないんですが、いくつか新しい機能追加があったので。

メモ:httrでJSON形式のリクエストを送るときのコツ

httrパッケージでJSON形式のリクエストを送るときは、bodyに送りたい内容を、encodeに"json"を指定します。 たとえばこんな感じです。 httr::POST("example.com", body = list(id = 1), encode = "json") このとき、bodyに渡されたリストは最終的にどのよう…

RからWunderlist APIを使うパッケージwunderlistrをつくりました

Rに管理されたい勢のみなさまこんにちは。 WunderlistというToDo管理ツールがあって前からちょっと気になってたところ、↓の記事を見かけました。 ということで(?)、RからAPIを使うパッケージをつくりました。これでもうRに管理され放題ですねっ!

estatapiパッケージがCRANで公開されました。

政府統計の総合窓口 e-StatのAPIをRから利用するパッケージestatapiがCRAN上に公開されました。 CRAN - Package estatapi ということで、install.packages()でインストールすることができるようになっています。 install.packages("estatapi") estatapiパッ…

Travis CIでRがsudo: falseで使えるようになったので試してみた

ちょっと前にRStudioのブログにそんな話が出ていたので使ってみました。

メモ:dplyrの中で使われるDBIのメソッドをリストアップする

dplyrのバックエンドとして使えるようにするにはDBIのメソッドを実装しなくてはいけません。とはいっても全部実装しなくてもいいはずで、じゃあどれを実装すればいいのかと言うとAdding a new SQL backendを読めばいいはずなんですが、いまいちピンと来なか…

メモ:httr::oauth2.0_token()のredirect_uriを変える

@teramonagiさんのこのパッケージ、httr::oauth2.0_token()だとムリなのかな?と思ってやってみたらムリだったけどメモ。

Rでいらすとやからアナゴのイラストを取ってくる

追記(2016/03/17):@dichika氏から指摘を受けて、以下を修正しました。annotation_raster()に渡すのはrasterでなくてもいいらしいです(rasterでもいい)。 as.raster(httr::content(httr::GET(url)) → httr::content(httr::GET(url)) 思い出はいつもキレ…

メモ:Rtools 3.3のパスが変わってた

前にちらっと書きましたが、Rtools 3.3からはGCCのバージョンが4.9.3になります。 notchained.hatenablog.com GCCのツールチェインは以前はC\:Rtools\gcc-4.6.3にありましたが、新しいのはC:\Rtools\mingw_64\binとC:\Rtools\mingw_32\binに変わったみたいで…

Extending ggplot2を訳しました。

ggplot2がバージョン2.0.0になって、拡張パッケージをつくりやすくなりました。そのやり方を解説しているvignetteを、需要があるのかさっぱり分かりませんが、、訳しました。 ggplot2を拡張する(原題:Extending ggplot2) ちなみになぜGithub pagesにした…

「R言語徹底解説」(Hadley Wickham 著・石田 基広・市川 太祐・高柳 慎一・福島 真太朗訳)を読んだ。

Hadley Wickhamの名著「Advanced R」の邦訳「R言語徹底解説」を頂きました。ありがとうございます!!! 徹底します。 pic.twitter.com/WomttqRNN6— Hiroaki Yutani (@yutannihilation) February 6, 2016 多くの人がコメントされているように、この本はRのバ…

RでAPIを叩くパッケージのテストがしたいときはdevtools::with_mock()とsaveRDS()

誰かに教えてもらったまま理解できず放置してたけど、やり方分かったのでメモ。 こんな感じの、APIを叩く関数があったとします。 api_tataku <- function(apikey, param1, ...) { res <- httr::GET("http://example.com", query = list(apikey = apikey, par…

tidyr 0.4を使ってみる

tidyr 0.4が出たと風の噂で聞いたので触ってみました。

purrr::partial()が引数の順序のせいでうまく動かないときは.first=FALSEを指定する

purrrにも部分適用をする関数partial()があるんですけど、↓の記事のやり方を調べてた時にちょっとつまづいたのでメモ。 部分適用はS3のgeneric関数と相性が悪いことがあります。

purrr 0.2.0を使ってみる

purrr 0.2.0がCRANにきてました。けっこう色々変更があります。 dplyrとの兼ね合いでどこを変えるかまだ試行錯誤している雰囲気があって、まだまだbreaking changeが入りそうな雰囲気です。がっつり使うのはまだ控えたほうがいいかも...。

ggplot2 1.0.1が懐かしいときはdevtools::install_version()

ggplot2のバージョンが上がって、昔のコードが色々動かなくなって苦しい。そんな時は、アーカイブに残ってる古いバージョンをインストールしましょう。 devtoolsにはそれをやってくれるinstall_version()という関数があります。 devtools::install_version("…

RStudioからQiitaに直接投稿できるアドインをつくってみました

Qiitaで記事を書く時、R Markdownをknitしたやつを直接アップロードできるといいのになー、と思ったのでつくってみました。 ただし、これはProof of Concept的なもので、実用に耐えるものではありません。たぶん。 なんでまじめに作りこむ気が起きないかとい…

ggplot2、grid、gtable、gridExtraの関係とか

久々にggplot2のIssueを眺めてたら、gridExtraの作者が超有用ドキュメントを書いてるのを見つけたのでメモ。

「Pitchforkで○○点!」というのがどれくらいすごいのかRで調べたかった

この記事は、R Advent Calendar 2015 15日目の記事です。 タワレコの洋楽コーナーに行くと 「Pitchforkで○○点獲得!」 のようなポップが付けられているのをちらほら見かけます。

メモ:Rのpackageとlibrary

R

この話、いつもソースを探し回るのでメモ。 注:よく分からないので訳は適当です。。信用しないでください。

svglite 1.0.0を使ってみる

R

svgliteというパッケージが出ました。 これは、プロットをSVGとして出力するときに使うものです。png()とかjpeg()と同じノリで使います。Rの組み込みのsvg()もあるんですが、重かったり遅かったりするということでつくられたらしいです。 Unfortunately, R’s…

行の先頭に%>%を持ってくるには

R

magrittrの人がこんなつぶやきをしていました。 Ever wanted to have %>% at beginning of lines (F# style)? Here's an alternative style for #rstats pipe action! pic.twitter.com/FDo5EdG58G— S Milton Bache ® ⭐️ (@stefanbache) 2015, 12月 10 ちょっ…

小ネタ:Rでパッケージ読み込み時に日本語のメッセージを出す

こないだつくった国土数値情報ダウンロードサービスAPIのRパッケージですが、 Web APIにはこんな利用規約があります。