R

chromoteパッケージでRからInstagramにggplot2を投稿する

The Economist誌がインスタにグラフを投稿する時に気をつけていること、という記事がちょっとバズってたので、 This made me think about how I can post charts to Instagram from RStudio... https://t.co/vXM7TYWfr5— Hiroaki Yutani (@yutannihilat_en) …

メモ:Shinyで条件に応じてactionButtonのactionを変える

conflrで、「すでに同名のページがあったときだけ、上書きしていいかを確認するダイアログを出す」ということをしたかった。 軽く調べた感じ、actionButton()のinputIdを動的に与えるのが簡単そうだった。 以下の例だと、confirm と ok という2つのイベント…

メモ:Manjaro Linux 18.1.0でR CMD checkをするために必要なTeX環境

なんかいろいろつまづいたのでメモ。結論としてはたぶんこう。 sudo pacman -Syu texlive-core texlive-fontsextra qpdf aspell-en

メモ:active bindingは上書きしようとしても発動する

まあそらそうやろ、という感じですが。忘れそうなのでメモ。

メモ: GitHub Actionsでpkgdownサイトをビルドする

これを使いたい。

Apache ArrowのRパッケージでfactorを含んだデータもParquetファイルに読み書きできるようになりました

1ヶ月前に、「Apache ArrowでParquetを読み書きするときfactorを扱う方法がよくわからない」みたいなことをゴニョゴニョ書きましたが、 直りました。

ggplot2 v3.3.0を使ってみた

ggplot2 v3.3.0のリリースが近々予定されています。新機能がいろいろあるのでかいつまんで紹介します。 詳しくはNEWS.mdをご参照ください。

世の中には2つの種類の引数がある、必須の引数と必須ではない引数だ。

何を当たり前なことを、と思うでしょうか。しかし、Rにおいてこれはそんなに簡単なことではありません。 Tidyverse design guideは、第|||部まるまる、8章分を割いて関数のデフォルト値がどうあるべきかについて議論しています。 それは、関数のデフォルト値…

そろそろRユーザーもApache ArrowでParquetを使ってみませんか?

先日、Apache Arrow東京ミートアップ2019で「RとApache Arrow」というタイトルで発表してきました。あと、Japan.RでもApache ArrowについてLTしました。 話したこととしては、 arrowパッケージを使うとParquetファイル(後述)の読み書きができる sparklyrパ…

メモ:fgdrパッケージで基盤地図情報のDEMデータをstarsとして読み込みrayshaderする

fgdrパッケージがCRANに登録されたというツイートを見かけて、そういえば試してないなと思って。 国土地理院 @GSI_chiriin が提供する「基盤地図情報」をRで扱うパッケージがCRANに登録されましたコンバートソフトによる変換を使わずに直接読み込めます! ht…

メモ:地理院地図ベクトルタイルをgeom_sf()でプロット

R GIS sf

protoliteパッケージがmapbox vector tileを読めるようになったらしい、というツイートを見ました。 New version for #rstats protolite: Highly Optimized Protocol Buffer Serializers https://t.co/qEoFHkyUV9. This version adds support for reading mv…

ggplot2 3.2.0からfacet_grid()、facet_wrap()がNULLを受け付けるようになった

