dplyr 1.0.0を使ってみる: rowwise()
昔こんな記事を書いたんですが、なんと rowwise()
は dplyr 1.0.0 で不死身になって還ってきました(予想が外れてすみません...)。そのあたりを解説します。
例によって英語が苦でない人は公式ブログをどうぞ。
続きを読むggplot2 で地図を描くとき sf 以外のオブジェクトも簡単に扱えるようになったので試してください
少し前、 ggplot2 の開発版に Claus Wilke が半年くらい開発していた pull request がマージされ、sf 以外のオブジェクトを簡単に扱えるようになりました。
Spatial plotting just improved a lot in the development version of ggplot2. In a nutshell, you can now mix and match regular geoms with `geom_sf()` and `coord_sf()`. If you're doing any geospatial plotting, please test this out. 1/n#rstats #ggplot2 pic.twitter.com/GBcjb6MUh1
— Claus Wilke (@ClausWilke) 2020年6月24日
しばらくリリースはないんですが、内部的にはけっこう大きな変更だったので、 ggplot2 を地図を描くのに使っている方はぜひ試してみてフィードバックをください(GitHub に直接でも、私に Twitter ででも、r-wakalang ででも)。
続きを読むdplyr 1.0.0 を使ってみる: summarise()
dplyr 1.0.0 がリリースされてもう1ヶ月。日本語でもちらほら紹介のブログ記事やスライドが出てきています。
が、意外と summarise()
の挙動変更に触れたやつないなと思って、軽く紹介します。
ちなみに、この記事で取り上げた quantile()
の活用例は公式ブログに載っているものです。英語が苦でない方はこっちを読んだほうが早いかもです。
メモ:nannou で素の lyon と wgpu-rs を使って描画する
nannou は Rust 製のクリエイティブコーディングフレームワークです。lyon は 2D グラフィックスのための tessellationのライブラリ、wgpu-rs は WebGPU を使うためのライブラリです。この 2 つは nannou の中でも使われているもので、黙っていれば nannou がすべて面倒を見てくれます。今回はそれをあえて使わずに素の lyon と wgpu-rs を使って図形を描画してみます。
続きを読むnalgebra の Point や Vector を nannou の Point や Vector に変換する
nannou は cgmath というライブラリを使っていますが、 nalgebra の方が人気でドキュメントが多いのでそっちから入門するのが楽そうです。しかし、 nalgebra と cgmath は当然使ってる型が違うのでなんらかの変換が必要になります。どちらも内部的には array なので、それを取り出して型だけ変換すればいいみたいです。
Vectorの方は単純にこんな感じでいけました。
let v_na = nalgebra::Vector3::new(1.0, 1.0, 1.0); let v_array: [f32; 3] = v_na.into(); let v: nannou::geom::Vector3 = v_array.into();
一方で、Point も同じ感じでできるかとおもいきやこれはエラーになります。
let p_na = nalgebra::Point3::new(1.0, 1.0, 1.0); let p_array: [f32; 3] = p_na.into(); let p: nannou::geom::Point3 = p_array.into();
これはコード自動生成がうまくいってないせいらしいんですが、ちょっとissueを読んでもよくわかりませんでした。
なのでこんな感じで、原点からのベクトルに直すと変換できるようになります(が、もっといい方法あるんでしょうか...?)
let p_na = nalgebra::Point3::new(1.0, 1.0, 1.0); let v_array: [f32; 3] = (p_na - nalgebra::Point3::origin()).into(); let v: nannou::geom::Vector3 = v_array.into();