2 ms·
In R, NA (which is almost, but not quite like NaN) actually has separate types for each result, so you can have NA_boolean, NA_integer etc. Its super confusing.
by disgruntledphd2 1y ago
In R, NA (which is almost, but not quite like NaN) actually has separate types for each result, so you can have NA_boolean, NA_integer etc. Its super confusing.
- getnormality 1y agoIt is a minor nuisance, but I think there's ultimately a pretty good reason for it. Old-school base R is less type-sensitive and more "do what I mean", but that leads to slowness and bugs. Now we have the tidyverse, which among many other things provides a new generation of much faster functions with vectorized C implementations under the hood, but this requires them to be more rigid and type-sensitive. When I want to stick a NA into one of these, I often have to give it the right type of NA, or it'll default to NA_boolean and I'll get type errors.
- disgruntledphd2 1y ago> When I want to stick a NA into one of these, I often have to give it the right type of NA, or it'll default to NA_boolean and I'll get type errors. Yeah, I know. I hit this when I was building S4 classes, which are similarly type-strict. Again, I think this was the right decision (pandas's decision was definitely not), but it was pretty confusing the first time.