DataTables.jl icon indicating copy to clipboard operation
DataTables.jl copied to clipboard

Rework completecases and nonunique

Open cjprybol opened this issue 8 years ago • 2 comments

Implements the suggestions made in https://github.com/JuliaData/DataTables.jl/issues/38#issuecomment-288556269.

cjprybol avatar Mar 23 '17 02:03 cjprybol

Looks like this needs a rebase.

quinnj avatar May 18 '17 02:05 quinnj

I think the consensus in #38 was that this shouldn't be merged in this form. This implements the methods as

function(::DataTable, dimension::Int(1 for rows or 2 for columns))

but there are already functions that have the form

function(::DataTable, column(s)::Symbol or Vector{Symbol})

where the second positional argument refers to a subset of columns to evaluate against, and we're adding another instance of that style in https://github.com/JuliaData/DataTables.jl/pull/39. The functions that only check a subset of columns with the form of

function(::DataTable, column(s)::Symbol or Vector{Symbol})

could be extended to

function(::DataTable, column(s)::Symbol or Vector{Symbol} or Int or Vector{Int} or Vector{Bool})

which will allow some additional flexibility for users on how they want to refer to columns. That conflicts with the proposed changes here.

I'd like to re-write this to accept an optional dimension specification (dim = 1, :r, or :rows for rows, dim = 2, :c, :cols, or :columns for columns, and dim = (1, 2), :b, or :both for rows and columns) as a keyword argument, with the default being to only check rows as is currently hardcoded into several functions.

cjprybol avatar May 18 '17 05:05 cjprybol