Проблема с импортом данных о продолжительности времени из Excel в R (с графическим интерфейсом EZR)

Рву на себе волосы на этом. Мне потребовались часы, чтобы запустить и запустить rJava (потому что mac OS X el capitan не хотел хорошо играть с Java), чтобы загрузить пакеты импорта данных, специфичные для excel, и т. д. Но в конце концов это не помогло моей проблеме, и я почти в моем остроумии конец. Пожалуйста помоги.

Базовая ситуация такова:

Имейте простые данные Excel о продолжительности времени за пару лет. Итак, я импортирую два столбца: время (длительность) и год (2016, 2017 и т. д.).

В Excel данные имеют формат [ч]:мм:сс, поэтому они отображаются правильно (данные связаны с количеством часов, отработанных в месяц, поэтому обычно что-то вроде 80:хх:хх ~ 120:хх:хх). Я знаю, что в excel, несмотря на то, что ячейки отформатированы, как указано выше, и показывают только соответствующий период часов, на самом деле excel добавил (неуместную, произвольную) дату к этим данным часов. Я искал и искал и не нашел способа обойти это ограничение в том, как excel обрабатывает даты/время/длительность.

Я импортирую эти данные в R через пункт меню «импорт данных -> импорт из набора данных Excel» в графическом интерфейсе R Commander, а не через консоль.

Однако при импорте данных в R данные отображаются как одно число, например. ок. 110 часов преобразуется в 4.xxxxx, а не как чч:мм:сс. Таким образом, при выполнении анализа и создании графиков и т. д. вместо фактических (значимых) отображаемых данных типа 110:xx:xx отображается совершенно бессмысленное 4.xxxxxx.

Если я изменю форматирование ячеек Excel, чтобы отображать дату и время, а не использовать форматирование ячейки [h]:mm:ss, R ошибочно интерпретирует данные как что-то столь же бесполезное, например 1901/02/04 05: 23 утра

Я установил и загрузил различные пакеты, такие как xlsx, XLConnect, lubridate и т. д., но это не повлияло на то, как R интерпретирует данные excel при импорте, по крайней мере, из графического интерфейса.

Пожалуйста, скажите мне, как мне

а) отредактируйте необработанные данные в формате, который R будет понимать как продолжительность времени (и ничего, кроме продолжительности времени) в формате чч: мм: сс, или

б) отформатировать текущие данные из R после импорта, чтобы он отображал данные правильным образом, а не бесполезным числом или произвольной датой/временем?

[Обратите внимание: я могу использовать консоль, когда нужно выполнить команды и т. д. Но мне нужно найти решение, которое в конечном итоге позволит импортировать данные и/или манипулировать ими из графического интерфейса, а не путем ввода набора команд в консоль, поскольку конечный пользователь (не я) не имеет никаких способностей к программированию и не может используйте консоль и всегда будете использовать R только через графический интерфейс.]


person AngKen    schedule 14.05.2018    source источник


Ответы (1)


Ваш код импортирует данные из excel в виде секунд?

library(lubridate)
duration <- lubridate::as.duration(400000)
as.numeric(duration, "hours")

111.1111

as.numeric(duration, "days")

4.62963

seconds_to_period(400000)

"4d 15H 6M 40S"

person Graeme    schedule 14.05.2018
comment
Кажется, он должен импортировать его как дни, так как все данные в столбце часов находятся в диапазоне 3.x ~ 4.x. - person AngKen; 15.05.2018