Kyle Husmann
Kyle Husmann
Hi again! I've put together a [vignette outlining my thoughts / justifications for this approach](https://kylehusmann.com/scratch-ideas/missing_reasons.html), framed as a proposal for addition to `read_delim` in the tidyverse. (I think you're right,...
Thanks! Just updated my vignette with your suggestion. I'll make a post to readr with my vignette after the (USA) holiday to hopefully get more eyes on it. Also updated...
I mentioned this on slack, but putting here for reference: I've created a package for reading interlaced values & missing reasons that might be useful here: https://kylehusmann.com/interlacer/ Instead of appending...
It also happens with tuples as well: ``` const foo = z.tuple([z.number(), z.number()]).or(z.number()); type Foo = z.infer; // [number, number] | number const bar = z.object({ foo }); type Bar...
@akariv I appreciate your distinctions & definitions here. I think making the distinction between *logical* and *representation* values is especially salient re: value labels in categorical / ordinal types (as...
@alexander-beedie ah! I was too deep in my application to see it. yes, an `Enum` type would do it, I think. (when you say "almost", are you seeing an aspect...
@alexander-beedie Cool, glad to hear this interests you too! I think a type like this might fit into a surprising number of people's use cases... I've been noticing here and...
@lorentzenchr Good question. From the docs, it looks like DictionaryArray uses indices into a value array as keys, rather than an arbitrary key->value map. So it's closer to pl.Categorical, where...
It looks like this also affects `when` statements: ``` a = pl.DataFrame({"foo": [1, 2, 3], "bar": [None, None, None]}).with_column( pl.col("bar").cast(pl.List(pl.Utf8)) ) a.select( pl.when(pl.col("bar").is_null()) .then(["something"]) .otherwise(pl.col("bar").arr.eval(pl.element())) ) # Result: # shape:...