Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upconfusing POSIXlt warning #2068
Comments
|
See
Maybe I'm not understanding what you expect? |
|
Hey @MichaelChirico thanks for your response. I am aware that strptime returns POSIXlt, but I thought that it was strange that data.table warns about "column type" even when the strptime neither uses nor assigns to a column. for example |
|
Why not just
Though this is somewhat in contradiction to
Which doesn't throw the warning:
Though I think in the longer term the plan is to move all of these helper functions to C, perhaps by proxy by moving |
|
on a related note, in the old version of data.table (before the strptime helper function) I was using DT[, date := as.POSIXct(strptime(chr, format))]and now we can use DT[, date := strptime(chr, format)]but it always raises that warning so to avoid it I am always writing DT[, date := suppressWarnings(strptime(chr, format))]which is kind of annoying... I wonder if you would consider just removing the warning altogether? Another way to explain the issue is the following. I expect that the return value of strptime should stay POSIXlt when I am using it like this data.table(X=1)[, {
lots of code
doing lots of things
some.intermediate.variable.which.I.expect.is.POSIXlt <- strptime(chr, format)
return something else
}]but I expected that ANY POSIXlt (not just the ones that come from strptime) should be converted to POSIXct for assignment to a data.table column via DT[, date.POSIXct := someFunctionThatReturnsPOSIXlt()] |
|
When Definitely need to keep the warning. |
|
ok well don't worry about it then, it's not a big deal |
|
I get the same warning for this line of code (R 3.5.2, data.table 1.12.0): |
|
OK so what's happening is that the evaluation environment of Lines 1151 to 1154 in a8e926a From there, it doesn't discriminate on whether Note that AFAIK |
Hey guys thanks for all your hard work making data.table great!
Can you please clarify the warning that is issued when
strptimeis used inside of the second argument of[.data.table? Right now it says "POSIXlt column type detected and converted to POSIXct" even in cases whenstrptimedoes not operate on columns at all.For example this is a MRE which is potentially confusing:
I'm not sure there should be a warning at all in this case.