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

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にはこんな利用規約があります。

directlabelsでggplot2のグラフに直接ラベルをつける

ggplot2で描くグラフの中に直接ラベルを付けたいとき、directlablesパッケージを使うと便利です。 CRANに上がっているのは2年前のバージョン(CRAN - Package directlabels)なんですが、時代はもうちょっと進んでいてGithubで細々と開発が進んでいます。Git…

メモ:NAにもいろいろある

R

なにこれ。 NA_integer_ NA_real_ NA_complex_ NA_character_ ?NAでヘルプは見れるけどよく分からない。 NA can be coerced to any other vector type except raw. There are also constants NA_integer_, NA_real_, NA_complex_ and NA_character_ of the o…

Rから国土数値情報ダウンロードサービス Web APIを使うパッケージをつくりました

(この記事はFOSS4G Advent Calendar 2015 9日目の記事です) RからGRASSを使います、と宣言していたんですが、GIS初心者すぎて挫折しました。。 即席でつくったパッケージの紹介でお茶を濁します。すみません…

ggplot2で画像にテキストを重ねる

昨日はJapan.Rでした。私はまったく仕事しないただの雑用でしたが、@gepuro、@wonder_zone、@kyyonko、@u_riboをはじめとする運営の活躍と、参加者の方の協力によって楽しい時間になりました。ありがとうございました。 さて、LTの終盤、こんな怪しい人が「…

dplyrで複数の変数でgroup byしたときは、summariseでグループ化解除されるのはひとつずつ

(タイトルが何言ってるか分からない日本語ですが、メモと言うことで許してください…) dplyrのvignetteってちゃんと読んだことなかったんですが、訳してみると色々書いてあることに気付きます。

purrr 0.1.0を使ってみる(6) cross

crossは、複数ベクトルの直積集合を返す、すなわち、いい感じのexpand.grid()です。 完。 ...というくらいに特筆すべきことはないと思うんですけど、↓こんな記事もあったので、いちおう書いときます。

メモ:switch()の代わりにS3 generic functionを使う

R S3

たとえばこんなデータがあるとする。 { "日付": { "type": "date", "value": "2015-11-11" }, "何の日": { "type": "char", "value": "ポッキーの日" }, "俺の中での重要度": { "type": "int", "value": "3" } }

purrr 0.1.0を使ってみる(5) invoke

追記:invoke()はバージョン0.2になってだいぶ挙動が変わりました。(参考:purrr 0.2.0を使ってみる - Technically, technophobic.)「一組の引数に複数の関数を適用」は、invoke()ではなくてinvoke_map()です。そのうち書き直しますが今はとりあえずこのま…

「RからRustの関数をつかう → はやい」と言おうとしたらめっちゃ時間がかかった話

こんな話がある。 qiita.com qiita.com で、これRからもできるのでは?と思ってやってみようとしたらいろいろハマってつらかった話をします。