Время форматирования в POSIXCT, нужно десятичное время - PullRequest
0 голосов
/ 26 марта 2019

Я работаю с большим набором данных, который содержит дату и время в виде отдельных столбцов в исходном файле Excel. В этот момент я очень тщательно очистил свои данные, и столбец «Время» содержит только время в формате ЧЧ: ММ с использованием 24-часовых часов. Когда я импортирую это в R, столбец Date становится идеальным объектом POSIXct, с которым я могу читать и работать. Столбец Время, однако, прикрепляет бессмысленную дату к каждому времени, которое не имеет ничего общего с фактической датой, когда были проведены измерения. То, что мне нужно, - это иметь возможность иметь времена как отдельные объекты времени, а не как строку символов. Таким образом, я смогу использовать время в графиках и сделать его понятным для людей!

Я попытался импортировать столбец времени как.numeric, который дает мне десятичное значение процента дня, который представляет время. Несмотря на то, что эти цифры легко составить график, мой советник говорит, что большинство людей не будут знать, что это значит, поэтому мне нужно иметь возможность составить график, который можно легко понять.

Я также попытался импортировать столбец времени как POSIXct, а затем отформатировать его "% H% M". Это, однако, выводит строку символов, которая совершенно бессмысленна при построении графика. Хотя это легко понять в реальной таблице данных, когда я пытаюсь построить график по времени, ось X становится серой полосой времени в кавычках, написанных друг над другом.

Исследования, которые я провел по этому вопросу, показывают, что "% H" должен выводить десятичные часы, а "% M" должен выводить десятичные минуты. Почему он продолжает выводиться как символьная строка, когда я пытаюсь отформатировать объект POSIXct?

Вот так я смог прочитать мой столбец времени и фактическое время, которое кто-то мог распознать, но он по-прежнему выводит нечитаемые символы:

my_data[, time_clean:= format(as.POSIXct(OriginalTimeColumn) ,format = "%H:%M") ]

Таким образом, мой столбец времени стал графическим, но он читается как десятичное число, которое нелегко распознать:

my_data[, time_clean:=as.numeric(OriginalTimeColumn)]

Мне нужно легко узнаваемое время, НЕ как строка символов, чтобы я мог строить графики с ним. Что мне здесь не хватает?

...