2015-07-20 2 views
0

У меня есть столбец в следующем формате,значения времени даты Чтение из Excel в R

5/26/2015 11:45 
5/26/2015 12:00 
5/26/2015 12:15 
5/26/2015 12:30 
5/26/2015 12:45 

Когда я прочитал с помощью read.csv в R, она гласит следующее,

42155.76 
42155.77 
42155.78 
42155.79 
42155.8 

Что проблема ? Как читать в том же формате?

+0

Может вы показываете используемый код? – akrun

+0

Похоже, что значение, хранящееся в вас, CSV - это фактически числовые значения, которые признаются как даты. Excel интерпретирует даты как количество дней с 1 января 1900 года. Я предполагаю, что, пока вы видите «26/25/2015 11:45», если вы открыли файл в текстовом редакторе, вы увидите «42155.76». Как мы видим в ответе Пьера, однако, число не соответствует дате. Есть что-то еще, что мы не учитывали, и я не уверен, что это такое. – Benjamin

+0

В моем комментарии предполагается, что вы просматриваете CSV в Excel. – Benjamin

ответ

2
as.POSIXct(x*86400, origin="1900-01-01") 
[1] "2015-06-02 14:14:24 EDT" "2015-06-02 14:28:47 EDT" 
[3] "2015-06-02 14:43:12 EDT" "2015-06-02 14:57:36 EDT" 
[5] "2015-06-02 15:12:00 EDT" 

При просмотре файла в Excel или аналогичную программу он показывает вам скомпонованный и отформатированные дату, но сохраняет его внутри как дни с 1 января 1900 г. То есть то, что становится сохранен в файле CSV.

Также обратите внимание, что дата начала может отличаться от стандарта. Из R документации по ?as.Date

Большинство систем Фиксации внутренне как количество дней, прошедших с какой- происхождения, но это чревато проблемами, ... Единственная безопасная процедура , чтобы проверить другие значения системы для известных даты: отчеты об Интернет (включая R-help) чаще всего ошибочны, чем права.

И

Excel называется использовать 1900-01-01 в качестве 1-й день (Windows по умолчанию) или 1904-01-01 в день 0 (Mac по умолчанию), но это сложно Excel неправильно обрабатывает 1900 год как високосный год. Так дат (после 1901 г.) из Windows, Excel as.Date (35981, происхождения = "1899-12-30") # 1998-07-05

данных

x <- c(42155.76,42155.77,42155.78,42155.79,42155.8) 
+0

Даты, возвращаемые этим преобразованием, также отличаются от дат, полученных в исходных данных. Они уходят на целую неделю. – Benjamin

+0

@Benjamin OP может не скопировать исходные данные правильно. –

+0

Надеюсь, мы это услышим. Это различие меня насторожило. – Benjamin

Смежные вопросы