R

RustからRのC APIを使う時、エラーをちゃんとハンドリングしたい

RのC APIを使う時、当然ですが任意の操作は失敗する可能性があります。 このために、RのコードでいうtryCatch()にあたるものがいくつか提供されています。 https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Condition-handling-and-cleanup-co…

RでC APIを使う時、SEXPをGCから守る3つの方法

extendrの実装おかしくない?、というのを最近調べていて、理解が深まったのでメモっておきます。

「RとRustの現状確認 2023」というタイトルでTokyo.R#103で発表してきました。

少し前ですが、第103回R勉強会@東京で発表してきました。スライドはQuarto Pub(便利)で公開しています。

メモ:#[extendr] の実装を追ってみる

こういう関数があるとする。

dplyr 1.1.0からはgroup_by()の代わりに.by引数が使えるらしいという話

この記事はR Advent Calendar 2022 3日目の記事です。昨日はhoxo-mさんの記事でした。温故知新でしたね。 さて、来年1月後半にリリース予定を控えたdplyr 1.1.0について、リリース前の新機能紹介が出ました。 今回はその中でも、summarise()やmutate()に追加…

.qmd を超お手軽完全無料パブリッシュできる Quarto Pub を使ってみる

R Markdown でちょっとしたドキュメントを書いてサクっと公開したい、というときどうしてますか? もちろん、GitHub のレポジトリを作るのはそれほど大変ではないですが、でも「サクッ」というほどではないですよね。では自前でウェブサイトを作るかというと…

ggplot2 v3.4.0 から線の太さは size じゃなくて linewidth

