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

何を当たり前なことを、と思うでしょうか。しかし、Rにおいてこれはそんなに簡単なことではありません。

Tidyverse design guideは、第|||部まるまる、8章分を割いて関数のデフォルト値がどうあるべきかについて議論しています。 それは、関数のデフォルト値が重要であるとともに、静的型付け言語ではないRではどうがんばっても限界があるところだからです。

とはいえ、原則は10章のタイトルになっている次のひとことだけです。これだけ覚えておけば間違いありません。

続きを読む

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

先日、Apache Arrow東京ミートアップ2019で「RとApache Arrow」というタイトルで発表してきました。あと、Japan.RでもApache ArrowについてLTしました。

話したこととしては、

  1. arrowパッケージを使うとParquetファイル(後述)の読み書きができる
  2. sparklyrパッケージが内部でApache Arrowを使うようになって、R↔Spark間のデータのやり取りが高速になった
  3. Arrow Flightがもっと一般的になれば、JDBCODBCを使わなくてもデータベースからデータを取ってこれるようになる

という感じで、個人的にいま強調したいのは1.です。とりあえずParquetファイルの読み書きというのがRユーザーにとって一番わかりやすいメリットなので、そこをきっかけにみんなApache Arrowにズブズブになって、もっと世の中のシステムがApache Arrowに対応しだしたときにスムーズにデータを交換したり共有したりできればよさそう、と思っています。

図にして表すとこんな感じです:

続きを読む

メモ:Manjaro Linux 18.1.0でlogue-cliを動かす

話題のKorg NTS-1を買ったけど、コンパイルしたバイナリをNTS-1に読み込ませるGUIツール(Librarian)がMac/Windowsしかなくて、logue-cliを使うのに若干右往左往したときのメモ。

続きを読む

メモ:Manjaro Linux 18.1.0のGNOMEをWaylandで動かす

素のArchではGNOMEのデフォルトはWaylandになってるけど、Manjaroは保守的にXを使っている。まあ妥当な判断だとは思うけど、なぜかXPS 13 (7390)はXでは動かずにWaylandでは動くのでWaylandを使いたい。 なので、明示的に有効にする必要がある。

↑にかかれている通り、/etc/gdm/custom.conf

# Uncoment the line below to force the login screen to use Xorg
WaylandEnable=false

という行があるのでこれをtrueにして再起動するだけ(再起動というのはたぶんGDMの再起動なので、Ctrl+Alt+F?CUIに切り替えてからGDMだけ再起動とかでも行ける気はする)。

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

fgdrパッケージがCRANに登録されたというツイートを見かけて、そういえば試してないなと思って。

詳しい使い方はこっちの記事が詳しいです。

続きを読む