请有人能告诉我我要去哪里错了。我有下面的代码来提取小时,分钟和秒。没用我收到错误消息:
UseMethod(“ mutate_”)中的错误:没有适用于'mutate_'的方法 应用于“功能”类的对象
lubridate::ymd_hms(as.character(d1$timestamp, tz = "UTC"))
df %>% mutate(hours=hour(strptime(d1$timestamp, %H:%M')) %>%
as.character() )
答案 0 :(得分:0)
我会检查(尝试使用function)是否已正确加载了使用该功能的软件包-并以正确的顺序进行。
如果您是从dplyr呼叫mutate
,请尝试dplyr::mutate
而不是mutate
。如果那行得通,那可能仅仅是您必须检查dplyr之后是否从另一个软件包中加载了类似的命名函数,并在合适的情况下更改了加载它们的顺序。
答案 1 :(得分:0)
也许这可以帮助您
# 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'))