При чтении файла функция read.table
использует type.convert
для различения логических, целочисленных, числовых, комплексных или факторных столбцов и сохранения их соответствующим образом.
Я хотел бы добавить даты в смесь, чтобы столбцы, содержащие даты, могли автоматически распознаваться и анализироваться в Date
объектах. Следует распознавать только несколько форматов даты, например.
date.formats <- c("%m/%d/%Y", "%Y/%m/%d")
Вот пример:
fh <- textConnection(
"num char date-format1 date-format2 not-all-dates not-same-formats
10 a 1/1/2013 2013/01/01 2013/01/01 1/1/2013
20 b 2/1/2013 2013/02/01 a 2013/02/01
30 c 3/1/2013 NA b 3/1/2013"
)
И вывод
dat <- my.read.table(fh, header = TRUE, stringsAsFactors = FALSE,
date.formats = date.formats)
sapply(dat, class)
даст:
num => numeric
char => character
date-format1 => Date
date-format2 => Date
not-all-dates => character
not-same-formats => character # not a typo: date format must be consistent
Прежде чем я начну реализовывать его с нуля, есть ли что-то подобное уже в пакете? Или, может быть, кто-то уже взломал его (или собирается) и готов поделиться своим кодом здесь? Спасибо.
tryFormats
в?as.POSIXct
. Это хороший список форматов строк для проверки. - person geneorama   schedule 29.05.2019