# Creating an AbstractDataFrame subtype

**URL:** <https://discourse.julialang.org/t/creating-an-abstractdataframe-subtype/36451>\
**Category:** General Usage\
**Tags:** question\
**Created:** [March 24, 2020, 2:37pm UTC](https://discourse.julialang.org/t/creating-an-abstractdataframe-subtype/36451 "2020-03-24T14:37:22Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![DrPapa](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/drpapa/32/6835_2.png) [@DrPapa](https://discourse.julialang.org/u/DrPapa)\
**Post date:** [March 24, 2020, 5:09pm UTC](https://discourse.julialang.org/t/creating-an-abstractdataframe-subtype/36451/5 "2020-03-24T17:09:32Z")

</div>

> [@pdeffebach](#):
>
> What are you trying to accomplish here?

This is a great question. I will admit that I took a little bit of random walk to get here, so a coarse correction may be in order. I am writing this for a specific internal application. So, I don’t actually _need_ to implement the entire DataFrame interface.

Maybe its best to explain my path here. I have data stored in CSV files from various tests that I load into a DataFrame. I want to be able to dispatch on this particular data for various plotting recipes so I made a struct like:

```julia
struct DFWrapper
    df::DataFrame
    other
    stuff
end

```

where `other` and `stuff` are common meta data for test data, e.g. test date/time…

I would also like the ability to query and filter `DFWrapper.df` with tools like Query.jl and DataFramesMeta.jl. That led me to [this](https://discourse.julialang.org/t/creating-custom-dataframe-types/4992). I thought “that sounds easy enough”… and here I am. At this point, I don’t think its worth doing this for the project at hand given the feedback.

I am open all ears on better ideas. In essence, I want something that stores a DataFrame, acts like a DataFrame, but that I can also dispatch on.

---

_[View the full topic](https://discourse.julialang.org/t/creating-an-abstractdataframe-subtype/36451)._
