dput(timedf)
structure(list(X1500m = c("0:04:13", "0:04:06", "0:03:50", "0:03:42",
NA, NA, NA, "0:03:59", NA, NA, NA, "0:03:50")), .Names = "X1500m", row.names = c(NA,
-12L), class = "data.frame")
# testing my hunch expressed above that you needed to extract from the dataframe first:
times(mean(as.numeric(times(timedf$X1500m)),na.rm=T))
Warning in convert.times(times., fmt) : NAs introduced by coercion
Warning in convert.times(times., fmt) : NAs introduced by coercion
Warning in convert.times(times., fmt) : NAs introduced by coercion
Warning in convert.times(times., fmt) :
time-of-day entries out of range in positions NA,NA,NA,NA,NA,NA set to NA
[1] 00:03:57
Boy, the times function really, really, wants you to see that you have NA's doesn't it. It does eventually get around to delivering a sensible mean.