我正在使用lubridate-Durations来存储视频的持续时间。
如果我调用摘要(视频),我会收到以下错误:
Error in sprintf("%ds (~%s %ss)", x, x2, unit, "s)") :
invalid format '%d'; use format %f, %e, %g or %a for numeric objects
str(videos)
说:
$ DURATION :Formal class 'Duration' [package "lubridate"] with 1 slot
.. ..@ .Data: num 602 760 1027 714 720 .
有没有办法解决这个问题?使用具有相同功能的lubridate,如mean,top等。比如数值就好了。
只有大小为1250或更高的data.frame才会出现错误
答案 0 :(得分:2)
此问题已通过开发人员版本的lubridate修复。
退房:https://github.com/hadley/lubridate/commit/faf336770917f8cb624789f11bf01e12090d838f
答案 1 :(得分:1)
您的示例不可重复,这是我使用的代码。
set.seed(1)
DURATION = lubridate::dminutes(
sample(0:300, 2000, replace = T)
)
videos <- data.frame(
DURATION = DURATION
)
str(videos)
# 'data.frame': 2000 obs. of 1 variable:
# $ DURATION:Formal class 'Duration' [package "lubridate"] with 1 slot
# .. ..@ .Data: num 4740 6720 10320 16380 3600 ...
summary(videos)
# DURATION
# Min. :0s
# 1st Qu.:4320s (~1.2 hours)
# Median :8700s (~2.42 hours)
# Mean :8909s (~2.47 hours)
# 3rd Qu.:13620s (~3.78 hours)
# Max. :18000s (~5 hours)