R автоматически распознаются при чтении в CSV-файлах?

У меня есть кусок кода, который я регулярно запускаю для чтения и очистки файла a.csv. Часть процесса очистки состоит в том, чтобы идентифицировать столбцы даты и преобразовать их в правильный формат, который я выполняю с помощью функции (см. Ниже). Я установил формат даты для преобразования из "%d/%m/%Y" так как это показано в файле .csv, когда я просматриваю его в MS Excel (office 2010).

  > convert.dates function(data, datestring, excludestring=NULL, extradatecols=NULL, dateformat) { if(is.null(extradatecols)) {datecols1 <- grep(datestring, names(data), value=TRUE)} else {datecols1 <- c(grep(datestring, names(data), value=TRUE), extradatecols)} if(is.null(excludestring)) {datecols2 <- datecols1} else {datecols2 <- datecols1[-grep(excludestring, datecols1)]} data[, datecols2] = data.frame(lapply(data[, datecols2], as.Date, format=dateformat), stringsAsFactors=FALSE) data } 

Недавно я обновился до R 3.2.3 и обновил свою R Studio до версии 0.99.489.

После обновления моя функция не смогла преобразовать даты, несмотря на выбранный правильный формат (на основе того, что я мог видеть в CSV-файле). При дальнейшем осмотре read.csv преобразовал мои даты из формата "%d/%m/%Y" , который я наблюдал в файле .csv, "%Y-%m-%d" и сохранил их как фактор. Затем я смог применить мою функцию convert.dates с форматом "%Y-%m-%d" , и он сработал.

 > str(mydata$dob) Factor w/ 3069 levels "1960-01-15" "1977-05-03" "2014-01-19" NA NA ... > mydata <- convert.dates(data = gdw, datestring = "date", excludestring = NULL, extradatecols = c("dob"), dateformat = "%Y-%m-%d") > str(mydata$dob) Date[1:5000], format: "1960-01-15" "1977-05-03" "2014-01-19" NA NA ... 

Это не имеет большого значения, если это ожидаемое поведение read.csv, но я ничего не мог найти об этом в примечаниях к выпуску, поэтому просто хотел проверить – read.csv должен идентифицировать что-либо в %d/%m/%Y и конвертировать его в %Y-%m-%d при чтении или это связано с тем, что MS Excel автоматически преобразует отображение дат при просмотре CSV-файла (хотя на самом деле они фактически написанное может быть другим)? Файл CSV – это загрузка из базы данных postgres. Я не уверен, какой обычный формат дат в исходной базе данных.

Любые идеи были бы очень оценены.

    Interesting Posts

    Как использовать переменную Range в качестве аргумента подпрограммы

    Усреднение в Matlab при исключении NaN и других конкретных значений

    Копирование данных на основе условий с одного листа на другой

    Как активировать презентацию Powerpoint через Excel

    Вложенная формула IF с 4 возможными выходами

    Как определить, какой шрифт используется в функции Excel User-Defined?

    VBA, чтобы потянуть все TAB в один и включить имя TAB

    Доверительный интервал

    Как консолидировать дубликаты в Excel, где несколько столбцов должны оставаться неконсолидированными

    Пользовательская функция агрегации сводной таблицы

    Excel – использование слова, расположенного в другой ячейке, в формулу SUMIFS с использованием точного соответствия

    Скопируйте строки вставки из одной таблицы в другую: Получение времени выполнения Ошибка 9

    Excel – поиск соответствия стоимости

    Python pandas как писать данные из массива в excel

    Как импортировать данные из Excel

    Давайте будем гением компьютера.