Martin Maechler <maech...@stat.math.ethz.ch> writes: >>>>>> Loris Bennett <loris.benn...@fu-berlin.de> >>>>>> on Mon, 8 Aug 2016 14:12:47 +0200 writes: > > > Loris Bennett <loris.benn...@fu-berlin.de> writes: > >> Thanks for the link, John. However, there is a hyphen missing. It > >> should be: > >> > >> > http://www.dummies.com/how-to/content/how-to-read-errors-and-warnings-in-r.html > >> > >> Appropriately, with the correct URL we find the too often forgotten > >> pearl of wisdom: > >> > >> "Chances are, you just typed something wrong there." > >> > >> I think I need this on my coffee cup. > >> > >> Cheers, > >> > >> Loris > > > Continuing the topic for my future self and others equally poorly versed > > in The Art and Dark Science of Interpreting R Error Messages, if I have > > the following in the file "my_data" > > > 1094165 2016-07-24T09:40:02 13-23:03:28 1 COMPLETED > > 1112076 2016-08-01T14:45:49 6-13:26:15 1 COMPLETED > > > and do > > >> d <- read.table("my_data") > >> colnames(d) <- c("jobid","start","elapsed","alloccpus","state") > >> df <- transform(d,start = > as.POSIXct(start,format="%Y-%m-%dT%H:%M:%S"),elapsed = > as.difftime(elapsed,format="%d-%H:%M:%S")) > > > I get the following: > > > Error in as.difftime(elapsed, format = "%d-%H:%M:%S") : > > 'tim' is not character or numeric > > Well, let me argue that you should have found this to be a *helpful* > error message. You are no complete beginner anymore, right, > so > > 1) the error is in your use of as.difftime(). > > 2) ?as.difftime or str(difftime) > both clearly indicate that 'tim' is the first argument of as.difftime, > > and I really do wonder why you continued with the infamous > "trial-and-error programming technique" instead of reading or at > least quickly browsing the relevant reference, i.e., help page > > Martin
My apologies, you are absolutely right - I see the error of my ways. The only feeble defence I can mount is that the usage example from ?as.difftime as.difftime(tim, format = "%X", units = "auto") superficially disguises the fact that the first argument is also a named argument with the name 'tim'. I think I had assumed that the initial argument were always positional, e.g. as for paste0 paste0(..., collapse = NULL) However, I now realise that '...' also generates named arguments, e.g. paste0(..1='a',..2='b') So as a non-beginner but infrequent R user, in future I shall try use the explicit form more often, e.g. as.difftime(tim = "4-03:02:01", format = "%d-%H:%M:%S") to remind myself what I am doing. So fortune(350) really is true. I just didn't believe enough to read enough. Loris -- Dr. Loris Bennett (Mr.) ZEDAT, Freie Universität Berlin Email loris.benn...@fu-berlin.de ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.