ggplot2 の次のバージョン、3.4.0 が今年の夏~秋くらい?に出ます。変更点についてはまたリリースされたら詳しく眺めたいところですが(毎週火曜の22時から雑多なリリースノートを眺めるYouTube配信をやっています:yutannihilationのチャンネル (仮) - You…

メモ:Quartoで #| を使ってチャンク内にチャンクオプションを書く時に !expr がエラーになった(がもう直っている)

知らない人もいるかもなので、まず「#| を使ってチャンク内にチャンクオプションを書く」とは?、という話から。

告知:YouTubeをはじめます

R

突然ですがYouTubeをはじめます。すぐ挫折するかもしれません。 yutannihilationのチャンネル (仮) - YouTube

R 4.2のWindowsの文字コード関連にちょっとだけコントリビュートした話

R 4.2がいよいよ4月22日にリリースされます。 #rstats 4.2.0 "Vigorous Calisthenics" scheduled for April 22. Full schedule at https://t.co/1yhUhLvQFQ— Peter Dalgaard (@pdalgd) 2022年3月18日 数か月前に見たときは、「ほんとに出るのか...?」という…

お前は万物を geom_point() できる。

よくきたな。おれは逆噴射yutannihi郎だ。 ...みたいな文章を書きたかったけど、時間がないので手短に。小ネタ記事です。

メモ:WindowsでのRのクラッシュをgdbを使って調べる

前回はWinDbgを使ったけど、今回はうまく見れなかったのでgdbを使ってみる。 (gdbなので、Windows以外でも似たような感じでデバッグできるはず)

メモ:WindowsでのRのクラッシュをWinDbg Previewを使って解析する

原因がよくわからないけどWindowsでだけRがクラッシュする、ということがあって、地道なprintデバッグで調べた結果、問題はR本体側で起こっているということが分かった。 R本体側なのでprintデバッグを仕込めないし(Rをビルドしなおせばいいという話はある…

メモ:WindowsでR-develをビルドする方法、あるいは混沌について(2022年初頭版)

なぜわざわざタイトルに「(2022年初頭版)」とつけたかというと、今われわれは混沌のさなかにいるからです。明日はどっちだ。 めちゃくちゃややこしいことに、現時点でRtoolsはRtools40とRtools42の2種類が存在します。 そして、細かいことを言ってさらにや…

R 4.2でWindowsもUTF-8になることとその他細かい話

この記事はR Advent Calendar 2021 19日目の記事です。 R 4.2では、WindowsでもUTF-8がデフォルトの文字コードになります。まだリリースは半年くらい先ですが、いったん情報をまとめておきます。 詳細が気になる方は、こちらの公式のブログ記事もあわせてご…

フォントをアウトライン化するRパッケージstring2pathをCRANリリースしました

そういえば日本語ブログにぜんぜん書いてないことに気付いたので、いちおう。 string2pathというRパッケージをCRANリリースしました。 特筆すべき点として、このパッケージはRustを使っています。 これはextendrというフレームワークによって実現されていま…

「RパッケージでRustを使うには: extendr入門」というタイトルでTokyo.Rで発表してきました。

発表してきました。 https://tokyor92-slides-rust-and-r.vercel.app/ こっちでも見れます:

『RユーザのためのRStudio[実践]入門』の改訂2版が出ます。

『RユーザのためのRStudio[実践]入門』(通称「宇宙本」)の改訂版が出ます。 私は引き続きdplyr/tidyrの章と、追加された付録の片方(lubridateについて)を担当しています。 カバーも装い新たになったので、愛称は#宇宙船本になりました(まあ好きに呼んで…

R 4.1で入るnative pipe(|>)の現状確認

いよいよR 4.1のリリースが迫っています。native pipeって何?という方は、以前書いたこの概要をご参照ください。後述するように「第一引数以外に渡したいときは関数でラップする」のところは多少進展がありましたが、基本的な部分は同じです。

Rの32bit版WindowsのサポートはR 4.1.xまで

R

R 4.1が来月リリースされますが、リリースノートの1番上にこんなことが書かれています。 32bit版Windowsのサポートは4.1系で終了、つまり、マイナーバージョンは年に1度のペースで上がるので4.2がリリースされる次の春までで終わります。 FUTURE DIRECTIONS …

RStudio初心者がまず覚えるべきたったひとつのキーボードショートカット

まじで初心者にはこれを押していくべきではないかと思ってるんですが、意外と知名度低そうな気がしたので釣りっぽいタイトルにしてみました。すみません。 それはなにかというと、

メモ:R 4.0.4で日本語の文字列がうまく表示されない問題について

R

(免責事項: WindowsやmacOSで動作確認するのがめんどくさくてうろ覚えで書いています。間違ってたらご指摘ください) 裏Rjpwikiで言及されていて知った人も多そうですが、R 4.0.4は日本語を含むマルチバイト文字の表示にバグがあります。 具体的には、次の…

メモ:dplyr・ggplot2 で {{ }} を使う

追記(2021/03/26): 開発版では「facet_*() の場合」も動くようになりました。 こういうデータが手元にあるとします。

R 4.1で入ると噂の|>が開発版のRに入ったので触ってみた。

R

magrittr 2.0のブログ記事で仄めかされていたように、base Rに(というかRの文法レベルで)ネイティブのパイプ演算子|>が入るようです。 それがとうとう開発版のRに実装された、というツイートでTLがざわついていたので触ってみました。 #RStats community, …

メモ:lubridateでAM/PMを含む時刻をパースする時は%pじゃなくて%Opが正しそう

parse_date_time()でexact=TRUEを指定したときとしないときの挙動で悩んだのでメモ。 追記(2020/11/3): macはまた違う挙動らしいです(参考)

RでGIS系のラスタデータを扱うのにraster、stars、terraのどれを使えばいいの?問題についてのメモ

昨日、Tokyo.Rでrayshader入門というタイトルでLTしてきました。 これはその中のスライドの1枚ですが、つくりながら「ラスタデータ系のパッケージなんでこんないっぱいあるの??」と思ったので、ざっくり調べたことと感想をメモっておきます。

dplyr 1.0.0を使ってみる: across(), rename_with()

across() の紹介はググればすでに記事がいくつもあるので私が書くことはあまりないんですが、知られてなさそうな点をかいつまんで紹介します。

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, yo…

dplyr 1.0.0 を使ってみる: summarise()

dplyr 1.0.0 がリリースされてもう1ヶ月。日本語でもちらほら紹介のブログ記事やスライドが出てきています。 が、意外と summarise() の挙動変更に触れたやつないなと思って、軽く紹介します。 ちなみに、この記事で取り上げた quantile() の活用例は公式ブ…