0

日付が年なしで指定されているデータ ファイルがあります。

01/05   Fellowship enters Moria
01/09   Fellowship reaches Lorien
01/17   Passing of Gandalf
02/07   Fellowship leaves Lorien
02/17   Death of Boromir

こんな風に読んでみる

lotr <- read_tsv(lotr_file,
                 skip = 9,
                 col_names = c("date", "event"),
                 col_types = cols(
                    date = col_date(format = "%m/%d"),
                    event = col_character()))

しかし、readr の日付パーサーは、年がないと日付を解析できないようです。一方、lubridate は次のような日付を処理できます。

> parse_date_time("12-15", "%m-%d")
[1] "0000-12-15 UTC"

readr がそのような日付を読み取ったり、lubridate を使用したりできる方法はありますか?

readr がそのような「日付」または通年の日付を処理できない場合、次のように dplyr を使用します。

lotr <- read_tsv(lotr_file,
                 skip = 9,
                 n_max = 37,
                 col_names = c("day_of_year", "event"),
                 col_types = cols(
                   day_of_year = col_character(),
                   event = col_character())) %>% 
   mutate(date = parse_date(paste0("2016/",day_of_year))) %>% 
   select(date, event)
4

1 に答える 1