R Извлечь время из отметки времени, затем сохранить как новый столбец. - PullRequest
0 голосов
/ 04 января 2019

Пожалуйста, кто-нибудь может посоветовать, где я иду не так. У меня есть код ниже, чтобы извлечь часы, минуты и секунды. Не работает Я получаю сообщение об ошибке:

Ошибка в UseMethod ("mutate_"): нет подходящего метода для 'mutate_' применяется к объекту класса "функция"

lubridate::ymd_hms(as.character(d1$timestamp, tz = "UTC"))

df %>% mutate(hours=hour(strptime(d1$timestamp, %H:%M')) %>% 
as.character() )

Ответы [ 2 ]

0 голосов
/ 04 января 2019

Может быть, это может помочь:

# some fake data
df <- data.frame(a = 1, timestamp = '2018-11-11 12:13:14')

# convert as data
library(lubridate)
df$timestamp <- ymd_hms(as.character(df$timestamp, tz = "UTC"))

# add the hour:minutes column
library(dplyr)
df %>% mutate(hour_ = format(df$timestamp,'%H:%M'))
  a           timestamp hour_
1 1 2018-11-11 12:13:14 12:13

Или только в одной dplyr цепочке:

df %>%
 mutate(hour_ = format(ymd_hms(as.character(df$timestamp, tz = "UTC")),'%H:%M'))
0 голосов
/ 04 января 2019

Я бы проверил (попробуйте эту функцию ), действительно ли пакет, использующий эту функцию, загружен - и в правильном порядке.
Если вы звоните mutate из dplyr, попробуйте dplyr::mutate вместо mutate. Если это работает, возможно, вам придется проверить, загружена ли после dplyr аналогичная именованная функция из другого пакета, и изменить порядок их загрузки, если это подходящий вариант.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...