Closed Hirototensho closed 1 year ago
お世話になっております。私の方で調べてみたところ、 convert-jyear-legacy.R
にある split_ymd_elements ()
の定義で、convert_jyear_impl1()
の戻り値を purrr::modify_at()
を通して文字ベクトルへ代入する際にエラーが出ているようです。Tidyverse: purrr 1.0.0 Tidyverse consistencyに記載のある型変換ルールの変更が原因ではないかと思います。素人考えですが convert-jyear-legacy.R
の80行目で使用されている purrr::modify_at()
に as.character()
を追加していただくと上手くいくのではないかと思います。
split_ymd_elements <- function(x) {
x %>%
purrr::map(
function(.x) {
if (is.na(.x)) {
NA_real_
} else {
.x %>%
stringi::stri_trans_general(id = "nfkc") %>%
stringr::str_split("(\u5e74|\u6708|\u65e5)|(\\.)|(\\-)|(\\/)",
simplify = TRUE) %>%
purrr::keep(~ nchar(.) > 0) %>%
# 代入先の型に合わせるため、as.character() を追加
purrr::modify_at(1,
~ as.character(convert_jyear_impl1(.x))) %>%
purrr::map(as.integer) %>%
purrr::set_names(c("year", "month", "day"))
}
}
) %>%
purrr::flatten()
}
@Hirototensho ご報告ありがとうございます。該当箇所の修正を行いました!
はじめまして、いつも有り難く使わせていただいています。
tidyverse
のアップデート以降convert_jdate()
でlegacy = TRUE
とすと次のようなエラーメッセージが出るようになってしまっています。