Як відняти години від часу в 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