Як відняти години від часу в r (з прикладами)


Ви можете скористатися будь-яким із наведених нижче методів, щоб відняти певну кількість годин із години в R:

Спосіб 1: Використовуйте Base R

 #create new column that subtracts 4 hours from time
df$subtract4 <- df$time - ( 4 * 3600 )

Спосіб 2: Використовуйте пакет Lubridate

 library (lubridate)

#create new column that subtracts 4 hours from time
df$subtract4 <- df$time - hours( 4 )

У наведених нижче прикладах показано, як використовувати кожен метод із таким кадром даних:

 #create data frame
df <- data. frame (time=as. POSIXct (c('2022-01-03 08:04:15', '2022-01-05 14:04:15',
                                   '2022-01-05 20:03:53', '2022-01-06 03:29:13',
                                   '2022-01-06 06:15:00', '2022-01-07 10:48:11'),
                                   format='%Y-%m-%d %H:%M:%OS'),
                 sales=c(130, 98, 240, 244, 174, 193))

#view data frame
df

                 time sales
1 2022-01-03 08:04:15 130
2 2022-01-05 14:04:15 98
3 2022-01-05 20:03:53 240
4 2022-01-06 03:29:13 244
5 2022-01-06 06:15:00 174
6 2022-01-07 10:48:11 193

Примітка . Щоб додати час до дати, просто замініть знак віднімання знаком додавання в одній із наведених вище формул.

Приклад 1: віднімання годин із часу за основою R

Наступний код показує, як створити новий стовпець під назвою subtract4 , який віднімає чотири рази від кожного значення в стовпці часу :

 #create new column that subtracts 4 hours from time
df$subtract4 <- df$time - ( 4 * 3600 )

#view updated data frame
df

                 time sales subtract4
1 2022-01-03 08:04:15 130 2022-01-03 04:04:15
2 2022-01-05 14:04:15 98 2022-01-05 10:04:15
3 2022-01-05 20:03:53 240 2022-01-05 16:03:53
4 2022-01-06 03:29:13 244 2022-01-05 23:29:13
5 2022-01-06 06:15:00 174 2022-01-06 02:15:00
6 2022-01-07 10:48:11 193 2022-01-07 06:48:11

Зверніть увагу, що значення в новому стовпці subtract4 дорівнюють значенням у стовпці часу з відніманням чотирьох годин.

Примітка . Ми використовуємо (4*3600) у формулі, оскільки значення часу зберігаються як секунди в R. Оскільки в годині 3600 секунд, нам потрібно помножити 4 на 3600, щоб відняти 4 години.

Приклад 2: відніміть години від часу за допомогою пакета Lubridate

У наступному коді показано, як використовувати функцію hours() пакета lubridate для створення нового стовпця під назвою subtract4 , який віднімає чотири години від кожного значення в стовпці часу :

 library (lubridate)

#create new column that subtracts 4 hours from time
df$subtract4 <- df$time - hours( 4 )

#view updated data frame
df

                 time sales subtract4
1 2022-01-03 08:04:15 130 2022-01-03 04:04:15
2 2022-01-05 14:04:15 98 2022-01-05 10:04:15
3 2022-01-05 20:03:53 240 2022-01-05 16:03:53
4 2022-01-06 03:29:13 244 2022-01-05 23:29:13
5 2022-01-06 06:15:00 174 2022-01-06 02:15:00
6 2022-01-07 10:48:11 193 2022-01-07 06:48:11

Зверніть увагу, що значення в новому стовпці subtract4 дорівнюють значенням у стовпці часу з відніманням чотирьох годин.

Зауважте, що цей метод дає ті самі результати, що й базовий метод R.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як перетворити дату на числову в R
Як витягти місяць із дати в R
Як додавати та віднімати місяці до дати в R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *