potisanのプログラミングメモ

趣味のプログラマーがプログラミング関係で気になったことや調べたことをいつでも忘れられるようにメモするブログです。はてなブログ無料版なので記事の上の方はたぶん広告です。記事中にも広告挿入されるみたいです。

R&tidyverse magrittrによるextract関数の上書きに注意

tidyverseパッケージの後でmagrittrパッケージを読み込むとextract関数が上書きされます。magrittr::extract関数の仕様により、magrittrなしのつもりで呼び出してもエラーを発生しないのでかなり気づきにくいバグが生まれます。conflictedパッケージを使うか、magrittr::extractのように明記した方がよいかもしれません。

#各パッケージは適宜インストールしてください。
library(conflicted)
library(tidyverse)
library(magrittr)

extract()
#Error:
#! [conflicted] `extract` found in 2 packages.
#Either pick the one you want with `::` 
#* magrittr::extract
#* tidyr::extract
#Or declare a preference with `conflict_prefer()`
#* conflict_prefer("extract", "magrittr")
#* conflict_prefer("extract", "tidyr")
#Run `rlang::last_error()` to see where the error occurred.