pdeffebach
pdeffebach
Thanks. Indeed I implemented all the methods. I even re-implemented the ones that are default by `Tables.AbstractRow`. `getproperty`, `getindex`, `iterate`, `haskey`, includeing `Tables.getcolumn` etc. along with coversions to `NamedTuple`
On top of that, there are times when we are given an object and we need to decide if it is a "row" or it is a "table". So it...
I wrote a package that solves this problem with meta-programming. It's called [AddToField](https://github.com/pdeffebach/AddToField.jl/). ``` using DataFrames, PrettyTables, Chain julia> df = DataFrame( group = repeat(1:2, 50), income_reported = rand(100), income_imputed...
It's a general tool that has no external dependencies apart from MacroTools. It makes it really easy to create NamedTuples in general so making it in DataFramesMeta would be too...
Sorry to close and re-open. I was going to make a comment but then decided not to. Accidentally closed it after. However making `ByRow` outputs require conforming to the row...
Not pressing. Unless we see reports of users making hundreds or thousands of new columns from a `ByRow(f) => AsTable` operation.
Something like ``` function wrapper(fun, x, y) sx, sy = Missings.skipmissings(x, y) # need to be on Missings master sub_out = fun(sx, sy) full_out = Vector{Union{eltype(sub_out), Missing}}(missing, length(x)) full_out[eachindex(sx)] .=...
I just looked over the `select` and `transform` code. Thanks to @bkamins's hard work, this would actually not be too hard to implement. It would require more `if` statements for...
> Ah - OK, so then `combine` and `select` would be significantly different indeed. I think `collect(skipmissing(x))` was meant to be an approximation. The `skipmissing` part of both functions should...
> Having `skipmissing` argument for e.g. `transform` would not require this wrapping/unwrappng, and you would just write: > > ``` > @pipe df |> |> transform(_, :x => abs, skipmissing=true)...