I try to use tidyjs to complete a date sequence and it correctly fills in the missing data (yay!), but I end up overwriting the rest of the data (boo!)
Do you have a good idea (in tidyjs or otherwise) for filling in missing date data while retaining the existing data values?
1 Like
That’s odd, as doing it long hand with expand, leftJoin also fails the Close
I guess loDash could fix it
{
let td = T.tidy(
aaplMissing,
T.select(["Date", "Close"]),
T.complete({Date: T.fullSeqDate('Date', 'day', 1)}, {Close: 0})
)
return td.map( (d) => {
let where = _.findIndex(aaplMissing, {Date: d.Date} )
return {Date:d.Date, Close: (where == -1)?0:aaplMissing[where].Close}
})
}
Yeap, ugly code
Cool that works, but I agree it’s annoying that it is a little unruly, having to go back and match up against the indices of the original data. Surprised that the tidyjs method can’t handle it (at least how I approached it).
I’m coming from R, so tidyjs was approachable, bu I wonder if anyone has experience doing this sort of thing in Arquero.
1 Like
I think it is a bug in tidyJS as all the docs say it should work as advertised.
Arquero might do it but I have not used it.
I’ll see if I can submit an issue about tidyjs. Thanks for your help!
1 Like