ggplot2 3.2.0がリリースされてはや1カ月ちょっと。おそらくみんなが気付いていないマイナーな変更の一つに、 facet_wrap() and facet_grid() now automatically remove NULL from facet specs, and accept empty specs (@yutannihilation, #3070, #2986). (…

Tokyo.Rでtidyr::pivot_longer()、tidyr::pivot_wider()について発表してきました

第79回Tokyo.Rでtidyrの次期リリースの目玉機能、pivot_wider()/pivot_longer()について発表してきました。

tidyr v1.0.0?を使ってみた。

tidyr v1.0.0がそろそろリリースされそうな雰囲気を感じるのでそろそろ重い腰を上げて使ってみます。 ちなみにこのv1.0.0というバージョンは、stableになったという意味ではなくて、新機能てんこ盛りなのでメジャーバージョン上げとくか、というノリなんだと…

DataCampの講師が「私のコースを受講しないでくれ」と言っている。

追記(2019/04/26): DataCampのCEOが辞任しました。が、これで終わりではなさそう... DataCampは、データサイエンスに特化したオンライン学習サイトだ。特にR界隈では、有名人が講師陣に名を連ねていて人気がある。 そこでコースを持っているNoam Ross氏が…

メモ:RのCAR、CDR、CADR、CDAR、CDDR...

R

CARとかCDRとかいうのはLISP由来のなにからしい。 この図を見てわかった気持ちになった。

rstudio::conf 2019でgghighlightについてポスター発表をしてきました

っていう報告は会社のブログの方に書く予定なんですけど、まあ個人ブログにもメモ程度に書いとくか、ということで。 RStudio社が主催するRとRStudioに関するカンファレンスrstudio::confで以下のポスターを発表してきました。 (レポジトリ:GitHub - yutann…

dplyr 0.8.0を使ってみた(新機能編)

困惑しそうな変更点の話は書いたので、次はテンション上がりそうな新機能の話を書きたいと思います。

dplyr 0.8.0を使ってみた(group_by()のbreaking changes編)

更新(2019/02/19): いろいろ議論があって、group_by()のデフォルトの挙動はこれまでと同じ(empty groupはつくらない)ようになりました。 group_by()するときに.drop = FALSEとした場合だけ、empty groupがつくられます。 dplyr 0.8.0がもうすぐ(来年1…

Apache Arrow東京ミートアップ2018で「RとApache Arrow」について話してきました

ほんとに私でいいんだろうか...という気持ちでしたが、Apache Arrow東京ミートアップ2018でRとApache Arrowの現状と未来の妄想について話してきました。 色んな分野の話を聞けてとても勉強になりました。 たぶんこのブログを読むのはR界隈の人だと思うので、…

Tokyo.Rでtidyevalが必要な理由について発表してきました

R

第74回R勉強会@東京で、「Yet Another Introduction to tidyeval」というタイトルで発表してきました。 申し込み時は「tidyeval入門以前」というタイトルにしてたんですけど、別にこれを知らなくてもtidyevalにはするっと入門できます。ビビらせてしまってす…

メモ:rlangのquo_name()、quo_text()、quo_label()、as_string()あたりの使い分け

R

TL;DR quo_name(): 名前のついていない引数に名前をつけるときに使う(例: data.frame(a)とやるとaが列名になる、みたいなこと) quo_label(): quosureや表現式を短めの文字列に変換するときに使う quo_text(): quosureや表現式を省略なしの文字列に変換す…

readrパッケージがWindows上だと日本語のパスを読めない問題の現状

追記(2020/04/27): 「それでも直らない問題」は、vroomはBoost使ってないのでいけるはず(未確認)とのことで、いずれ readr がバックエンドとして vroom を使うようになればもう問題ないはずです。 追記(2018/11/23): この問題を修正したバージョンのr…

メモ:reticulateがPython3になってくれなくて生きるのがつらい

Kerasインストール済みのRStudioのDockerイメージがほしい。それだけのことができなくて、秋。みたいな。 たぶん私がPython弱者すぎていろいろやり方を間違えてるんだと思うんですけど、reticulateが思った通りに動いてくれなくてつらかった話をメモ。

メモ:...はそのまま渡すならenquos()して!!!する必要はない

tidyeval本を読んでいて知ったのでメモ。

メモ:sort()にpartial引数を指定すればpartial sortingでちょっと速くなる

R

ふとbase::quantile()と自作関数を比べていると、baseの方が2~3倍くらい速いことに気付いた。

S3メソッドのdouble dispatch

R S3 S4

複数のggplotオブジェクトをリストとして保持する独自のクラスを考えます。こんな感じ。

vctrs::vec_method_register()が必要な理由

これがなぜ必要か、という話をします。 独自のパッケージに独自のクラスをつくったとき、必須ではないけど合わせて使うと便利、みたいなパッケージにS3メソッドを提供することが人間だれしもありますよね。ちなみに私は、まだないです。

メモ:R MarkdownにpLaTeX用のdocumentclassを適用する

というのは、たとえばjsarticleを使いたい、みたいな話だけど、これは端的にできない。 ので、.texを吐き出した後に手動でplatexするしかないっぽい... (免責事項:LaTeXまったく詳しくないです。間違ってたら優しく教えてください...)

メモ:knitrのoutput hookを使ってパスを隠す

実行結果にパスが含まれる系のやつ、なんか恥ずかしいので隠したい///と思うことがたまーにありますよね。 そんなときはknitrのhookです。 output hookには8種類ありますが、必要に応じて使い分けましょう(書き換えようとしている出力がメッセージか、警告…